Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 31 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -242,6 +242,37 @@ jobs:
path: target/distrib/
pattern: artifacts-installers
merge-multiple: true
- name: Strip wrong-arch Windows ARM64 npm mapping
# cargo-dist 0.28.0 has no knob to filter `supportedPlatforms`. It
# emits an `aarch64-pc-windows-msvc` entry that points to the x86_64
# Windows zip, which would silently install the wrong arch on
# Windows ARM. Repack the tarball without that entry until either
# we ship a native Windows ARM64 target or cargo-dist exposes a
# filter knob upstream.
run: |
set -euo pipefail
tarball=target/distrib/plumb-cli-npm-package.tar.gz
if [ ! -f "$tarball" ]; then
echo "::error::$tarball not found"
exit 1
fi
work=$(mktemp -d)
tar -xzf "$tarball" -C "$work"
pkg_dir=$(find "$work" -maxdepth 2 -name package.json -printf '%h\n' | head -n1)
node -e '
const fs = require("fs");
const path = process.argv[1];
const data = JSON.parse(fs.readFileSync(path, "utf8"));
if (data.supportedPlatforms && data.supportedPlatforms["aarch64-pc-windows-msvc"]) {
delete data.supportedPlatforms["aarch64-pc-windows-msvc"];
fs.writeFileSync(path, JSON.stringify(data, null, 2) + "\n");
console.log("stripped aarch64-pc-windows-msvc from supportedPlatforms");
} else {
console.log("no aarch64-pc-windows-msvc entry to strip; leaving package.json untouched");
}
' "$pkg_dir/package.json"
(cd "$(dirname "$pkg_dir")" && tar -czf "$GITHUB_WORKSPACE/$tarball" "$(basename "$pkg_dir")")
rm -rf "$work"
- name: Publish plumb-cli to npm
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
Expand Down
1 change: 0 additions & 1 deletion docs/src/SUMMARY.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,6 @@
# CI

- [GitHub Code Scanning](./ci/github-code-scanning.md)
- [Release Prep](./ci/release-prep.md)
- [reviewdog](./ci/reviewdog.md)

# Rules
Expand Down
51 changes: 0 additions & 51 deletions docs/src/ci/release-prep.md

This file was deleted.

10 changes: 0 additions & 10 deletions tests/install-smoke-validate.sh
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@ REPO_ROOT="$(cd "$(dirname "$0")/.." && pwd)"
WORKFLOW="$REPO_ROOT/.github/workflows/install-smoke.yml"
JUSTFILE="$REPO_ROOT/justfile"
CI_WORKFLOW="$REPO_ROOT/.github/workflows/ci.yml"
RELEASE_PREP_DOC="$REPO_ROOT/docs/src/ci/release-prep.md"

failures=0

Expand Down Expand Up @@ -202,15 +201,6 @@ else
fail "workflow docs do not describe all four channels as live"
fi

if [ -f "$RELEASE_PREP_DOC" ] \
&& grep -Fq 'Issue #51 is verified in this repo state.' "$RELEASE_PREP_DOC" \
&& grep -Fq 'install-smoke `brew` legs run live' "$RELEASE_PREP_DOC" \
&& grep -Fq 'Issue #52 is wired in this repo state.' "$RELEASE_PREP_DOC"; then
pass "release prep doc records #51 (verified, brew tap live) and #52 (wired, unscoped plumb-cli)"
else
fail "release prep doc does not record the current #51 (verified) / #52 (wired) state"
fi

# Exit code handling: 0 and 3 are acceptable, 2 is infra failure.
if grep -Eq 'rc.*-ne 0.*rc.*-ne 3|exit 0.*exit 3' "$WORKFLOW"; then
pass "workflow distinguishes acceptable exit codes (0, 3) from failures"
Expand Down
Loading