2.1 KiB
quick_id, title, status
| quick_id | title | status |
|---|---|---|
| 260613-fp9 | .gitea and .planning pushes should not trigger a docker image publish | ready |
Quick Task 260613-fp9: Skip Docker publish for .gitea/.planning-only pushes
Problem
.gitea/workflows/publish.yml triggers on every push to main with no path
filter. Two classes of push currently fire a full Docker build + publish that
produce an identical image:
.planning/**-only commits, which push straight tomain(the.planning/*branch-protection pattern is unprotected)..gitea/**-only changes (CI/workflow edits) merged via PR.
Neither changes the shipped artifact — .dockerignore already excludes
.planning (and apps/api/tests) from the image — so the rebuild is wasted
runner time and a needless :latest re-push / new :vMILESTONE-<sha> tag.
Change
Add a paths-ignore filter to the push trigger in publish.yml:
on:
push:
branches: [main]
paths-ignore:
- '.gitea/**'
- '.planning/**'
Gitea Actions follows GitHub-compatible workflow syntax (the repo already relies
on the native branches: push filter). When every file changed in a push to
main matches a paths-ignore glob, the publish job is skipped. A push that
also touches code/Dockerfile/manifests still triggers publish — correct.
Also update the header comment block to document the new skip behavior.
Tasks
- Edit
.gitea/workflows/publish.yml- files:
.gitea/workflows/publish.yml - action: Add
paths-ignore: ['.gitea/**', '.planning/**']underon.push; update the top-of-file# Trigger:comment to note doc/CI-only pushes skip. - verify:
paths-ignorepresent underon.push; YAML still parses; the existing--target productionself-assertion grep still matches. - done: pushes touching only
.gitea/**and/or.planning/**no longer trigger the publish job; mixed pushes (code + docs) still publish.
- files:
must_haves
- truths:
- publish.yml
on.pushcarries apaths-ignorelisting.gitea/**and.planning/** branches: [main]is retained
- publish.yml
- artifacts:
.gitea/workflows/publish.yml
- key_links:
.gitea/workflows/publish.yml