fix: install node in job containers so actions/checkout can exec
Build / Build and push image (push) Failing after 15s
CI / Test, vet, build (push) Successful in 1m45s

actions/checkout@v4 is a JS action; Forgejo Actions runs it via node, which
neither golang:1.25-bookworm nor docker:27-cli ship. Every run since the
.gitea/workflows move has failed identically: 'exec: node: executable file
not found in $PATH' during the checkout step, before any real job step ran.

Verified locally against both exact images before pushing:
- golang:1.25-bookworm: apt-get install nodejs ca-certificates git -> node
  v18.20.4, git 2.39.5.
- docker:27-cli: apk add nodejs git -> node v22.23.2, git 2.47.2, and
  actions/checkout's dist/index.js actually executes afterward (confirmed
  by invoking it directly) instead of failing on a missing binary.
- The Dockerfile itself builds clean end to end and the resulting image
  serves /healthz, so checkout was the only remaining blocker in the path.
This commit is contained in:
Story Crater Bot
2026-08-21 13:49:24 -07:00
parent dac1a5da4b
commit 7ebbf2bd03
2 changed files with 19 additions and 0 deletions
+8
View File
@@ -28,6 +28,14 @@ jobs:
container:
image: golang:1.25-bookworm
steps:
# actions/checkout@v4 is a JS action -- Forgejo Actions execs it with
# `node`, which golang:1.25-bookworm doesn't ship. Without this the
# checkout step fails with "exec: node: executable file not found in
# $PATH" before any of the job's own steps run. Same fix already in use
# in kmsvc-manage's ci.yaml; carried over here.
- name: install node (required by JS-based actions)
run: apt-get update && apt-get install -y --no-install-recommends nodejs ca-certificates git
- uses: actions/checkout@v4
- name: go vet