Skip to content

ci: release-smoke - run a real Maven build instead of jbang/javac+java#87

Merged
dfa1 merged 3 commits into
mainfrom
ci-smoke-maven-build
Jul 19, 2026
Merged

ci: release-smoke - run a real Maven build instead of jbang/javac+java#87
dfa1 merged 3 commits into
mainfrom
ci-smoke-maven-build

Conversation

@dfa1

@dfa1 dfa1 commented Jul 19, 2026

Copy link
Copy Markdown
Owner

Summary

  • Both smoke paths (5 native-runner legs + 8 container probes) now run a real mvn compile exec:exec against a standalone .github/smoke/pom.xml, via the same vendored Maven Wrapper already used at the repo root — proper dependency resolution/compile/exec output ending in BUILD SUCCESS, replacing jbang and raw javac+java.
  • Fixed a real gap this surfaced: amazoncorretto:25-al2023 has no package manager, so mvnw couldn't self-extract. Now Maven is extracted once on the host and mounted read-only into every container — no unzip/tar/package-manager needed inside any container.
  • Added a summary job that renders a markdown results table (all 13 legs, gating vs. probe) on the run's Summary page, since continue-on-error on the probe legs hides real per-job failures from the workflow's overall status.

Test plan

dfa1 and others added 3 commits July 19, 2026 08:10
Both smoke paths previously bypassed Maven: the native-runner legs used
jbang, the container-probe legs used a quiet dependency-plugin:copy +
raw javac/java. Output was a single terse line, nothing that looked
like an actual build.

Move Smoke.java into a standard src/main/java layout and add a
standalone .github/smoke/pom.xml (outside the root reactor) that
resolves the released zstd + native jars via -Dzstd.version/
-Dzstd.classifier and runs them with exec-maven-plugin. Vendor the
Maven Wrapper already used at the repo root so no leg needs a
preinstalled Maven - including inside the 8 container-probe images,
which now run the same `mvnw compile exec:exec` under their own JDK
instead of only executing a bare `java` command compiled on the host.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
amazoncorretto:25-al2023 is a stripped-down image with neither unzip
nor tar, so the vendored mvnw couldn't extract the downloaded Maven
distribution ("tar: command not found"). Discovered by the previous
commit switching this leg from a bare `java` invocation to a real
`mvnw compile exec:exec` - the old path never exercised Maven's own
bootstrap, so this gap was invisible.

Add an optional per-matrix-entry containerSetup command, run before
mvnw inside the container, and set it to `microdnf install -y -q
unzip` for the two al2023 legs.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
… summary

The unzip fix for al2023 didn't work: that image has no package
manager at all (microdnf: command not found), not just a missing
unzip. Rather than chase per-distro package managers across 8
containers, sidestep the problem: extract Maven once on the host
(ubuntu-latest always has curl+unzip) from the same pinned
distributionUrl the wrapper uses, then mount it read-only into every
container. Maven itself is pure Java, so the host-extracted copy runs
identically under any container's JDK - no unzip/tar/package manager
needed inside the container at all.

Also add a `summary` job that pulls per-leg conclusions from the
Actions API (continue-on-error hides real per-job failures from the
workflow's overall status, but not from job.conclusion) and renders
one markdown table on the run's Summary page, so a probe failure isn't
missed without opening all 13 jobs individually.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@dfa1
dfa1 merged commit 9aa510f into main Jul 19, 2026
16 checks passed
@dfa1
dfa1 deleted the ci-smoke-maven-build branch July 19, 2026 06:21
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