Skip to content

[infra] Fail release preflight on existing target#62

Open
vikuznetsov-nvidia wants to merge 3 commits into
mainfrom
vikuznetsov/preflight-release-collision
Open

[infra] Fail release preflight on existing target#62
vikuznetsov-nvidia wants to merge 3 commits into
mainfrom
vikuznetsov/preflight-release-collision

Conversation

@vikuznetsov-nvidia

@vikuznetsov-nvidia vikuznetsov-nvidia commented Jul 21, 2026

Copy link
Copy Markdown
Collaborator

Reject release dispatches with an existing draft, release, or tag before starting the expensive build matrix while retaining the final race check.

Summary by CodeRabbit

  • Bug Fixes
    • Improved nightly release validation to prevent publishing when the target release (draft/published) or corresponding git tag already exists.
    • Updated workflow permissions to ensure the necessary repository read access is available.
    • Added a post-matrix recheck of release/tag availability to catch conflicts before publication, and reordered artifact downloading to occur afterward.

Reject release dispatches with an existing draft, release, or tag before starting the expensive build matrix while retaining the final race check.
Avoid downloading release assets when a target created during the build has already made publication unavailable.
@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: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Enterprise

Run ID: 9360e5a1-c658-46c6-8bb6-ddaebbd86256

📥 Commits

Reviewing files that changed from the base of the PR and between efc8c6d and a6809fa.

📒 Files selected for processing (1)
  • .github/workflows/nightly.yml

📝 Walkthrough

Walkthrough

The nightly workflow grants preflight read access and validates that the computed release target is unused before release processing and again after matrix jobs complete, before downloading release artifacts.

Changes

Release target validation

Layer / File(s) Summary
Preflight permissions and release validation
.github/workflows/nightly.yml
The check-changes job requests contents: read and rejects existing GitHub releases or git tags for the computed release target.
Post-matrix release revalidation
.github/workflows/nightly.yml
publish-release rechecks release and tag availability after matrix execution, then downloads release artifacts.

Estimated code review effort: 2 (Simple) | ~10 minutes

Possibly related PRs

Suggested reviewers: hrabeti-nvidia, slepichev

🚥 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 matches the change to fail release preflight when an existing draft, release, or tag is found.
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
  • Commit unit tests in branch vikuznetsov/preflight-release-collision

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

@github-actions

github-actions Bot commented Jul 21, 2026

Copy link
Copy Markdown

Test Results

Status Platform Language Total Passed Failed Errors Skipped
Orin C++ 16 16 0 0 0
Orin Python 68 67 0 0 1
Thor C++ 16 16 0 0 0
Thor Python 68 67 0 0 1
x86_64 C++ 16 16 0 0 0
x86_64 Python 68 67 0 0 1

cuVSLAM Evaluation KPIs

Config Dataset ATE,% ARE,º/m Kabsch, Losts, diff ATE,% diff ARE,º/m diff Kabsch, diff Losts, FPS,Hz
x86_64-cuda12.6.3-ubuntu24.04 KITTI-STEREO_ODOM 0.8433 0.0023 2.8447 0 NA NA NA NA 305.0
x86_64-cuda12.6.3-ubuntu24.04 KITTI-STEREO_SLAM 0.7587 0.0019 1.9103 0 NA NA NA NA 183.6

Artifacts

@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/nightly.yml:
- Around line 103-105: Update both tag-existence probes in
.github/workflows/nightly.yml at lines 103-105 and 709-711 to distinguish a
successful 404 response from other gh api failures: continue only when the tag
is absent, reject existing tags, and fail the workflow for authentication,
rate-limit, network, or 5xx errors.
🪄 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: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Enterprise

Run ID: a5136c96-3783-4352-93e4-36f925f188af

📥 Commits

Reviewing files that changed from the base of the PR and between b8c4992 and bb712a1.

📒 Files selected for processing (1)
  • .github/workflows/nightly.yml

Comment thread .github/workflows/nightly.yml Outdated
Query matching refs so absent tags return an empty successful result while authentication, network, and server failures stop publication.
check-changes:
name: Check for recent changes
runs-on: ubuntu-latest
permissions:

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

what is tthis for?

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

I put a check in front if release target exists, so that we don't run entire build for a release branch, only to fail it in the end, if it is already published

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.

2 participants