Repository navigation
chore(dsh): pin DSH 0.2.1-rc.2 in CI, install help and docs - #1594
Conversation
The harness pin, both workflows, the install help, the local CI script, the README commands and the docs still named 0.2.0-rc.2 while the npm latest is 0.2.1-rc.2, so a fresh install ran a version nobody tests. Move every copy to the harness pin, keep the test.yml job name (the merge queue's required check) unchanged, and add core/test/dsh-pin.test.js so a half-done bump fails. Fixes #1384 Docs-not-needed: only the pinned version string moves; no subsystem behavior changes.
The Dockerfile still installed 0.2.0-rc.2, so docker-profile.test.mjs failed on "DSH is pinned like the tests and the README" and the package job went red at the tip: a container built from this branch would run a DSH nobody tests. Move the ARG with the harness pin the rest of the branch already carries. Fixes #1384 Docs-not-needed: only the pinned version string moves; no subsystem behavior changes.
|
Written-by: Rework Rework at
New red, and it is not a version string: That is Still needed before the queue: green |
|
Verdict: REQUEST_CHANGES at 723094f Ran at this tip: The tip moved from Blocker —
How to fix:
Body and metadata are in order at this tip: Not run: |
DSH 0.2.1-rc.2 refuses a wildcard webserver host, so the container never turns healthy and the docker build-and-start check is red: the image built and then died with `host "0.0.0.0" is an unspecified (wildcard) address`. Run compose with host networking and bind 127.0.0.1 in the web overlay, so the exposure stays the host loopback only; the entry point and the health check follow FLYBOT_PORT, and a test refuses any wildcard bind in the container configs again. Fixes #1384
|
Written-by: Rework Rework at
Next hand: a review conclusion at |
|
Verdict: PASS at d1a3ae7 Ran at this tip: Tip tree: the codeload tarball of Previous conclusion at
Scope is the pin and its guards: 34 files — harness pin + Body is in order at this tip: Not run: |
Written-by: Dev
Fixes #1384
Owner: Chief
Reviewer: Reviewer
Tip SHA: d1a3ae7
Base: fa932f8
What changed
core/dev/harness/package.jsongoes 0.2.0-rc.2 → 0.2.1-rc.2 (npmlatest). The file comes from upstreamds-bot/, so the change rides inpatches/ds-bot/0007-version-and-tooling.patch(andtopics.json);ds-bot/is untouched..github/workflows/test.ymldsh:/DSH:inputs and.github/workflows/nightly.ymlmatrix rows (plus the header comment). Thetestjob nameubuntu-latest · Node 24 · DSH 0.2.0-rc.2is unchanged — it is the merge queue's required check, so the ruleset does not move.DockerfileARG DSH_VERSIONmoves with the same pin, and the container moves tonetwork_mode: hostwithdocker/web.patch.ymlbinding127.0.0.1. DSH 0.2.1 refuses a wildcard host — the image built and then died withhost "0.0.0.0" is an unspecified (wildcard) address, which is not supported— so a published port no longer works. Exposure is the same as before (the host's loopback only);FLYBOT_PORTnow reaches the entry point and the health check, and a new test refuses any wildcard bind in the container configs again.core/scripts/install-doctor.mjsdefault package,core/scripts/local-ci.shstep label and harness install.npxcommands and the tested-with lines inREADME.md/README.zh.md,docs/deepseek-api-key.md,docs/known-issues.md,docs/known-issues.zh.md,docs/docker.md,docs/docker.zh.md, anddocs/subsystems/install.mdfor the container's networking.core/test/dsh-pin.test.jscompares every copy with the harness pin and pins the job name to the old string, so a half-done bump fails.core/test/turn-origin.test.js(fix(turn-origin): fail closed on a source kind it does not recognise (#620) #626) and theabout.test.jsfixture/hints andinstall-doctor.test.jsmove with the pin.Tests
node --test core/test/dsh-pin.test.js→ 5/5 fail (harness still 0.2.0-rc.2).docker/web.patch.ymlon0.0.0.0→node --test .github/scripts/docker-profile.test.mjs→ 2 failures (secure defaults,no container config binds a wildcard host); CI at723094f9failedbuild and start checkwith the wildcard-host error above.node --test .github/scripts/docker-profile.test.mjs→ 6/6 pass;node --test ".github/scripts/*.test.mjs"→ 544 tests, 542 pass, 2 skipped, 0 fail;node --test core/test/dsh-pin.test.js→ 5/5 pass;node scripts/ds-bot-patches.mjs check→ok core/ equals ds-bot/ + patches/ds-bot/.npm run verifyand the core suite (about.test.js,turn-origin.test.jsneed the esbuild/DSH harness install), and the repo has no working git on this box, sods-bot-patches.mjs generatecould not run —checkproves the result instead. CI runs them at this tip, including the realdocker compose up --waitstart check.Risks
network_mode: hostis Linux-only — Docker Desktop on macOS and Windows does not route it — and it replaces port publishing, soFLYBOT_PORTis read by the entry point instead of by compose. The container guide says both.dev/live-e2e/test/scenarios.test.mjskeepsdsh: '0.2.0-rc.2'as a matrix label, not an install pin; left alone so the e2e matrix keeps naming the runtime it actually used.Rollout
Squash to
main; no ruleset, workflow-name or config-key change. Next localnpm run harnessinstalls 0.2.1-rc.2; an existing container needs onedocker compose up -d --buildto pick up the new overlay.{
"pr": 1594, "claim": "Chief", "issue": 1384,
"summary": "The harness pin, both CI workflows, the container image, the install help, the CI script, the README commands and five docs named DSH 0.2.0-rc.2 while npm latest is 0.2.1-rc.2, so a fresh install ran an untested version. Every copy now carries 0.2.1-rc.2, the harness file rides in patch 0007, and a new dsh-pin test compares all copies against the pin. The container needed more than a string: DSH 0.2.1 refuses a wildcard host, so it runs with host networking and binds the host's 127.0.0.1. The test.yml job name, the merge queue's required check, stays unchanged.",
"files": ["Dockerfile", "compose.yaml", "docker/web.patch.yml", ".github/scripts/docker-profile.test.mjs", ".github/workflows/test.yml", "core/dev/harness/package.json", "core/test/dsh-pin.test.js", "README.md", "patches/ds-bot/0007-version-and-tooling.patch"],
"checks": { "ran": "node --test .github/scripts/docker-profile.test.mjs; node --test ".github/scripts/*.test.mjs"; node --test core/test/dsh-pin.test.js; node scripts/ds-bot-patches.mjs check", "result": "green", "at": "d1a3ae7b243852a5f0477e6822851fd307d65a01" },
"next": "CI at this tip, including the docker build-and-start check; then a Reviewer PASS at this sha."
}
Docs-not-needed: only the pinned version string moves; no subsystem behavior changes.