Skip to content

Add a GitHub Actions build - #236

Open
slachiewicz wants to merge 1 commit into
apache:masterfrom
slachiewicz:ci-github-actions
Open

Add a GitHub Actions build#236
slachiewicz wants to merge 1 commit into
apache:masterfrom
slachiewicz:ci-github-actions

Conversation

@slachiewicz

Copy link
Copy Markdown
Member

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-report rather than the full test target.
lib/optional/*.jar is git-ignored, so the optional dependencies are fetched
first, and it goes through build.sh/build.bat rather than ant - those pass
-lib lib/optional, without which the AntUnit antlib cannot resolve.

AntUnit is deliberately left out. Running ./build.sh clean test against master
on macOS:

JDK JUnit AntUnit
11 2362 run, 0 failures, 0 errors 845 run, 3 failures, 35 errors
25 2362 run, 0 failures, 0 errors 3 failures, 13 errors

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.

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
slachiewicz marked this pull request as ready for review August 22, 2026 15:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant