Unblock and simplify the GitHub Actions configuration introduced in #52 - #61
Merged
Conversation
Move matrix.json and matrix-makefile.json from the project root to .github/workflows/ where they belong, alongside the workflow files that use them. Remove the branch restriction on push triggers to allow CI runs on all feature branches, not just on main.
Reduce the CMake build matrix to 4 configurations: - Ubuntu (ubuntu-latest, using gcc) - macOS (macos-latest, using clang) - Windows MSVC (windows-latest) - Windows MSYS2 (windows-latest, using gcc) Simplify the Makefile build for Ubuntu only -- no matrix needed. Streamline the release workflow to produce Windows binaries only. Downstream maintainers will build and package the builds for all other platforms.
svgeesus
approved these changes
Dec 15, 2025
svgeesus
left a comment
Collaborator
There was a problem hiding this comment.
Thanks for sorting this out!
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
While the original CI contribution was valuable and got us up and running with cross-platform testing, the extensive build matrix (10+ configurations) was more than necessary for a portable C project like pngcheck. This simplification right-sizes our CI to match the project's actual needs.
In addition, this PR moves to
*-latestrunners (ubuntu-latest,macos-latest,windows-latest) instead of pinning specific versions. GitHub retires older runner images regularly, andmacos-13was just retired: actions/runner-images#13046I expect
ubuntu-22.04to follow sooner or later. As maintainers, we'd rather NOT spend time chasing runner deprecations.In the end, pngcheck is portable C code that compiles cleanly across platforms. Testing every OS version and architecture permutation provides diminishing returns while increasing CI time and maintenance burden. Downstream projects may, of course, augment this as they see fit.
Details
Commit dfbab61: Consolidate CI config; trigger on all branches
.github/workflows/alongside the workflows that use themmain) so contributors can test their workCommit c37d120: Simplify the build matrices and the release workflow