ci(udg): build bot — add the build-dist label and CI runs just build #193
No reviewers
Labels
No labels
build-dist
priority
P1
priority
P2
priority
P3
priority
P4
bug
duplicate
enhancement
help wanted
invalid
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
Toilville/toilville-design!193
Loading…
Reference in a new issue
No description provided.
Delete branch "ci/udg-build-bot"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Scope
Adds the UDG build bot, so designers (Keff first) get
dist/rebuilt without a localtoolchain. Add the
build-distlabel to a same-repo PR, or dispatch the workflow with a branch,and CI:
buildrecipe inpython:3.12-slim;poppler-utils itself);
dist/,Brand/source/derived/,docs/brand-guide.html, the WordPress theme and preview outputs);It never runs for forks or
main. A "Let CI build it" section inCONTRIBUTING.mdexplains it.This is step 1 of the designer-tooling roadmap. Step 2 is
just doctorand a designer quickstart.Setup needed before it can run (repo admin)
build-dist.UDG_BUILD_BOT_TOKEN: a dedicated bot account's token with writeaccess to this repository only (contents, plus issues for removing the label). Don't reuse
CI_TOKEN. Forgejo's automatic token won't work, because its pushes don't re-trigger the driftgate.
pull_requestevents, the workflow file from the PR head runs. Anyone who can push abranch here could therefore read this token, but they already have write access, so it grants
nothing new. Keep the token scoped to this repository.
Testing
Rehearsed in
python:3.12-slim(Docker) with the workflow's ownrun:blocks, extracted from theYAML; only
git pushwas stubbed:mainwith staleartifact.html(the control, which should produce a commit)artifact.html, identical to #192Brand/source/derived/plate.ui.rectangle.svg+dist/assets/*committed::error::build changed non-generated paths; nothing pushed: stray.txtThe extract, artifact, brand-guide, assets and docs checks all pass on both bot-made commits.
test_workflow_invariants.py: 62 passed.yamllint --strict .forgejo/workflows/: clean. Not yetexercised live: the push and the label removal, which need the secret above.
Impact Statement
udg-dist-checkis unchanged.just buildlocally still works.Docs
CONTRIBUTING.md→ "Let CI build it". Merge #192 first so the drift gate is green.just build