Add a GitHub Actions build - #236
Open
slachiewicz wants to merge 1 commit into
Open
Conversation
Runs the JUnit suite on Linux and Windows, on the Java versions CONTRIBUTING.md commits to: master has to stay buildable on Java 8. The optional jars are git-ignored, so the build fetches them first, and it goes through build.sh rather than ant so that lib/optional lands on the classpath. AntUnit is left out for now; the comment in the file records what it does on Java 11 and 25 and why that needs its own look first.
slachiewicz
marked this pull request as ready for review
August 22, 2026 15:27
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.
There is no CI configuration in the repository, so nothing checks a pull request
on a second platform or a second JDK.
This adds one workflow: the JUnit suite on Linux and Windows, on Java 8 and 11.
Java 8 because CONTRIBUTING.md requires master to stay buildable on it, and
Windows because that is the coverage contributors cannot easily provide for
themselves.
What it runs, and what it does not
./build.sh clean junit-reportrather than the fulltesttarget.lib/optional/*.jaris git-ignored, so the optional dependencies are fetchedfirst, and it goes through
build.sh/build.batrather thanant- those pass-lib lib/optional, without which the AntUnit antlib cannot resolve.AntUnit is deliberately left out. Running
./build.sh clean testagainst masteron macOS:
The failures cluster in optional features - script engines, xz, xslt - so this
may well be my environment rather than Ant. Either way a workflow that is red on
the day it lands is worth less than one that is not. The comment in the file
lists the affected build files. Working out what a green AntUnit run looks like
per JDK and platform would make a good second step, and would let AntUnit join
the matrix.
Not verified
I have neither JDK 8 nor 17 available locally and cannot run Windows, so the
Java 8 legs and both Windows legs are unverified. The two cells I could measure,
Java 11 and Java 25, are green with exactly the command above.
17 and 25 look ready to add - Java 25 gives the same 2362 tests, 0 failures,
0 errors - but starting narrow, on the view that a first workflow should assert
only what the project already promises.
Happy to take this to dev@ first if that is preferred.
This change was created with AI assistance.