ci(release): add dev flavor artifacts to release workflow#53
Merged
Conversation
Release workflow now builds two flavors per platform (linux-x64, darwin-arm64, darwin-x64): - default flavor: asset name ncode-VERSION-SLUG.zip - dev flavor: asset name ncode-VERSION-dev-SLUG.zip Both flavors build from the same source commit via the existing build matrix (3 platforms x 2 flavors = 6 build jobs). The publish job assembles all artifacts into a single GitHub release per tag, with sha256 sidecars, manifest files, and artifact attestations preserved for both flavors. Adds a --skip-exposure-audit flag to build/packageSmoke.mjs so the dev flavor smoke can run; the exposure audit remains enforced for the default flavor. RELEASING.md updated to document the two-flavor release contract. CHANGELOG entry added. Refs: #45
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
Release workflow now builds two flavors per supported platform (linux-x64, darwin-arm64, darwin-x64):
ncode-VERSION-${slug}.zipncode-VERSION-dev-${slug}.zipBoth flavors build from the same source commit via an extended build matrix (3 platforms × 2 flavors = 6 build jobs). The publish job assembles all artifacts into a single GitHub release per tag, with
.sha256checksum sidecars,.manifest.jsonfiles, and artifact attestations preserved for both flavors.What changes
.github/workflows/release.yml: build matrix extended with aflavordimension (default,dev). Each flavor runs the appropriate build mode viabuild/packageSmoke.mjs --build-mode <mode>and emits asset names with the flavor suffix. Cargo cache key includes the flavor to avoid cross-flavor cache poisoning. Publish job downloadsrelease-assets-*withmerge-multiple(unchanged shape, now picks up 6 artifacts instead of 3).build/packageSmoke.mjs: adds--skip-exposure-auditflag. Default flavor keeps the source exposure audit enforced; dev flavor skips it (dev legitimately enables additional surfaces that the audit would otherwise flag).RELEASING.md: documents the two-flavor release contract and the secrets policy.CHANGELOG.md: one-line entry.Verification
Local dev-flavor smoke passed:
YAML parse: pass. Package smoke script arg parse: pass.
CI dry-run + tag-triggered release will prove both flavors across all three platforms end-to-end. Both flavors of
0.2.0will land as release assets on the same GitHub release whenv0.2.0is tagged.Out of scope
0.2.0version bump and CHANGELOG move from[Unreleased]to[0.2.0]section (separate release-cut PR).Refs #45.