Make ./up.sh and ./down.sh run as documented - #295
Conversation
README.md gives ./up.sh as the way to start the local stack, but none of the three helper scripts were tracked as executable, so the command answered "Permission denied" on a fresh clone. Their first line was "# /bin/bash" -- a comment rather than a shebang -- and the two Compose scripts called docker-compose, the v1 binary retired in June 2023 that a current Docker installation may not provide at all. Closes #292 Closes #294 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Self-reviewThe diff was read in full and each claim in the pull-request description was re-checked against source. No blocking defect was found. Three notes are recorded below, two of which describe pre-existing conditions deliberately left out of scope, and one of which is the verification gap the description already flags. Correctness of the change itself. The v2 spelling is right in both scripts: Documentation consistency. Notes
This comment was drafted during a Gardener session (https://github.com/Stephenson-Software/gardener). |
Held for a local Compose run, not mergedBoth CI jobs pass — Build Website (Node.js) and Build & Test API (Java) — the self-review above found no blocking defect, and the documentation pass over It is being left open rather than merged because #292 asks for something this run cannot supply:
That remains true here. What is wanted before merge is a single local check on a machine with Docker: This comment was drafted during a Gardener session (https://github.com/Stephenson-Software/gardener). |
Summary
up.sh,down.shandbuild_and_run.sh. All three were tracked as mode100644, so./up.sh— the commandREADME.mdgives as the way to start the local stack — answeredPermission deniedon a fresh clone, before Docker was reached at all. They are now mode100755(up.shanddown.share not executable, so the documented./up.shfails on a fresh clone #294).# /bin/bashto#!/bin/bash. What was there is a comment, not an interpreter line, so the interpreter was left to whatever the caller fell back to rather than declared by the script (up.sh/down.shcall the retireddocker-composev1 binary and have a commented-out shebang #292).up.shanddown.shnow calldocker composerather thandocker-compose. Compose v1 reached end of life in June 2023 and a current Docker installation may ship nodocker-composeexecutable at all; the v2 spelling is the oneREADME.md,CONFIG.md,CONTRIBUTING.mdanddpc-api/README.mdalready use, which left the scripts as the only holdout (up.sh/down.shcall the retireddocker-composev1 binary and have a commented-out shebang #292).CHANGELOG.mdunder a newFixedheading in[Unreleased].No behaviour of the site itself is touched: the diff is three shell scripts and the changelog, with no TypeScript, no component and no configuration change.
Test plan
100755in the committed tree (git show --summaryreports the three mode changes).compose.ymland against every document that names a Compose command, so nothing else needs updating alongside it.README.md(lines 108, 125, 131) andCONFIG.md(lines 48, 64) were re-read: both already document./up.shand./down.sh, and both become accurate with this change rather than needing an edit.build.ymlrunsnpm run lint,npm testandnpm run build); no Node toolchain was available in the environment where this was prepared../up.shand./down.shagainst a Docker installation is still wanted before merge, as issueup.sh/down.shcall the retireddocker-composev1 binary and have a commented-out shebang #292 asks — Compose is exercised by neither CI nor the environment this was prepared in.Closes #292
Closes #294
This PR description was drafted during a Gardener session (https://github.com/Stephenson-Software/gardener).