main
tag: v0.1.0
tag: v0.10.0
tag: v0.11.0
tag: v0.12.0
tag: v0.13.0
tag: v0.13.1
tag: v0.14.0
tag: v0.14.1
tag: v0.15.0
tag: v0.16.0
tag: v0.17.0
tag: v0.18.0
tag: v0.19.0
tag: v0.2.0
tag: v0.20.0
tag: v0.20.1
tag: v0.20.2
tag: v0.20.3
tag: v0.21.0
tag: v0.22.0
tag: v0.23.0
tag: v0.23.1
tag: v0.24.0
tag: v0.25.0
tag: v0.26.0
tag: v0.27.0
tag: v0.28.0
tag: v0.29.0
tag: v0.3.0
tag: v0.3.1
tag: v0.30.0
tag: v0.31.0
tag: v0.32.0
tag: v0.33.0
tag: v0.34.0
tag: v0.35.0
tag: v0.36.0
tag: v0.37.0
tag: v0.38.0
tag: v0.39.0
tag: v0.4.0
tag: v0.40.0
tag: v0.41.0
tag: v0.42.0
tag: v0.43.0
tag: v0.44.0
tag: v0.46.0
tag: v0.47.0
tag: v0.48.0
tag: v0.49.0
tag: v0.49.1
tag: v0.5.0
tag: v0.50.0
tag: v0.51.0
tag: v0.52.0
tag: v0.53.0
tag: v0.54.0
tag: v0.55.0
tag: v0.56.0
tag: v0.57.0
tag: v0.58.0
tag: v0.59.0
tag: v0.6.0
tag: v0.60.0
tag: v0.61.0
tag: v0.62.0
tag: v0.63.0
tag: v0.63.1
tag: v0.64.0
tag: v0.65.0
tag: v0.66.0
tag: v0.67.0
tag: v0.68.0
tag: v0.69.0
tag: v0.7.0
tag: v0.70.0
tag: v0.8.0
tag: v0.9.0
Files
Commits
Tags
Notes
Issues
Note that the release restores the branch it pinned
The recipe explained why the preflight leaves the checkout detached but not
that anything undoes it, because until now nothing did.
1 file changed,
+5 insertions,
-0 deletions
23
23
//
24
24
// So this step asserts the pin instead of re-doing it: HEAD must be exactly a
25
25
// tag, or the release is not coming from where it claims.
26
+
//
27
+
// The tree does not STAY detached: the runner records each host's branch before
28
+
// it pins the tag and checks it back out once the build settles. It did not
29
+
// always, and makeover shipped 2.3.0 from a checkout three commits ahead of a
30
+
// `main` that never moved, with the published commit on no branch and no remote.
26
31
step("checkout");
27
32
sh_ok(h, "cd " + r + " && git describe --exact-match --tags HEAD");
28
33