fix(ci): swap docker:cli for node:20-bookworm to fix checkout failure #19

Merged
brad merged 1 commit from fix/ci-node-container into main 2026-02-17 18:21:53 -08:00
Owner

Problem

CI has been failing with:

exec: "node": executable file not found in $PATH: unknown

actions/checkout@v4 is a Node.js action. docker:cli is Alpine-based and has no node binary, so checkout fails immediately.

This is the root cause behind the cascade in #18 — fixing safe.directory and runner user alignment unblocked us enough to reveal this next layer.

Fix

Swap container: docker:clicontainer: image: node:20-bookworm on both workflows.
Add an "Install Docker CLI" step (via apt-get install docker.io) before any Docker commands.

DOCKER_HOST=tcp://dind:2375 still propagates from the runner environment, so the DinD socket continues to work as before.

Changes

  • .forgejo/workflows/build.yaml — main build workflow
  • .forgejo/workflows/build-coder.yml — coder variant workflow

Both workflows get the identical fix. Closes #18.

## Problem CI has been failing with: ``` exec: "node": executable file not found in $PATH: unknown ``` `actions/checkout@v4` is a Node.js action. `docker:cli` is Alpine-based and has no `node` binary, so checkout fails immediately. This is the root cause behind the cascade in #18 — fixing safe.directory and runner user alignment unblocked us enough to reveal this next layer. ## Fix Swap `container: docker:cli` → `container: image: node:20-bookworm` on both workflows. Add an "Install Docker CLI" step (via `apt-get install docker.io`) before any Docker commands. `DOCKER_HOST=tcp://dind:2375` still propagates from the runner environment, so the DinD socket continues to work as before. ## Changes - `.forgejo/workflows/build.yaml` — main build workflow - `.forgejo/workflows/build-coder.yml` — coder variant workflow Both workflows get the identical fix. Closes #18.
actions/checkout@v4 is a Node.js action and requires `node` in PATH.
docker:cli (Alpine-based) has no Node runtime, causing:
  exec: "node": executable file not found in $PATH

Fix: use node:20-bookworm as the job container (Debian, has apt + node).
Install docker.io via apt before any Docker commands.

DOCKER_HOST=tcp://dind:2375 continues to propagate from the runner env.
Both build.yaml and build-coder.yml updated with identical pattern.

Closes #18
brad merged commit 59f0062644 into main 2026-02-17 18:21:53 -08:00
brad deleted branch fix/ci-node-container 2026-02-17 18:21:53 -08:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
commune/sandbox!19
No description provided.