chore(release): make daily tag flow semi-automatic - #8485
Conversation
Signed-off-by: Charan Jagwani <cjagwani@nvidia.com>
📝 WalkthroughWalkthroughThe release process now uses a 4 PM locally signed tag based on the planned ChangesRelease flow
Estimated code review effort: 3 (Moderate) | ~25 minutes Sequence Diagram(s)sequenceDiagram
participant ReleaseAgent
participant Maintainer
participant originMain
participant E2EWorkflow
ReleaseAgent->>originMain: Generate 4 PM release plan
ReleaseAgent->>Maintainer: Request exact tag confirmation
Maintainer->>ReleaseAgent: Confirm local signing
ReleaseAgent->>originMain: Create signed tag with release:cut
originMain->>E2EWorkflow: Trigger SHA-bound E2E run
E2EWorkflow-->>ReleaseAgent: Return diagnostic result for overnight triage
Possibly related PRs
Suggested labels: Suggested reviewers: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
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 @.agents/skills/nemoclaw-maintainer-cut-release-tag/SKILL.md:
- Around line 20-21: Update the changelog validation instructions around the
line-40 search to use the selected release version rather than the literal
vX.Y.Z placeholder. Require exactly one dated docs/changelog/YYYY-MM-DD.mdx file
containing the exact planned ## vX.Y.Z heading, and fail validation when zero or
multiple entries match.
🪄 Autofix
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: CHILL
Plan: Enterprise
Run ID: 026e4a89-ea4b-4838-9ba9-f79f2f697508
📒 Files selected for processing (12)
.agents/skills/nemoclaw-maintainer-cut-release-tag/SKILL.md.agents/skills/nemoclaw-maintainer-cut-release-tag/scripts/release-e2e-evidence.mts.agents/skills/nemoclaw-maintainer-day/PR-REVIEW-PRIORITIES.md.agents/skills/nemoclaw-maintainer-e2e/SKILL.md.agents/skills/nemoclaw-maintainer-evening/SKILL.md.agents/skills/nemoclaw-maintainer-policies/references/daily-flow.md.agents/skills/nemoclaw-maintainer-policies/references/release-train.md.agents/skills/nemoclaw-skills-guide/SKILL.mdpackage.jsontest/maintainer-e2e-skill.test.tstest/maintainer-skills-policy.test.tstest/release-e2e-evidence.test.ts
💤 Files with no reviewable changes (3)
- package.json
- test/release-e2e-evidence.test.ts
- .agents/skills/nemoclaw-maintainer-cut-release-tag/scripts/release-e2e-evidence.mts
Signed-off-by: Charan Jagwani <cjagwani@nvidia.com>
There was a problem hiding this comment.
🧹 Nitpick comments (1)
test/maintainer-skills-policy.test.ts (1)
246-254: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick winTest changelog validation through observable behavior.
These assertions only check that implementation fragments occur in the Markdown. They do not prove that one matching changelog succeeds or that zero and multiple matches fail. Execute the validation command against temporary Git fixtures, or expose it through a testable script and assert its exit status and output.
As per path instructions, tests must provide behavioral confidence rather than implementation lock-in.
🤖 Prompt for 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. In `@test/maintainer-skills-policy.test.ts` around lines 246 - 254, Replace the fragment-based assertions in the changelog validation section of maintainer-skills-policy tests with behavioral tests that run the release validation command against temporary Git fixtures. Cover exactly one matching dated changelog heading as success, and zero or multiple matches as failure, asserting exit status and relevant output rather than script text.Source: Path instructions
🤖 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.
Nitpick comments:
In `@test/maintainer-skills-policy.test.ts`:
- Around line 246-254: Replace the fragment-based assertions in the changelog
validation section of maintainer-skills-policy tests with behavioral tests that
run the release validation command against temporary Git fixtures. Cover exactly
one matching dated changelog heading as success, and zero or multiple matches as
failure, asserting exit status and relevant output rather than script text.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Enterprise
Run ID: c7fde54b-1ef5-48bc-a935-bfc551fc7b64
📒 Files selected for processing (2)
.agents/skills/nemoclaw-maintainer-cut-release-tag/SKILL.mdtest/maintainer-skills-policy.test.ts
PR Review Advisor — No blocking findings reportedAdvisor assessment: No blocking advisor findings reported Model lanes
Second-opinion terminology and E2E selections are advisory. Live E2E does not run automatically for pull requests. 3 semantic terminology decisionsTerminology decisions are advisory. They affect the assessment only when a separate finding identifies concrete semantic impact.
E2E guidanceAdvisory only. A maintainer can dispatch the default E2E suite against this exact revision. Recommended E2E: This automated review informs maintainers. Warnings and suggestions do not require a response. A maintainer decides whether to merge. |
|
🌿 Preview your docs: https://nvidia-preview-pr-8485.docs.buildwithfern.com/nemoclaw |
Code Coverage OverviewLanguages: TypeScript TypeScript / code-coverage/pluginThe overall coverage in commit 26ef0cf in the TypeScript / code-coverage/cliThe overall coverage in commit 26ef0cf in the Show a code coverage summary of the most impacted files.
Updated |
Summary
Before this change, the release skill required a candidate-bound E2E ledger before a maintainer-confirmed tag. After this change, the 4 PM release remains maintainer-confirmed and locally signed, but E2E runs asynchronously on every push to
mainand never blocks tagging or merging.Changes
Type of Change
Quality Gates
Documentation Writer Review
no-docs-neededdocs/page owns the maintainer-only daily tag procedure. Carlos's merged ci(e2e): run every workflow E2E on main #8477 owns and documents full E2E on everymainpush; historical changelog entries remain unchanged.DGX Station Hardware Evidence
Verification
Signed-off-by:line and every commit appears asVerifiedin GitHubpre-commit,commit-msg, andpre-pushhooks passed, ornpm run validate:prpassed after refreshingorigin/mainwhen hooks were skipped or unavailablenpm exec vitest run -- test/maintainer-skills-policy.test.ts test/maintainer-e2e-skill.test.ts --testTimeout=30000(33 passed); review fix:npm exec vitest run -- test/maintainer-skills-policy.test.ts --testTimeout=30000(19 passed), plus direct portable command execution againstv0.0.103(exactly one match)npm run docsbuilds without warnings (doc changes only)Signed-off-by: Charan Jagwani cjagwani@nvidia.com
Summary by CodeRabbit
Release Process
Documentation