From c1bc3566ba7ed712bc374bf2cbc0a4a76b80f9e7 Mon Sep 17 00:00:00 2001 From: Octoturge Date: Thu, 27 Aug 2026 01:26:03 +0200 Subject: [PATCH] ci: replace actions/checkout with a raw git clone in build-images actions/checkout is a JS action and needs Node to run inside the job container. The docker-build runner's job image (docker:27-cli, Alpine, just the Docker CLI) has no Node, so the step failed immediately with "exec: node: executable file not found in $PATH" - confirmed via the run's actual log (build-images failed after 16s on every push since the image-in-CI switch, including the just-merged duplicate-mount and if:always() fixes). Alpine has apk/git, so clone directly instead. --- .gitea/workflows/coder-templates.yml | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/.gitea/workflows/coder-templates.yml b/.gitea/workflows/coder-templates.yml index 7f2356f..5a1a130 100644 --- a/.gitea/workflows/coder-templates.yml +++ b/.gitea/workflows/coder-templates.yml @@ -52,8 +52,16 @@ jobs: outputs: failed_templates: ${{ steps.build.outputs.failed_templates }} steps: + # actions/checkout is a JS action and needs Node in the job container - + # this job runs in docker:27-cli (Alpine, just the Docker CLI) so it has + # no Node, and actions/checkout fails immediately with "exec: node: + # executable file not found in $PATH". Alpine does have apk/git though, + # so clone directly instead. - name: Checkout - uses: actions/checkout@v4 + run: | + set -e + apk add --no-cache git + git clone --depth 1 --branch "${{ github.ref_name }}" "${{ github.server_url }}/${{ github.repository }}.git" . - name: Build and push every template's image (skips a tag that's already in the registry) id: build