Skip to content

CI: a JVM release and a manual dispatch test all 16 platform x Python legs - #269

Merged
tae898 merged 4 commits into
mainfrom
ci/jvm-full-matrix-on-release
Nov 5, 2026
Merged

tae898 merged 4 commits into
mainfrom
ci/jvm-full-matrix-on-release

Conversation

@tae898

@tae898 tae898 commented Nov 5, 2026

Copy link
Copy Markdown
Collaborator

Closes #268

The arcadedb-jvm release now tests every platform x Python combination before it publishes, as the native release already does.

Event JVM test legs before after
pull request, push to main, nightly schedule 10 10
release (release-jvm.yml) 10 16
manual dispatch 10 16
any event the selector does not know 10 16 (fails open, as the rest of the script)

The 10 legs are all four Pythons on linux/amd64 and 3.11 and 3.14 elsewhere; the 6 added legs (3.12 and 3.13 on linux/arm64, darwin/arm64 and windows/amd64) run once per release, so the shared runner cap with ArcadeData/arcadedb feels them only then.

File Change
scripts/select_matrix.py JVM_REDUCED_EVENTS = ("pull_request", "push", "schedule") get JVM_LEGS; every other event gets the full matrix; docstring and comments updated
.github/workflows/test-jvm.yml new workflow_call input release (boolean, default false); the matrix step passes inputs.release && 'release' || github.event_name, because in a reusable workflow github.event_name is the caller's event (the tag push)
.github/workflows/release-jvm.yml the test job passes release: true
tests/test_select_matrix.py 10 legs for pull_request, push and schedule; 16 for release, workflow_dispatch, workflow_call, an empty and an unknown event; the command line prints 16 for release; the two workflows carry the input and pass it

Checks: compile() and pyflakes on both Python files, the leg counts per event printed by the script (10, 10, 10, 16, 16, 16, 16), the new workflow-wiring assertions run against the real workflow files, pre-commit (black, actionlint) passes. The README sentence about the matrices changes in #264 (the docs batch), which merges after this PR.

🤖 Generated with Claude Code

tae898 and others added 4 commits November 5, 2026 15:06
… legs

select_matrix.py gave jvm the same 10 legs on every event, so 3.12 and 3.13 on macOS, Windows and Linux arm64 were never tested before publishing. Now only a pull request, a push and the nightly schedule get the 10 legs; every other event (a release, a dispatch, an unknown event: fail open) gets all 16, as test-native.yml does for a release. In a workflow_call github.event_name is the caller's (the tag push), so release-jvm.yml passes release: true and test-jvm.yml maps it to the event 'release'. Tests: 10 legs for pull_request/push/schedule, 16 for release/workflow_dispatch/unknown, the command line prints 16 for release, and the two workflows carry the input.

Closes #268

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…n a release and a dispatch) in ci.adoc and CLAUDE.md

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ent/ci.adoc

CLAUDE.md stays general; the legs and check counts live on the docs page that tests/test_select_matrix.py keeps honest.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@tae898
tae898 merged commit a83e143 into main Nov 5, 2026
41 checks passed
@tae898
tae898 deleted the ci/jvm-full-matrix-on-release branch November 5, 2026 08:18
@github-actions github-actions Bot added this to the 26.11.1 milestone Nov 5, 2026
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.

CI: the arcadedb-jvm release tests 10 of 16 platform x Python legs (3.12 and 3.13 untested off Linux x86-64)

1 participant