Skip to content

fix: isolate nightly release staging - #3175

Merged
f-trycua merged 1 commit into
mainfrom
agent/nightly-release-isolated-staging
Aug 14, 2026
Merged

fix: isolate nightly release staging#3175
f-trycua merged 1 commit into
mainfrom
agent/nightly-release-isolated-staging

Conversation

@f-trycua

Copy link
Copy Markdown
Collaborator

Summary

  • add a reusable stage-versioned-tree release-control command that copies a registered source tree and rewrites only its declared version sites
  • stage the Driver skill pack in an isolated release tree instead of running apply-version against the publish checkout
  • restore strict stable-authority validation for manifest creation and nightly tag publication
  • make staging transactional: existing destinations, unregistered trees, overlapping paths, and incomplete Cargo trees fail closed
  • upgrade the stack's transaction rehearsal to execute the same CLI entry points and argument shapes used by Actions

Root cause

The Driver publish job mutated its source checkout to the nightly version before attribution and publication validation. Those later phases also used the checkout as stable-version authority, which forced exceptions such as require_stable_state=False and caused two initial rollout failures.

Impact

Nightly artifacts are unchanged in shape: the skill tarball still contains the nightly-versioned skill, while installers and verified platform archives retain their existing contracts. The difference is architectural: stable source authority remains immutable throughout publication.

Validation

  • uv run --no-project --with pytest --with jsonschema --with pyyaml --with toml pytest .github/scripts/tests/ -q — 218 passed, 18 subtests passed
  • python3 .github/scripts/release_channels.py validate — 2 components validated
  • go run github.com/rhysd/actionlint/cmd/actionlint@latest .github/workflows/nightly-cua-driver.yml .github/workflows/ci-test-scripts.yml
  • Ruff check and format validation for all changed Python files
  • PyYAML parse of both changed workflows
  • git diff --check

Stack

  1. #3173 — CI path coverage and full synthetic nightly transaction rehearsal.
  2. This PR — isolated versioned staging and restored strict authority validation.

Exclusions

  • no schedule, channel-selection, installer-default, stable-release, signing, or notarization changes
  • no public nightly is triggered by this PR

Refs #3096

@f-trycua
f-trycua force-pushed the agent/nightly-release-isolated-staging branch from 48bbe34 to 3759cc7 Compare August 14, 2026 10:57
@f-trycua
f-trycua changed the base branch from agent/nightly-release-rehearsal to main August 14, 2026 10:57
@f-trycua
f-trycua marked this pull request as ready for review August 14, 2026 10:58
@cursor

cursor Bot commented Aug 14, 2026

Copy link
Copy Markdown

Bugbot is not enabled for your account, so this pull request was not reviewed.

Enable Bugbot in the Cursor dashboard to get automatic reviews on future PRs.

@f-trycua
f-trycua merged commit 51107f4 into main Aug 14, 2026
20 of 21 checks passed
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