Pin the Linux and macOS release builds to the tag instead of pulling
git pull --ff-only builds whatever main is at pull time, so each host in a
multi-arch release could compile a different commit under one version.
checkout_sha pins the tag and reports the commit, which the daemon's
cross-host barrier then holds every host to.
- Co-Authored-By
- Claude Opus 5 (1M context) <noreply@anthropic.com>
2 files changed,
+8 insertions,
-2 deletions
| 11 |
11 |
|
let r = repo();
|
| 12 |
12 |
|
|
| 13 |
13 |
|
step("checkout");
|
| 14 |
|
- |
sh_ok(h, "cd " + r + " && git pull --ff-only");
|
|
14 |
+ |
// Pin to the release tag v<version> (not whatever main is at pull time); the
|
|
15 |
+ |
// daemon also runs this as a cross-host preflight barrier before any build.
|
|
16 |
+ |
let sha = checkout_sha(h);
|
|
17 |
+ |
log("pinned " + h + " to v" + v + " @ " + sha);
|
| 15 |
18 |
|
|
| 16 |
19 |
|
// Gate: no artifact is built from code that fails clippy or its tests. It runs
|
| 17 |
20 |
|
// on this target's own build host, so a break confined to one platform is
|
| 12 |
12 |
|
let r = repo();
|
| 13 |
13 |
|
|
| 14 |
14 |
|
step("checkout");
|
| 15 |
|
- |
sh_ok(h, "cd " + r + " && git pull --ff-only");
|
|
15 |
+ |
// Pin to the release tag v<version> (not whatever main is at pull time); the
|
|
16 |
+ |
// daemon also runs this as a cross-host preflight barrier before any build.
|
|
17 |
+ |
let sha = checkout_sha(h);
|
|
18 |
+ |
log("pinned " + h + " to v" + v + " @ " + sha);
|
| 16 |
19 |
|
|
| 17 |
20 |
|
// build-macos.sh: build + sign + notarize + staple, DMG into dist/.
|
| 18 |
21 |
|
// Gate: no artifact is built from code that fails clippy or its tests. It runs
|