Skip to main content
- Phase 095 release pipeline overhaul. The preflight job is now the single bootstrap producer, emitting
casca-build-state.tar (Cargo cache, lightningcss binary, casca binary, bundled dist/, release notes, manifest.env) at workspace root via actions/upload-artifact@v3. Every downstream consumer (stage, monorepo-codeberg-release, publish-mirror, mirror-codeberg-release, site-deploy) downloads and restores the artifact, asserts REF, SHA, MONOREPO_VERSION, CSS_VERSION, and CLI_VERSION match the manifest, and runs without re-bootstrapping. No downstream job invokes cargo, rustup, lightningcss, or make bootstrap. Build-matrix uses a per-target Cargo cache and runs in parallel with the consumer chain.
- Five prebuilt Make targets enforce the contract from the Makefile side:
require-build-state, site-prebuilt, publish-site-prebuilt, release-css-mirror-prebuilt, stage-npm-packages-prebuilt. Each recipe is source-free by construction and never triggers Cargo, lightningcss, or rustup.
tools/release-css-mirror.sh adds a canonical retry3() helper and wraps the final mirror push so transient SSH and git failures retry instead of failing the release.
site-deploy ends with a terminal runtime-report writer that queries the Forgejo Actions API for release-workflow and lint-plus-policy.yml job timings, classifies the current run as cold or warm via the bootstrap Cargo cache hit output, and writes .casca-cache/runtime-reports/release-<run_id>.json with honest per-cache-state measurements (cold OR warm, never both, with JSON null for the unobserved field).
- Mirror release token renamed from the design's nominal
CODEBERG_MIRROR_RELEASE_TOKEN to the operator-provisioned CODEBERG_RELEASE_CSS_TOKEN, unblocking the v1.5.0 mirror-codeberg-release 404. Operators must provision a Codeberg PAT scoped to the skell/casca-css mirror repository under this secret name.