Push auto-release tags as renovate-bot so release.yml fires, and give the Docker Hub page its short description #196

Merged
lilleman merged 6 commits from item-1 into main 2026-10-31 11:24:19 +01:00
3 changed files with 7 additions and 9 deletions
Showing only changes of commit a7781869fd - Show all commits
+2 -2
View File
@@ -1,4 +1,5 @@
name: Release
# The Hub overview names a released tag, so it is published here only, never on a push to main.
on:
push:
tags: ['v[0-9]+.[0-9]+.[0-9]+']
@@ -81,8 +82,7 @@ jobs:
- uses: actions/checkout@v7.0.1
if: github.event_name == 'push'
# Publish the named release's own tree, so the page never pairs one Plainpages tag with another
# release's sidecar pins, which is also why it never syncs on a push to main. A version that
# was never released fails here.
# release's sidecar pins. A version that was never released fails here.
- uses: actions/checkout@v7.0.1
if: github.event_name == 'workflow_dispatch'
with:
+1 -2
View File
@@ -38,8 +38,7 @@ jobs:
- uses: actions/checkout@v7.0.1
with:
fetch-depth: 0
# A persisted token rides every request as an extraheader, outranking the PAT in the push
# URL: Gitea then sees the Actions bot push the tag and starts no workflow for it.
# A persisted token outranks the PAT in the push URL, and Gitea runs nothing for its pushes.
persist-credentials: false
- name: Tag a release for what Renovate merged
env:
+4 -5
View File
@@ -340,11 +340,10 @@ Revisit only if the stated reason stops holding.
*text* guard — the test image ships neither `git` nor `bash`. This is why the Docker Hub overview is
`release-tooling/dockerhub-overview.md.tmpl` and not a `.md`: a release reads it and a unit test
guards it, so giving it a `.md` name would let a broken `{{VERSION}}` merge with its own guard
skipped. `README.md` is the one markdown tests read — `release-tooling/contract-version.test.ts`
checks its `apiVersion` samples, `release-tooling/dockerhub-overview.test.ts` that the Hub page
says only what it says — and a README-only change skips both; accepted, because those samples are
illustrative, the copies that matter (`examples/`, `views/`, the template) are gated, and the next
gated change catches a README that dropped a Hub command. **Valid while no markdown file is rendered or executed.**
skipped. `README.md` is the one markdown tests read, and a README-only change skips them. Accepted:
the `apiVersion` samples `release-tooling/contract-version.test.ts` checks are illustrative, and
the copies that matter (`examples/`, `views/`, the template) are gated. A Hub page command the
README dropped (`release-tooling/dockerhub-overview.test.ts`) fails the next gated change. **Valid while no markdown file is rendered or executed.**
- **CI docker logins share the runner host's Docker config.** The act_runner is host-mode, so
`docker login`/`logout` in the workflows mutate one shared `~/.docker/config.json`: concurrent jobs
can race (one job's logout can 401 another's push — recover by re-running), and tokens sit in that