Skip to content

MINOR: Use build-once Test workflow#14

Draft
xborder wants to merge 6 commits into
claude/arrow-java-workflows-99cxw7from
phase4-build-once-artifact-prototype
Draft

MINOR: Use build-once Test workflow#14
xborder wants to merge 6 commits into
claude/arrow-java-workflows-99cxw7from
phase4-build-once-artifact-prototype

Conversation

@xborder

@xborder xborder commented Jun 13, 2026

Copy link
Copy Markdown
Owner

This converts the Test workflow to a build-once/test-many shape so we can compare it against the existing control workflow.

What changed:

  • Build Java artifacts once on Linux/JDK 17 and upload the prepared build tree plus locally installed Arrow Maven artifacts.
  • Reuse those artifacts for Java tests on Linux JDK 17/21/23, macOS Intel, macOS ARM, and Windows.
  • Build C Data native artifacts once on Linux/JDK 17 and reuse them for C Data tests on Linux JDK 17/21/23.
  • Add cheap JDK 21/23 compile checks so newer JDK compile coverage is retained.
  • Add a manual workflow_dispatch skip_integration input for timing-only comparisons.
  • Remove the separate prototype workflow now that the mechanism is in the real Test workflow.

Validation:

  • Test run 27494182611 passed with integration.
  • Manual Test run 27495432430 passed with integration skipped.
  • check-yaml passed.
  • RAT passed.
  • git diff --check passed.
  • pre-commit run --all-files reached ShellCheck but could not continue locally because Docker is not installed in this environment.

Control comparison:

  • Older no-change control 27446267586: 29.4m wall-clock, about 473.9 weighted runner minutes.
  • Phase 1-3 baseline 27478899804: 25.6m wall-clock, about 436.5 weighted runner minutes.
  • Build-once with integration 27494182611: 31.7m wall-clock, about 148.1 weighted runner minutes.
  • Build-once without integration 27495432430: 15.4m wall-clock, about 123.8 weighted runner minutes.

The with-integration build-once run was slower in wall-clock only because integration took 31.6m in that run. The matrix itself is much cheaper: excluding integration, weighted runner minutes dropped from about 411.0 to about 123.8 versus the Phase 1-3 baseline.

@github-actions

This comment has been minimized.

@xborder xborder added the chore label Jun 13, 2026
@xborder xborder changed the title MINOR: Prototype build-once Java tests MINOR: Use build-once Test workflow Jun 14, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant