Tags: astrid-runtime/astrid
Tags
feat(release): add signed nightly train (#1264) ## Linked Issue Closes #1263 ## Summary Add an opt-in, signed nightly train without treating `main` as a release. Nightly snapshots use the same authenticated artifact and channel contracts as deliberate dev and stable promotions. ## Changes - publish immutable run-dated nightlies through the protected release lane - promote only authenticated release metadata and exact artifact inventories - require stable releases to have passed through the signed dev channel - harden partial-release recovery and release-class separation - extend the client with explicit `stable`, `dev`, and `nightly` channel handling - parse GitHub's immutable-release setting explicitly during one-time bootstrap - make Homebrew independently authenticate stable instead of accepting a pushed version - keep nightly publication disabled until `ASTRID_NIGHTLY_RELEASES_ENABLED` is explicitly enabled Merging this pull request does not publish a release or move a channel pointer. ## Verification - `cargo fmt --all -- --check` - `CARGO_TARGET_DIR=/private/tmp/astrid-nightly-cargo-target cargo test -p astrid update_channel --locked` - `python3.12 -m unittest test_nightly_version.py test_channel_metadata.py test_release_manifest.py` - `bash scripts/test-channel-workflow-contract.sh` - `actionlint` on the release, promotion, and nightly workflows ## Checklist - [x] Linked to an issue - [x] CHANGELOG.md updated (entry under `[Unreleased]`)
feat(release): add signed nightly train (#1264) ## Linked Issue Closes #1263 ## Summary Add an opt-in, signed nightly train without treating `main` as a release. Nightly snapshots use the same authenticated artifact and channel contracts as deliberate dev and stable promotions. ## Changes - publish immutable run-dated nightlies through the protected release lane - promote only authenticated release metadata and exact artifact inventories - require stable releases to have passed through the signed dev channel - harden partial-release recovery and release-class separation - extend the client with explicit `stable`, `dev`, and `nightly` channel handling - parse GitHub's immutable-release setting explicitly during one-time bootstrap - make Homebrew independently authenticate stable instead of accepting a pushed version - keep nightly publication disabled until `ASTRID_NIGHTLY_RELEASES_ENABLED` is explicitly enabled Merging this pull request does not publish a release or move a channel pointer. ## Verification - `cargo fmt --all -- --check` - `CARGO_TARGET_DIR=/private/tmp/astrid-nightly-cargo-target cargo test -p astrid update_channel --locked` - `python3.12 -m unittest test_nightly_version.py test_channel_metadata.py test_release_manifest.py` - `bash scripts/test-channel-workflow-contract.sh` - `actionlint` on the release, promotion, and nightly workflows ## Checklist - [x] Linked to an issue - [x] CHANGELOG.md updated (entry under `[Unreleased]`)
feat(release): add signed nightly train (#1264) ## Linked Issue Closes #1263 ## Summary Add an opt-in, signed nightly train without treating `main` as a release. Nightly snapshots use the same authenticated artifact and channel contracts as deliberate dev and stable promotions. ## Changes - publish immutable run-dated nightlies through the protected release lane - promote only authenticated release metadata and exact artifact inventories - require stable releases to have passed through the signed dev channel - harden partial-release recovery and release-class separation - extend the client with explicit `stable`, `dev`, and `nightly` channel handling - parse GitHub's immutable-release setting explicitly during one-time bootstrap - make Homebrew independently authenticate stable instead of accepting a pushed version - keep nightly publication disabled until `ASTRID_NIGHTLY_RELEASES_ENABLED` is explicitly enabled Merging this pull request does not publish a release or move a channel pointer. ## Verification - `cargo fmt --all -- --check` - `CARGO_TARGET_DIR=/private/tmp/astrid-nightly-cargo-target cargo test -p astrid update_channel --locked` - `python3.12 -m unittest test_nightly_version.py test_channel_metadata.py test_release_manifest.py` - `bash scripts/test-channel-workflow-contract.sh` - `actionlint` on the release, promotion, and nightly workflows ## Checklist - [x] Linked to an issue - [x] CHANGELOG.md updated (entry under `[Unreleased]`)
PreviousNext