Skip to content

ci(release): wait for VALIDATED not PUBLISHED on Central deploy - #21

Merged
octaviospain merged 2 commits into
cloudevents:mainfrom
octaviospain:fix-release-validation-timeout
Jul 21, 2026
Merged

ci(release): wait for VALIDATED not PUBLISHED on Central deploy#21
octaviospain merged 2 commits into
cloudevents:mainfrom
octaviospain:fix-release-validation-timeout

Conversation

@octaviospain

@octaviospain octaviospain commented Jul 21, 2026

Copy link
Copy Markdown
Contributor

Summary

The release job published 0.1.0 to Maven Central successfully, but then failed:

> Deployment validation timed out after 900s. Last known state: PUBLISHING

publishAndReleaseToMavenCentral was run with mavenCentralDeploymentValidation=PUBLISHED, which blocks until the deployment reaches the fully PUBLISHED state. Central's publish phase can take longer than the plugin's 900s poll timeout, so the Gradle task exited non-zero — even though the release had actually succeeded — and the remaining steps (SBOM, git-cliff release notes, GitHub release, changelog commit) were skipped.

Changes

1. Wait for VALIDATED instead of PUBLISHED.

  • The bundle is still uploaded as AUTOMATIC, so Central auto-publishes it regardless.
  • VALIDATED still fails the build on a genuine problem (bad POM, missing signature, etc.).
  • It returns as soon as validation passes, so the job no longer blocks on — or times out during — the slow, variable publish phase, and the workflow runs to completion.

No change to what gets published; only how long the job waits before continuing.

2. Add the generated CHANGELOG.md.

  • Seeds the repository with the git-cliff changelog for 0.1.0 (the previous run never reached the changelog step). The release workflow keeps it up to date on each subsequent release.
  • Adds a blank line before each version heading in cliff.toml so the rendered changelog is cleanly spaced.

Summary by CodeRabbit

  • Release

    • Added a new 0.1.0 entry to the changelog, including core capability updates, documentation improvements, CI/build additions, and maintenance notes.
  • Chores

    • Improved Maven Central publishing to proceed after deployment validation rather than waiting for full publication.
    • Refined changelog template formatting for cleaner, versioned release section rendering.
  • Documentation

    • Updated README badges to show Maven Central version alongside build status.

publishAndReleaseToMavenCentral was polling for the fully PUBLISHED state, but Central's

publish phase can exceed the plugin's 900s timeout, so the job failed with a timeout even

though the release had succeeded on Maven Central. That aborted the remaining steps (SBOM,

release notes, GitHub release, changelog commit).

Wait only for VALIDATED instead. The deployment is still uploaded as AUTOMATIC, so Central

auto-publishes it; VALIDATED confirms the bundle passed validation without blocking on the

slow publish phase, so the workflow runs to completion.

Signed-off-by: Octavio Calleya Garcia <octavio@transgressoft.net>
@octaviospain octaviospain self-assigned this Jul 21, 2026
@coderabbitai

coderabbitai Bot commented Jul 21, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: fe6ab975-57d9-4d83-bbcc-c40b66b92bdb

📥 Commits

Reviewing files that changed from the base of the PR and between 5bd339b and 4738a8a.

📒 Files selected for processing (3)
  • CHANGELOG.md
  • README.md
  • cliff.toml
🚧 Files skipped from review as they are similar to previous changes (1)
  • CHANGELOG.md

📝 Walkthrough

Walkthrough

The release metadata now includes the 0.1.0 changelog, updated README badges, revised changelog template whitespace, and Maven Central publication validation waiting behavior.

Changes

Release preparation

Layer / File(s) Summary
Changelog and project metadata
CHANGELOG.md, cliff.toml, README.md
Adds the 0.1.0 release notes, adjusts versioned changelog header whitespace, and updates Maven Central and build badges.
Maven Central publication validation
.github/workflows/release.yml
Configures publishing to wait for deployment validation rather than full publication.

Estimated code review effort: 1 (Trivial) | ~5 minutes

Possibly related PRs

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly summarizes the main release workflow change: waiting for Maven Central VALIDATED instead of PUBLISHED.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In @.github/workflows/release.yml:
- Around line 65-70: Update the release workflow around the Gradle
publishAndReleaseToMavenCentral invocation so it waits for Maven Central
publication to complete before the GitHub release and CHANGELOG update steps
run. Replace the VALIDATED-only completion condition with the appropriate
publish-complete gate, or add an explicit wait step before the release step,
while preserving the existing failure behavior for unsuccessful Central
publication.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 64bb69a3-8346-461c-a5d6-d881d1f7b9bf

📥 Commits

Reviewing files that changed from the base of the PR and between 9bceb57 and 5bd339b.

📒 Files selected for processing (3)
  • .github/workflows/release.yml
  • CHANGELOG.md
  • cliff.toml

Comment thread .github/workflows/release.yml
Seed the repository with the git-cliff-generated changelog for the 0.1.0 release, which the

release workflow will keep up to date on each subsequent release. Also add a blank line before

each version heading in the cliff.toml template so the rendered changelog is cleanly spaced.

Signed-off-by: Octavio Calleya Garcia <octavio@transgressoft.net>
@octaviospain
octaviospain force-pushed the fix-release-validation-timeout branch from 5bd339b to 4738a8a Compare July 21, 2026 16:32
@octaviospain
octaviospain merged commit 646d1f9 into cloudevents:main Jul 21, 2026
8 checks passed
@octaviospain
octaviospain deleted the fix-release-validation-timeout branch July 21, 2026 17:01
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