Skip to content

Pin Maven 3.9.16 for release publishing - #2125

Merged
kevinherron merged 1 commit into
mainfrom
fix/release-maven-3.9
Oct 12, 2026
Merged

kevinherron merged 1 commit into
mainfrom
fix/release-maven-3.9

Conversation

@kevinherron

Copy link
Copy Markdown
Contributor

The v1.2.0-RC1 release run (38299556979) failed at Central Portal validation:

Bundle has content that does NOT have a .pom file: org/eclipse/milo/milo, org/eclipse/milo/milo-stack-core, ...

The runner image changed between v1.1.8 (20260927, Maven 3.9) and RC1 (20261004, Maven 3.10). central-publishing-maven-plugin 0.11.0, the latest release, only deletes maven-metadata-central-staging.xml from its staging directory before bundling. Under Maven 3.10 the staging directory instead gets maven-metadata-local.xml at the artifact level and _remote.repositories files, and both end up in the bundle. Deployment 7eb04be3 failed validation and nothing reached Maven Central.

I reproduced this locally by pointing the plugin at an unreachable centralBaseUrl, so it stages and bundles but cannot upload. Maven 3.10.0 produced 18 extra bundle entries across three modules. Maven 3.9.16 produced none and logged the Pre Bundling - deleted lines seen in the v1.1.8 run.

This change downloads Maven 3.9.16 from Maven Central in the release workflow, verifies its SHA-512, and puts it on the PATH. The version matches .mise.toml. Maven 3.9 warns about the repositoryOrigins element in .github/maven-settings.xml and still applies the central credentials, so the shared settings file stays as it is for the snapshot workflow.

Checked locally with actionlint 1.7.12 and a dry run of the new step.

The ubuntu-latest runner now provides Maven 3.10. With it,
central-publishing-maven-plugin 0.11.0 leaves maven-metadata-local.xml
and _remote.repositories files in the Central bundle, because it only
removes maven-metadata-central-staging.xml before bundling. Central
rejected the v1.2.0-RC1 bundle with "Bundle has content that does NOT
have a .pom file" for every module, and nothing was published.

Download Maven 3.9.16 from Maven Central, verify its SHA-512, and put it
on the PATH before publishing. This matches the version in .mise.toml.
Maven 3.9 warns about the repositoryOrigins element in the shared
settings file and still applies the central server credentials.
@greptile-apps

greptile-apps Bot commented Oct 12, 2026 •

Copy link
Copy Markdown

RetriggerConfidence Score: 5/5

[High impact] The PR appears safe to merge; no actionable issues were found.

Summary

Pins release publishing to Maven 3.9.16 instead of the runner’s default Maven.

  • Release publishing now runs with Maven 3.9.16.

No actionable issues found. The workflow was reviewed without running a release or independently checking the remote archive’s checksum.

Reviews (1) · Last reviewed commit: "Pin Maven 3.9.16 for release publishing" · Reviewed by Greptile

@kevinherron
kevinherron merged commit 77aea8b into main Oct 12, 2026
8 checks passed
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