Fix CI boot check take 3: \$\$ isn't unique across job containers
Every job container's entry shell gets the same low PID, so backend-ci-\$\$ collided with an already-stuck leftover container from a prior run (confirmed in the runner logs: "container name already in use"). GITHUB_RUN_ID is genuinely unique per run -- use that for both the container name and the per-run host port instead.
This commit is contained in:
parent
b4690a0a5e
commit
eff0b1ee18
1 changed files with 10 additions and 7 deletions
|
|
@ -35,14 +35,17 @@ jobs:
|
||||||
# failing fast) -- confirmed by a stuck run. 127.0.0.1 DOES work
|
# failing fast) -- confirmed by a stuck run. 127.0.0.1 DOES work
|
||||||
# (proven by the monorepo's own build.yml, which has used a
|
# (proven by the monorepo's own build.yml, which has used a
|
||||||
# published host port successfully all along), so publish one, but
|
# published host port successfully all along), so publish one, but
|
||||||
# to a per-run PID-derived port rather than a fixed one -- this
|
# to a per-run unique port rather than a fixed one -- this runner's
|
||||||
# runner's snap-Docker install has a known AppArmor bug denying
|
# snap-Docker install has a known AppArmor bug denying docker
|
||||||
# docker stop/kill, so a leftover container from any prior failed
|
# stop/kill, so a leftover container from any prior failed run
|
||||||
# run permanently squats whatever host port it was given, and a
|
# permanently squats whatever host port it was given, and a fixed
|
||||||
# fixed port would block every subsequent run too.
|
# port would block every subsequent run too. GITHUB_RUN_ID (NOT
|
||||||
|
# $$ -- every job container's shell gets the same low PID, so that
|
||||||
|
# collided with an already-stuck leftover from a prior run) is
|
||||||
|
# genuinely unique per run.
|
||||||
run: |
|
run: |
|
||||||
name="backend-ci-$$"
|
name="backend-ci-${GITHUB_RUN_ID}"
|
||||||
port=$((18000 + ($$ % 1000)))
|
port=$((18000 + (GITHUB_RUN_ID % 1000)))
|
||||||
docker run -d --name "$name" \
|
docker run -d --name "$name" \
|
||||||
-e THERMOGRAPH_FRONTEND_BASE_INTERNAL=http://127.0.0.1:1 \
|
-e THERMOGRAPH_FRONTEND_BASE_INTERNAL=http://127.0.0.1:1 \
|
||||||
-p "127.0.0.1:${port}:8137" thermograph-backend:ci
|
-p "127.0.0.1:${port}:8137" thermograph-backend:ci
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue