ci(release): automate frozen daily editions - #8424
Conversation
Signed-off-by: Charan Jagwani <cjagwani@nvidia.com>
|
Auto-sync is disabled for draft pull requests in this repository. Workflows must be run manually. Contributors can view more details about this message here. |
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Enterprise Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Comment |
Code Coverage OverviewLanguages: TypeScript TypeScript / code-coverage/pluginThe overall coverage in commit 41b14f2 in the TypeScript / code-coverage/cliThe overall coverage in commit 41b14f2 in the Show a code coverage summary of the most impacted files.
Updated |
|
🌿 Preview your docs: https://nvidia-preview-pr-8424.docs.buildwithfern.com/nemoclaw |
PR Review Advisor — Blocking findings reportedAdvisor assessment: Blockers require maintainer review Model lanes
Second-opinion terminology and E2E selections are advisory. They do not change the primary assessment or E2E / PR Gate. 4 semantic terminology decisionsTerminology decisions are advisory. They affect the assessment only when a separate finding identifies concrete semantic impact.
E2E guidanceAdvisory only. E2E / PR Gate selects and runs jobs independently. Recommended E2E: Blockers
|
Signed-off-by: Charan Jagwani <cjagwani@nvidia.com>
|
|
||
| import { spawnSync } from "node:child_process"; | ||
| import { rmSync } from "node:fs"; | ||
| import os from "node:os"; |
|
|
||
| import { spawnSync } from "node:child_process"; | ||
| import { rmSync } from "node:fs"; | ||
| import os from "node:os"; |
|
Superseded by #8479, rebuilt from current main after #8445, #8456, and #8469. The replacement keeps per-main-push E2E and bounded retries, removes the duplicate scheduled-E2E proposal and stale gate-removal rollout, and carries forward the frozen-edition/tag automation plus exact-SHA Advisor artifacts. |
Summary
Replace per-release E2E authorization with a frozen daily edition: merge from 8 AM to 4 PM Pacific, record the exact pre-cutoff
maincandidate, run consolidated E2E and agent review asynchronously, and cut the non-empty edition at 4 AM regardless of E2E state. Non-E2E release controls remain fail-closed, including changelog presence, GitHub-recorded cutoff provenance, ancestry, tag collisions, signing,latest,lkg, carry-forward, and label retirement.This PR does not remove the existing PR E2E gate; Carlos owns that separate change. It supplies the post-merge review, consolidated overnight run, release automation, and maintainer guidance needed after that gate is removed.
Changes
mainbefore...afterrange to the existing isolated PR Review Advisor. Its concurrency key includes the immutable head SHA so later merges do not cancel earlier review turns.America/Los_Angeles, immediately after edition close, and update the executable workflow boundary to protect that schedule.mainpush run GitHub recorded at or before exactly 4 PM instead of trusting commit timestamps, then creates a three-day plan artifact bound to the source run ID, recorded time, candidate SHA, ancestry, exact changelog heading, version progression, and consistency hash.release-latest-tag.yaml, and uploads tagged or no-change handoff evidence.lkg, fail closed when the remote semver sequence or candidate ancestry changes, and remove the obsolete E2E release-evidence ledger and package command.mainadvance remains next-edition validation rather than frozen-candidate evidence.\n- Retain a fail-closed deterministic PR floor when live E2E gating is removed. The requiredbuild-typechecklane now builds the CLI and plugin, starts the compiled CLI in an isolated home, verifies packed entrypoints, and then runs the full package contracts and typechecks.Rollout prerequisite
Before enabling the first scheduled cut, configure the
release-tagGitHub environment with no human wait, restrict it tomain, addNEMOCLAW_RELEASE_TAG_SIGNING_KEY,NEMOCLAW_RELEASE_TAG_SIGNER_NAME, andNEMOCLAW_RELEASE_TAG_SIGNER_EMAIL, and register the corresponding public signing key on the dedicated GitHub release identity. The private key signs only; the job-scopedGITHUB_TOKENperforms the push with declaredactions: readandcontents: writepermissions.Type of Change
Quality Gates
nemoclaw-maintainer-security-code-review; PASS across workflow authority, permissions, signing-key lifecycle, token scope, artifact provenance, input validation, injection, and secret exposure.Documentation Writer Review
docs-updated.agents/skills/nemoclaw-maintainer-cut-release-tag/SKILL.md,.agents/skills/nemoclaw-maintainer-e2e/SKILL.md,.agents/skills/nemoclaw-maintainer-evening/SKILL.md,.agents/skills/nemoclaw-maintainer-morning/SKILL.md,.agents/skills/nemoclaw-maintainer-release-notes/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.md, and.agents/skills/nemoclaw-maintainer-day/PR-REVIEW-PRIORITIES.md; no user-facingdocs/page changes are needed.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 run docsbuilds without warnings (doc changes only)Additional verification:
npm run build:cli && npm run typecheck:clinpm run test:projects:checknpm run test-size:checknpm run source-shape:checkgit diff --checkSigned-off-by: Charan Jagwani cjagwani@nvidia.com