Skip to content

Check every published module against the registries - #6

Merged
venkata-kishore merged 1 commit into
primefrom
check-every-module
Oct 30, 2026
Merged

venkata-kishore merged 1 commit into
primefrom
check-every-module

Conversation

@venkata-kishore

Copy link
Copy Markdown
Member

The release check looked only at the root artifact. In a multi-module release, GitHub Packages receives modules one at a time, so a deploy that stopped partway left some modules there and not others. A retry then saw the root, decided GitHub Packages was done, and skipped the rest.

What changes in maven-release.yml

  • Module list. The check step reads the effective POM with the publish profile (help:effective-pom) and lists every module.
  • Skips honoured. A module stays out of a registry's check through the same properties the build uses: maven.deploy.skip for GitHub Packages, skipPublishing for Central.
  • Each module checked. Central through its pom URL on repo1, GitHub Packages through the org packages versions API, the same calls as before.
  • Outcome per registry.
    • Every module present: "already on ..., skipping that upload", as before.
    • None present: upload.
    • Some present: the run stops with an error naming which modules have the version and which do not.
      • GitHub Packages: delete that version from the packages that have it, then re-run.
      • Central: one upload carries every module, but they can reach repo1 at different times, so the error says to check the deployment in the Central Portal and re-run once it is published.
  • Unchanged. Single-module libraries get the same result as before. The artifact output is still the root's.

Tested

  • Stubbed registries. The step's script was extracted from the workflow and run against a five-module reactor with three published modules and one unpublished test module.
    • Nothing published: both uploads run.
    • Everything published: both skipped.
    • GitHub partial: error.
    • Central partial: error.
    • Central complete, GitHub empty: only the GitHub upload runs.
    • A module with skipPublishing: it is left out of the Central check only.
    • A 503 from the registry: error.
    • The unpublished test module was never queried.
  • Live registries, read-only. On bonfire-oss-parent at v2.1.1, the script reports the tag, Central and GitHub Packages as already done, with exit 0.

actionlint was not run.

The release check looked only at the root artifact, so a retry after a
GitHub Packages deploy that stopped partway through a multi-module
release took the root's presence to mean every module was there and
skipped the rest.

The check now lists every module from the effective POM with the publish
profile and checks each one, leaving out modules the build keeps out of a
registry (maven.deploy.skip for GitHub Packages, skipPublishing for
Central). A registry counts as done only when it has every module. If it
has some but not all, the run stops with an error naming both sets.
@venkata-kishore
venkata-kishore merged commit 35cc50c into prime Oct 30, 2026
1 check passed
@venkata-kishore
venkata-kishore deleted the check-every-module branch October 30, 2026 10:37
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