Rangi
6f64fd00f6
Fix CI testing of installing RGBDS on Cygwin ( #2038 )
...
We need to pass `-e` to Cygwin `bash` explicitly, since specifying
it as the non-default `shell:` no longer automatically adds `-e`
behavior to `run` blocks.
We also need to install to `/usr/bin` (which `cygwin-install-action`
automatically adds to the `PATH`), not `/usr/local/bin` (which is not
in the default `PATH`). This tests our `PREFIX`/`--prefix` handling.
2026-07-31 10:25:59 -04:00
Rangi
4384223951
CI testing in Cygwin 64-bit now uses CMake and runs external tests ( #2037 )
2026-07-30 12:59:53 -04:00
Rangi
4e87f61656
Edit some comments and formatting in testing.yml for consistency
2026-07-29 22:08:21 -04:00
Rangi
9d854114ea
Use Ninja as the generator for CMake on FreeBSD
2026-07-30 02:33:47 +02:00
Rangi
70d8d67ffc
Run external tests for FreeBSD ( #2035 )
...
This requires aliasing `make` to `gmake` and `python` to `python3`
2026-07-29 19:45:07 -04:00
Eldred Habert
3b1606c63c
Fix typo'd APT option in release workflow
...
Fixing up bcff14b596
2026-07-20 21:53:43 +02:00
Rangi
ca2de0f429
Add issue template
2026-07-14 10:34:43 -04:00
Rangi
4350a3252d
Upgrade FreeBSD testing from 14.3 to 15.1
2026-07-10 23:14:39 -04:00
Rangi
00006a9d00
Use set -u too
2026-07-10 23:12:49 -04:00
Rangi
a383bec96e
Rename install_deps.sh to install-deps.sh for consistency
2026-07-10 23:12:49 -04:00
Rangi
226031c18b
Use #!/usr/bin/env bash, not #!/bin/bash
2026-07-10 23:12:49 -04:00
Rangi
24a896f60a
Move CI-only check-diff script to .github/
2026-07-10 23:12:49 -04:00
Rangi
a6f5e3efd1
Move CI-only check-format script to .github/
2026-07-10 23:12:49 -04:00
Rangi
c02b234bb1
Add CI job to check syntax of contrib scripts
...
Note that `zsh` is not installed in `ubuntu-slim` by default.
2026-07-10 23:12:49 -04:00
Rangi
9008d8391c
Consistently use sudo apt install -Uyq in workflows (two other cases)
2026-07-07 02:57:48 -04:00
ISSOtm
3eb8c7e8f2
Let tests know they are being run under Cygwin
2026-07-05 20:58:50 -04:00
Rangi
189c679e13
Parallelize build jobs according to CPU count
2026-07-05 20:58:50 -04:00
Rangi
5d5000011a
Remove CMAKE_INSTALL_PARALLEL_LEVEL
...
This value "has no impact unless `INSTALL_PARALLEL` is enabled",
and since our install procedure is so simple, I don't think we need
to add that. (The `make install` commands don't use `-j` either.)
2026-07-05 20:58:50 -04:00
ISSOtm
b12eac356e
Try to automatically determine the test OS name
2026-07-02 10:39:59 -04:00
ISSOtm
04b9c7fa3d
Move external tests files to tests/external/
2026-07-02 10:39:59 -04:00
Rangi
250a94c588
Tell Dependabot to ignore minor and patch releases ( #2001 )
...
We specify major-only versions, e.g. `actions/checkout@v7`,
which automatically uses the latest minor+patch of that release.
2026-07-02 13:55:16 +02:00
37818a1847
Updates actions/checkout from 6 to 7 ( #1999 )
...
---------
Signed-off-by: dependabot[bot] <[email protected] >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Rangi <[email protected] >
2026-07-01 23:06:12 -04:00
Rangi
0e3d1df129
Generate install.sh with make -n install ( #1996 )
2026-06-30 21:28:45 +02:00
Rangi
b252877b05
Comment why we use Ninja as the generator for CMake
2026-06-28 17:38:50 -04:00
Rangi
22a3625144
Explicitly test installation with Make and CMake ( #1992 )
2026-06-28 17:31:24 -04:00
Eldred Habert and Rangi
6cba5518e9
Install Pillow together with the rest of our CI deps ( #1952 )
...
We shouldn't assume how the user wants to install things.
In particular, `--break-system-packages` is egregious.
---------
Co-authored-by: Rangi <[email protected] >
2026-06-28 13:06:40 -04:00
Rangi
728bed39d5
Do not support GCC 9 ( #1978 )
...
This will let us use C++20 features that GCC 9's experimental
C++20 support did not yet cover, such as "concepts".
This reverts some commits:
- 6bcd79b997
- d5ce5329ea
- 728d14879b
2026-05-22 16:46:46 -04:00
Eldred Habert
1871b0a0b8
Use Windows git for checkout's post-job cleanup, not Cygwin's git ( #1953 )
...
This fixes an error from using Cygwin's git in checkout's post-job cleanup
2026-05-21 15:25:29 -04:00
ISSOtm
37d39f91f6
Build using GCC 9 in CI
...
Checking that we don't regress this later.
Ubuntu doesn't package GCC 8, and we don't support it either,
so that is a good compromise for now.
2026-04-26 23:30:59 +02:00
ISSOtm
decc5f7153
Let parallelism be determined automatically
...
Ninja is parallel by default;
however, it is not used on FreeBSD, so we still have to specify it there.
2026-04-20 15:32:54 +02:00
ISSOtm
a3c953ea46
Pass C++ compiler to CMake via env var
...
This is a little terser
2026-04-20 15:32:54 +02:00
ISSOtm
d43049c84d
Imply CMake source dir
...
Shortening our command lines slightly
2026-04-20 15:32:54 +02:00
ISSOtm
b6ff54acc3
Avoid libpng compilation on Windows spamming the Microsoft banner
2026-04-20 15:32:54 +02:00
ISSOtm
71fc449452
Use Ninja on Unix platforms
...
It has nicer UX, only showing full command lines when they fail.
It could also be slightly faster, though I've seen no measurable improvement.
2026-04-20 15:32:54 +02:00
ISSOtm
2502d130eb
Use Ninja on Windows
...
MSBuild is slow, and its output is hard to parse visually
(it's all interwoven, like Make without `--output-sync`).
Since we use CMake anyway, we don't care about the build system.
2026-04-20 15:32:54 +02:00
ISSOtm
a78a268cb4
Pass convenience options to Make invoked via CMake
...
Can't pass them to plain Make invocations,
because we try to be compatible with macOS' old Make.
2026-04-20 15:32:54 +02:00
Eldred Habert
6edac50cc4
Target an even older version of Mac OS X
...
We can, so let's not ask if we should!
More realistically, we can right now so it's nice to mark that we do, but this is subject to be re-evaluated if any later changes conflicts with this.
Note also that this only affects the binaries we distribute with our releases!
It may very well be possible to compile RGBDS on even older versions of Mac OS X if you have the appropriate compiler setup;
we're just not testing it nor offering such binaries ourselves, but third-party packagers are welcome to do so.
(Looking at you, TigerBrew! ;)
2026-04-20 14:33:59 +02:00
Rangi
ac2a022124
Set the Cygwin shell once as a default for its job
2026-04-15 23:54:12 -04:00
Rangi
1249c4ef58
Revert "Set up Cygwin before cloning our repo"
...
This reverts commit aeedfb35a6 .
2026-04-15 21:53:29 -04:00
ISSOtm
aeedfb35a6
Set up Cygwin before cloning our repo
...
Otherwise different Gits set up and tear down the repo,
leading to issues.
2026-04-16 03:16:56 +02:00
ISSOtm
63609871f4
Cache downloaded dependencies for MinGW build also
...
Forgot about you!
2026-04-16 02:56:14 +02:00
ISSOtm
393eaa9dc1
Fix a Fix typo ;)
2026-04-16 02:54:40 +02:00
Rangi
b3c3981a90
Use a separate CI step to install clang-format before running it
...
Also use short `-Yqu` flags like our other invocations
2026-04-15 20:12:48 -04:00
ISSOtm
185a5c5369
Add necessary flags to apt install for checkformat
2026-04-16 01:58:42 +02:00
ISSOtm
4ea15ed85a
Touch up checkformat.bash
...
The logic can be slightly simplified,
and the script doesn't require Bash after all.
2026-04-16 01:05:03 +02:00
ISSOtm
b218fd65a0
Install clang-format on ubuntu-slim runner
...
Unlike the “fat” runners, that's not installed by default.
Why that causes `find` to nonetheless exit normally, I have no idea.
2026-04-16 01:02:30 +02:00
ISSOtm
a802bcb320
Switch MinGW building to CMake
...
Automatically grabs and compiles libpng, and avoids having hacky lines in our Makefile
(the compiler specification *should* be orthogonal to the build target!)
Also move the MinGW package install to the `install_deps.sh` script,
to move logic off of the YAML.
2026-04-16 00:57:33 +02:00
ISSOtm
846aa975f1
Stop trying to install md5sha1sum
...
macOS already provides it and Homebrew doesn't override it,
so that's a no-op anyway.
2026-04-16 00:25:58 +02:00
ISSOtm
b65649ca73
Tidy up system info
2026-04-16 00:25:58 +02:00
ISSOtm
62ddabb570
Avoid hardcoding Brew's prefix
2026-04-16 00:25:58 +02:00