release: musl targets, .vsix artifact + gated marketplace publish, loud Homebrew tap step, keyless artifact signing - #414
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Cluster of release-pipeline fixes from the pre-release audit:
x86_64-unknown-linux-muslandaarch64-unknown-linux-muslto the release build matrix (with amusl-toolsinstall step), producingslint-linux-amd64-musl.tar.gz/slint-linux-arm64-musl.tar.gz+.sha256, matching the naming convention from fix: publish a sha256 checksum file for every release asset #336. README install section updated with a musl example.vscoderelease job now also runspnpm --filter slint-vscode packageand attaches the resulting.vsixto the GitHub release; Marketplace publish already existed behindVSCE_PATand stays secret-gated (skips cleanly with a warning when absent).HOMEBREW_TAP_DEPLOY_KEYwas missing, which is why the tap repo has noslint.rbafter two releases. It now fails the release run with an actionable error when the secret is missing, pre-checks SSH reachability ofMaximeGaudin/homebrew-tap, and re-clones after push to verifyFormula/slint.rbadvertises the released version. The tap repo exists andFormula/slint.rbis the correct path (it currently hosts onlyvoid.rb; a tap may host multiple formulas) — the actual blocker is the unconfigured secret, which CI will now surface loudly instead of hiding.sigstore/cosign-installer(pinned to the full SHA of v4.1.0): every artifact gets.sig,.cert, and.sigstorebundle uploaded next to the tarball. Verify withcosign verify-blob --certificate ... --certificate-identity-regexp '^https://github.com/MaximeGaudin/slint/' --certificate-oidc-issuer https://token.actions.githubusercontent.com --signature artifact.sig artifact. This fits release.yml's build-per-artifact structure without restructuring; full SLSA generic provenance would require a rebuildable workflow and is noted as a follow-up.Verification notes:
Fixes
Secrets required by new/changed steps
HOMEBREW_TAP_DEPLOY_KEY(existing; now required — the release run fails without it, by design of release.yml's Homebrew tap update has never actually run: the tap repo has no slint formula despite two releases #233)VSCE_PAT(existing; optional — Marketplace publish skips when absent)OVSX_PAT(existing; optional — Open VSX publish skips when absent; not enabled by this PR)GITHUB_TOKENgainscontents: writeon thevscodejob (release asset upload) andid-token: writeon thebuildjob (keyless signing), per least privilege.Test plan
actionlintclean on all workflows