fix(ci): promote-base-latest re-tag step needs shell: bash (set -o pipefail)
b7197e8moved the digest-compare into the re-tag step with 'set -euo pipefail' but no 'shell: bash'; Gitea's default sh (dash) aborts on -o pipefail, leaving base-latest un-promoted on the v1.2.4 release (run 418). Same footgun ased49b8d. Consumer tags unaffected (they FROM base-<hash>, not base-latest).
This commit is contained in:
@@ -600,6 +600,13 @@ jobs:
|
|||||||
-u ${{ vars.DOCKERHUB_USERNAME }} \
|
-u ${{ vars.DOCKERHUB_USERNAME }} \
|
||||||
-p "${{ secrets.DOCKERHUB_TOKEN }}"
|
-p "${{ secrets.DOCKERHUB_TOKEN }}"
|
||||||
- name: Re-tag base-<hash> as base-latest (only if stale)
|
- name: Re-tag base-<hash> as base-latest (only if stale)
|
||||||
|
# shell: bash is REQUIRED — Gitea Actions' default step shell is
|
||||||
|
# `sh -e {0}` (dash), which rejects `set -o pipefail` with
|
||||||
|
# "Illegal option -o pipefail" and aborts the step before the
|
||||||
|
# crane digest-compare runs, leaving base-latest un-promoted.
|
||||||
|
# Same footgun as ed49b8d (resolve-versions). Regression shipped
|
||||||
|
# in b7197e8, caught on the v1.2.4 release (run 418).
|
||||||
|
shell: bash
|
||||||
env:
|
env:
|
||||||
BASE_HASH_REF: ${{ env.IMAGE }}:${{ needs.base-decide.outputs.base_tag }}
|
BASE_HASH_REF: ${{ env.IMAGE }}:${{ needs.base-decide.outputs.base_tag }}
|
||||||
BASE_LATEST_REF: ${{ env.IMAGE }}:base-latest
|
BASE_LATEST_REF: ${{ env.IMAGE }}:base-latest
|
||||||
|
|||||||
@@ -11,6 +11,22 @@ Pre-v1.0.0 tags followed the pi npm version (`v{pi_version}[letter]`).
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
## Unreleased
|
||||||
|
|
||||||
|
### Fixed (CI)
|
||||||
|
|
||||||
|
- **`promote-base-latest` now sets `shell: bash` on the base-latest re-tag
|
||||||
|
step.** The `b7197e8` fix (v1.2.4) moved the digest-compare into that step
|
||||||
|
with `set -euo pipefail`, but Gitea Actions' default step shell is `sh`
|
||||||
|
(dash), which rejects `-o pipefail` (`Illegal option -o pipefail`) and aborts
|
||||||
|
the step before the `crane copy` runs. On the v1.2.4 release (run 418) this
|
||||||
|
left `base-latest` un-promoted, still pointing at the v1.2.3 base — the four
|
||||||
|
consumer tags (`v1.2.4`, `latest`, `v1.2.4-studio`, `latest-studio`) were
|
||||||
|
unaffected because they `FROM` the exact `base-<hash>`, not `base-latest`.
|
||||||
|
Same footgun as `ed49b8d` (`resolve-versions needs shell: bash`).
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
## v1.2.4 — 2026-06-29
|
## v1.2.4 — 2026-06-29
|
||||||
|
|
||||||
Patch release. Headline: **pi `0.80.2` → `0.80.3`** (npm `latest`). Also ships a
|
Patch release. Headline: **pi `0.80.2` → `0.80.3`** (npm `latest`). Also ships a
|
||||||
|
|||||||
Reference in New Issue
Block a user