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
81edc27b6e
Fix two warnings on MinGW
2026-04-16 00:57:33 +02:00
ISSOtm
dc52487d31
Make -Wformat non-fatal on MinGW
...
See the comment for a rationale.
2026-04-16 00:57:33 +02:00
ISSOtm
6b994b1737
Fix some warnings raised by MSVC
2026-04-16 00:57:33 +02:00
ISSOtm
0849eb801e
Decouple -Werror from MORE_WARNINGS
2026-04-16 00:57:33 +02:00
ISSOtm
e6916360f4
Set some flags only for our own code
2026-04-16 00:57:33 +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
ISSOtm
d48d6fe5d9
Bump our macOS CI runners
2026-04-16 00:25:58 +02:00
Eldred Habert
ac0f93ffda
Delete GCC static analyzer workflow ( #1950 )
...
As for GCC 15, it is stated not to be suitable for C++ code,
and we have gotten annoyingly many false positives out of it,
so let's just disable it (as per
https://github.com/gbdev/rgbds/pull/1950#issuecomment-4243959126 ).
2026-04-14 22:04:20 +02:00
ISSOtm
a1712cb6d9
Run patch format check on ubuntu-slim
2026-04-14 22:03:29 +02:00
Eldred Habert
2968bee86f
Run macos-static tests using CTest ( #1947 )
...
We can, so why not? It has benefits.
2026-04-14 01:25:47 +02:00
ISSOtm
dec7a74166
Fix macOS static build
...
- Turns out the variable wasn't being set, and thus the flags weren't being passed
- Passing the flags via those variables is basically a bad idea, and it
turns out to break libpng's config script
- The flags need to be passed during link as well, otherwise the binary
isn't linked as a fat one
2026-04-14 00:01:14 +02:00
Eldred Habert
9c4e53d1c4
Transition CI from pkg-config to pkgconf ( #1942 )
...
Upstream has changed the providing implementation,
so that package will eventually be removed.
2026-04-13 19:46:05 +02:00
Eldred Habert
463edc3c01
Enable color output in our Linux and macOS CI tests ( #1939 )
...
Co-authored-by: Rangi <sylvie.oukaour+rangi42@gmail.com >
2026-04-13 19:31:01 +02:00
Rangi
73941c3249
Add .git-blame-ignore-revs as a blame.ignoreRevsFile
2026-04-13 13:26:29 -04:00
Rangi42
7596ae67b5
Fix internal link to docs/CONTRIBUTING.md
2026-04-13 02:34:46 -04:00
Rangi
fc08ab6aee
Print a GitHub Actions error annotation if install_deps.sh fails
...
See https://docs.github.com/en/actions/reference/workflows-and-actions/workflow-commands#setting-an-error-message
2026-04-13 02:04:56 -04:00
Rangi
c7663423d6
Update our Dockerfile to base on Debian 13 slim
2026-04-12 22:36:41 -04:00
Rangi
1ff73cd5e0
Revert "Stop trying to explicitly install pkg-config in CI ( #1940 )"
...
This reverts commit bc3572ec37 .
Turns out that our Dockerfile *does* need to install `pkg-config`
on the `debian:12-slim` image.
2026-04-12 22:33:25 -04:00
Eldred Habert
65ec1af1e8
Switch macOS static build to CMake ( #1938 )
...
This moves the tortuous flags out of our CI scripts,
and allows us to benefit from the libpng download caching.
2026-04-12 22:26:15 -04:00
Eldred Habert
bc3572ec37
Stop trying to explicitly install pkg-config in CI ( #1940 )
...
Turns out it's already installed by default,
but under a different name that's causing extra ops
for no real gain.
2026-04-12 22:08:38 -04:00
Eldred Habert
78281a4aaa
Break down CTest cases into each test suite ( #1931 )
...
This allows parallelising the individual programs'
test suites, which can save a few minutes!
2026-04-12 21:29:12 -04:00
ISSOtm
6e51ab6f55
Remove a duplicate warning flag
...
We always pass this one
2026-04-13 01:52:25 +02:00
ISSOtm
52aaf7e3b3
Fix MSVC dependent option syntax
...
This is not how CMake works lol
2026-04-13 01:37:38 +02:00
ISSOtm
09db4f25dd
Bump the maximum version of CMake tested with
...
Future-proofing!
This is both the version on my own machine,
and what's distributed by Homebrew (thus on GitHub's runners).
2026-04-13 00:33:31 +02:00
Eldred Habert
fed5db7743
Move documentation outside of the root directory ( #1936 )
2026-04-12 18:09:40 -04:00
ISSOtm
c6dbec7830
Stop trying to run version test on Cygwin and FreeBSD
...
Fixes #1934
2026-04-12 23:40:39 +02:00
Eldred Habert
017b0119e6
Overhaul checkdiff CI ( #1930 )
2026-04-12 16:06:28 -04:00
Eldred Habert
0e6e91d048
Avoid copying RGBFIX binary when testing it ( #1933 )
...
This is just cleaner in general,
and also avoids separating it from any DLLs it may be needing.
2026-04-12 13:23:51 -04:00
Rangi
df0b557638
Don't allow invalid interpolations to occur ( #1925 )
...
Fixes #1921
2026-04-11 18:16:07 +02:00
Eldred Habert
123201ecc6
Avoid repeatedly specifying bash as the command shell in CI ( #1926 )
2026-04-10 22:04:16 -04:00
Eldred Habert
422e8eec20
Generate Bison output in CMake build tree ( #1929 )
...
Again, moving away from in-tree builds
2026-04-10 18:46:57 -04:00
Rangi
49a4da2235
Revert "Generate Bison output in CMake build tree"
...
This reverts commit 4577ff16bc .
2026-04-10 17:18:40 -04:00
ISSOtm
4577ff16bc
Generate Bison output in CMake build tree
...
Again, moving away from in-tree builds
2026-04-10 22:56:59 +02:00
ISSOtm
b430d5a8b8
Note why we are not using a CMake list to pass Bison flags
2026-04-10 22:33:54 +02:00
ISSOtm
a5be1d886e
Copy DLLs to appropriate dir for install-less Windows testing
...
Co-authored-by: vulcandth <6394873+vulcandth@users.noreply.github.com >
2026-04-10 18:01:16 +02:00
vulcandth
c3b47abcc8
Use CPack for Windows packaging
2026-04-10 18:01:16 +02:00
Rangi
2cfb2b2533
Remove the claim that only exported symbols appear in sym and map files
...
Fixes #1916
This claim was true in v0.4.2, but intentionally changed in v0.5.0.
rgblink(1) already explains that "all visible labels and exported numeric constants"
will appear, which is a more appropriate location than rgbasm(5).
2026-04-09 21:28:07 -04:00
Rangi
187e1a55b8
Add examples for using character literals instead of strings as numbers
...
Fixes #1890
2026-04-08 21:42:10 -04:00
Rangi
143d503c6c
Update libpng to 1.6.56 ( #1922 )
...
Fixes #1920
This also switches from Homebrew-installed `sha2`
to macOS-preinstalled `shasum`.
2026-04-08 20:58:41 -04:00
Rangi
6e13779b8b
Use C++-sryle static_cast, not C-style explicit cast
...
`uint32_t(param)` is actually functional notation of explicit casting,
not a direct constructor call. `uint32_t{param}` would be uniform
initialization syntax for a constructor call, but would not allow
narrowing from `uint64_t`. See issue #1904 for discussion.
2026-04-08 20:05:36 -04:00
ISSOtm
ace2f3e613
Document why lib src cache is cross-OS
...
See https://github.com/gbdev/rgbds/pull/1919#discussion_r3048475606
2026-04-08 12:25:43 +02:00
ISSOtm
8d1a60d6b5
Switch release process to a lightweight runner
...
Easier to provision, less concurrency overhead for us
2026-04-08 12:25:43 +02:00
ISSOtm
11ac22d8f5
Switch from an Action to gh release
...
Fewer supply chain risks whooooo
2026-04-08 12:25:43 +02:00
ISSOtm
812e1f6d4b
Remove dead code checking for version tag
...
It was also vulnerable to template injection attacks.
2026-04-08 12:25:43 +02:00
ISSOtm
8dc052475b
Avoid caching in our release workflow
...
This is a malware distrib vector,
and we run this workflow sporadically enough
that we can afford to do so uncached.
2026-04-08 12:25:43 +02:00
ISSOtm
133eaa4e92
Build Windows release in, well, Release mode
2026-04-08 12:25:43 +02:00