Adopt the standard STRTA scaffold (Makefile/scripts diverge from the org standard) #1
Reference in New Issue
Block a user
Delete Branch "%!s()"
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?
The
Makefilediverges from our standard scripts-to-rule-them-all (STRTA) scaffold. Under STRTA, theMakefileis a set of thin shims that delegate toscript/*POSIX-shentrypoints, and CI runsscript/cibuild. The living reference is thenetwatchrepo (Makefile+script/+.gitea/workflows/check.yml); mirror it exactly.Current state (nonconformance)
Makefiletargets are inline recipes rather than@script/*shims:test,lint,fmt,fmt-check,check,docker, andhooksall contain inline commands.bootstrap,setup.script/directory..gitea/workflows/check.ymlexists but runsdocker build .directly instead ofscript/cibuild.Definition of done
Makefilehas a.PHONYdeclaration listing at least the nine standard targets:bootstrap,setup,test,lint,fmt,fmt-check,check,docker,hooks.@script/NAME(testcalls@script/test,hookscalls@script/install-precommit, etc.). Repo-specific extra targets are allowed but must not replace the standard shims.script/directory holds executable POSIX-shentrypoints (#!/bin/sh,set -e) forbootstrap,setup,test,lint,fmt,fmt-check,check,docker,install-precommit, pluscibuild. The real logic currently inline in theMakefilemoves into these scripts.script/checkruns the repo's full local verification (fmt-check+lint+test);script/cibuildis the CI entrypoint (typicallydocker build .), and theDockerfilebuild runsmake checkso the image build fails on any check failure..gitea/workflows/check.ymlinvokesscript/cibuildrather than a baredocker build ..make checkpasses locally anddocker build .succeeds (green) before the change lands.The finishing commit's title must end with
(closes #N)referencing this issue.Landed on
mainas3abeacfand independently reviewed (a reviewer separate from the author) — verdict PASS. The reviewer re-ranmake checkanddocker build .(both green), confirmed the image builds and runsmake checkas the non-rootbuilderuser (uid 1000), and verifiedTestScanHardlinkRunFailsTogetheris genuinely exercised as non-root (open ...: permission denied) rather than weakened —scan_test.gois untouched. All nine standard targets are pure@script/*shims, checks are honest, scope is limited to the scaffold, and there are no AI/trailer hygiene issues. Definition of done met; closing.