M .builds/publish.yml => .builds/publish.yml +18 -13
@@ 3,11 3,13 @@
# 1. Build artifact (cacher-linux-amd64 visible on the job page,
# pruned by builds.sr.ht after 90 days).
#
-# 2. pages.sr.ht under cacher.srht.bigb.es so downstream projects
-# can `wget https://cacher.srht.bigb.es/cacher-linux-amd64` with
-# a stable URL. The latest tag overwrites the previous publish;
-# historical versions remain available via the artifact link
-# during the 90-day window.
+# 2. pages.sr.ht under bigbes.pages.srht.bigb.es/ci-cacher/, so
+# downstream projects can `wget` from a stable URL. We publish
+# with `hut pages publish -s /ci-cacher` so this manifest only
+# touches files under that subpath — other projects sharing the
+# user-level pages domain stay intact. Latest tag overwrites the
+# previous publish under /ci-cacher; historical versions remain
+# available via the artifact link during the 90-day window.
#
# Auto-submission is restricted to tag refs only.
image: ubuntu/noble
@@ 21,7 23,8 @@ environment:
GO_VERSION: "1.26.3"
PATH: /home/build/.local/go/bin:/home/build/.local/bin:/home/build/go/bin:/usr/local/bin:/usr/bin:/bin
GOPATH: /home/build/go
- PAGES_DOMAIN: cacher.srht.bigb.es
+ PAGES_DOMAIN: bigbes.pages.srht.bigb.es
+ PAGES_SUBPATH: /ci-cacher
submitter:
git.sr.ht:
enabled: true
@@ 50,24 53,26 @@ tasks:
/home/build/cacher-linux-amd64 version
sha256sum /home/build/cacher-linux-amd64
- package_pages: |
- # pages.sr.ht expects a tarball whose top-level contents become the
- # site root — so `tar -C dist .`, not `tar dist/`. The binary lands
- # at https://$PAGES_DOMAIN/cacher-linux-amd64. A minimal index.html
- # makes the root URL informative instead of a 404.
+ # pages.sr.ht expects a tarball whose top-level contents map to the
+ # publish path — so `tar -C dist .`, not `tar dist/`. With
+ # `-s /ci-cacher` the binary lands at
+ # https://$PAGES_DOMAIN/ci-cacher/cacher-linux-amd64. A minimal
+ # index.html under /ci-cacher makes the project URL informative
+ # instead of a 404.
VERSION=$(cd ci-cacher && (git describe --tags --abbrev=0 2>/dev/null || cat VERSION))
SUM=$(sha256sum /home/build/cacher-linux-amd64 | awk '{print $1}')
mkdir -p /home/build/dist
cp /home/build/cacher-linux-amd64 /home/build/dist/cacher-linux-amd64
cat > /home/build/dist/index.html <<EOF
- <!doctype html><meta charset="utf-8"><title>cacher</title>
+ <!doctype html><meta charset="utf-8"><title>cacher $VERSION</title>
<h1>cacher $VERSION</h1>
<p>S3-backed CI cache helper. <a href="https://git.srht.bigb.es/~bigbes/ci-cacher">Source</a>.</p>
- <pre>wget https://$PAGES_DOMAIN/cacher-linux-amd64
+ <pre>wget https://$PAGES_DOMAIN$PAGES_SUBPATH/cacher-linux-amd64
sha256sum cacher-linux-amd64 # expect: $SUM</pre>
EOF
cd /home/build/dist
tar -czvf /home/build/site.tar.gz .
- publish_pages: |
- hut pages publish -d "$PAGES_DOMAIN" /home/build/site.tar.gz
+ hut pages publish -d "$PAGES_DOMAIN" -s "$PAGES_SUBPATH" /home/build/site.tar.gz
artifacts:
- cacher-linux-amd64
M README.md => README.md +3 -3
@@ 26,12 26,12 @@ cacher download "$key" "$out" --url "$url"
```sh
# Pre-built linux-amd64 binary (latest tag):
-wget https://cacher.srht.bigb.es/cacher-linux-amd64 -O ~/.local/bin/cacher
+wget https://bigbes.pages.srht.bigb.es/ci-cacher/cacher-linux-amd64 -O ~/.local/bin/cacher
chmod +x ~/.local/bin/cacher
# Pin to a specific build by sha256 (printed on the publish.yml job page):
-wget https://cacher.srht.bigb.es/cacher-linux-amd64 -O ~/.local/bin/cacher
-echo "<expected-sha256> /root/.local/bin/cacher" | sha256sum -c
+wget https://bigbes.pages.srht.bigb.es/ci-cacher/cacher-linux-amd64 -O ~/.local/bin/cacher
+echo "<expected-sha256> ~/.local/bin/cacher" | sha256sum -c
# From source:
go install go.bigb.es/cacher@latest