Split monolithic step scripts + banner gaps #7
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?
servers/mermaid-gpu/.woodpecker/droplet-image.yaml is 279 lines of inline shell (main in-house offender); claudecode-linter/release.yml is 170. Extract into scripts checked into the repo. Also: forrest/.woodpecker/* (check, branch-sync, preview, preview-reap) lack the mandatory
echo "▸ arch=$(uname -m)"banner — add it. (83/97 files already comply; upstream woodpecker/ checkout excluded.)Resolved. Scope covered all three repos named in this issue:
oleks/forrest — added the mandatory arch banner (
echo "▸ arch=$(uname -m)") as the first command of every step in.woodpecker/check.yaml,branch-sync.yaml,preview.yaml(bothcreate-previewanddestroy-previewsteps), andpreview-reap.yaml. Commit1370920ondevelop(fast-forwarded/pushed after rebasing onto latestorigin/develop).servers/mermaid-gpu — extracted the ~230 lines of inline shell in
.woodpecker/droplet-image.yamlinto three checked-in scripts:ci/build-and-upload.sh,ci/import-to-digitalocean.sh,ci/update-cluster.sh. Each starts withset -euo pipefail(orset -ewhere the original used the softer form), no|| true(the two spots that had it — the ConfigMap-patch guard and the attic-PID kill — are now explicitif/if kill -0checks). Fixed up to passshellcheckclean (this repo's Gitea pre-receive hook runsshellcheckon push and rejects on any finding, including style — braced all variable refs,[[ ]]throughout). Commits5870cc9(extraction),05c2bde(shellcheck fixes), both onmain, pushed and accepted by the pre-receive hook (SHF ✅ SHC ✅).claudecode-linter — extracted the three long inline blocks in
.woodpecker/release.ymlintoci/check-version.sh,ci/build-release-artifacts.sh,ci/release.sh, matching the existingci/common.sh/ci/stage.shstyle in this repo (unbraced vars,[ ]tests — verified that's the repo's actual baseline, not just laziness: existing committed scripts also don't pass strictshellcheck, so I matched precedent rather than over-fix). Arch banner was already present in this file; no change needed there. Commitcb86e7bonmain.Verification: all rewritten/new YAML validated with
yaml.safe_load; extracted.shfiles run throughshellcheck(clean on mermaid-gpu per its enforcing pre-receive hook; informational-only findings on claudecode-linter match repo precedent).droplet-image.yamlis tag-triggered only (droplet-gpu-v*) — per the issue's own guidance this is an expensive pipeline, so I did not manually fire it; static YAML validation + shellcheck-clean scripts stand in for that. No pipeline auto-fired from my forrest push either (oleks/forrest fork isn't itself a registered Woodpecker repo — CI lives on anton/forrest upstream). No blockers.Not closing epic #8 (other repos are owned by peers).