[ci] Publish canary builds from main - #504
Conversation
Amp-Thread-ID: https://ampcode.com/threads/T-01a093ea-0f35-701b-a273-3488e1eea068 Co-authored-by: Amp <amp@ampcode.com>
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Advanced Run ID: 📒 Files selected for processing (10)
Included review availability: Your plan provides up to 2 included reviews per hour; 0 remain after this review. Summary
Confidence 4/5 - Strong coverage with workflow complexityThe reported Cargo checks, tests, version validation, workflow linting, and whitespace checks provide good merge confidence. The confidence is not 5/5 because the change adds complex cross-platform GitHub Actions release logic that requires successful integration testing. WalkthroughThe pull request adds automated canary releases, filters stable release triggers, validates installer versions, and reports package versions with optional build revisions across the compiler, CLI, and language server. ChangesRelease automation and versioning
Sequence Diagram(s)sequenceDiagram
participant CargoBuildTest
participant CanaryRelease
participant GitHubRelease
participant BuildMatrix
participant InstallersWorkflow
CargoBuildTest->>CanaryRelease: successful main workflow_run
CanaryRelease->>CanaryRelease: derive stable version and revision
CanaryRelease->>GitHubRelease: create or reuse draft prerelease
CanaryRelease->>BuildMatrix: build and upload platform archives
BuildMatrix->>GitHubRelease: attach attested archives
CanaryRelease->>GitHubRelease: publish prerelease
CanaryRelease->>InstallersWorkflow: test installers at canary tag
Priority: ➖ Normal Merge Risk: ⚪ Minimal · up to The canary version, publication, installer checkout, and version assertions are aligned across the changed workflows and compiler surfaces. 🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Compatibility regression reportPackage set ✅ The candidate introduces no compatibility errors.
Introduced errorsNone. Fixed errors (0)None. Warning changes (0 introduced, 0 fixed)Introduced None. Fixed None. Candidate errors (0)None. Candidate warnings (36)
|
Why
The VS Code extension needs a reproducible Iris build from current
mainso integration testing does not have to wait for the next stable release. Stable release tags alone leave the extension testing an increasingly old language server.What changed
mainbuild as an immutable-stylev<version>-dev.<revision>GitHub prerelease.Packagers can provide
IRIS_BUILD_REVISIONas a declared build input. Builds without it retain the normal package version.Verification
cargo check -p purescript-iris --tests --lockedcargo nextest run -p purescript-iris(74 passed)IRIS_BUILD_REVISION=cd35848e8b91 cargo run -p purescript-iris --bin iris -- --version→iris 0.1.0-dev.cd35848e8b91actionlint .github/workflows/canary.yml .github/workflows/installers.yml .github/workflows/release.ymlgit diff --check