ci: pin pi-studio to newest semver tag, not main HEAD
Lint workflows / actionlint (push) Successful in 23s

Upstream omaclaren/pi-studio stopped publishing GitHub Releases at v0.5.55
but keeps tagging every version (v0.9.36 now) and pushing to main. Tracking
main HEAD risked baking half-finished commits that land after a tag.

resolve-versions now lists all tags via a single git ls-remote (the REST
tags API paginates at 100 and the repo has >140 tags, so a single page can
miss the newest), picks the highest X.Y.Z with sort -V (pre-releases
excluded), and peels it to a commit SHA for PI_STUDIO_REF. SHA (not moving
tag) keeps cache-busting + reproducibility; require_sha still enforced.

Studio-variant only, not base-affecting. No change to the resolved commit
today (v0.9.36 == current main HEAD). Validated: yq parse OK, bash -n OK,
live git ls-remote -> v0.9.36 -> 2ef38ef. No tag.
This commit is contained in:
pi
2026-07-13 17:54:56 +02:00
parent aaf1be0bcb
commit 32586f19e7
2 changed files with 43 additions and 4 deletions
+16
View File
@@ -33,6 +33,22 @@ Pre-v1.0.0 tags followed the pi npm version (`v{pi_version}[letter]`).
overridden per-user (`:set notermguicolors`, or your own init). Base-affecting
(`Dockerfile.base` apt package + COPY), rebuilds `base-<hash>`.
### Changed
- **`-studio` images now pin pi-studio to its newest *semver tag* instead of
`main` HEAD.** Upstream `omaclaren/pi-studio` abandoned GitHub *Releases* at
v0.5.55 but keeps tagging every version (currently `v0.9.36`) and pushing to
`main`; tracking `main` HEAD risked baking half-finished commits that land
after a tag. CI (`resolve-versions`) now lists every tag via a single
`git ls-remote` (the REST tags API paginates at 100 and the repo already has
>140 tags), selects the highest `X.Y.Z` with `sort -V` (pre-releases
excluded by a strict filter), and pins that tag's commit SHA into
`PI_STUDIO_REF`. Pinning the SHA (not the moving tag) preserves cache-busting
and reproducibility, is what `require_sha` demands, and is recorded in the
`se.jordbo.pi-devbox.pi-studio-ref` image label. Studio-variant only — not
base-affecting; takes effect on the next `-studio` build. No change to the
resolved commit today (`v0.9.36` == current `main` HEAD).
### Fixed
- **`pandoc --pdf-engine=typst` now works without `-V mainfont`.** pandoc's