ci: bootstrap node before actions/checkout on Gitea runners
`actions/checkout@v4` is a JavaScript action — it expects `node` on PATH in the runner image. Gitea Actions (and local `act`) running against `ubuntu:24.04` had neither node nor git pre-installed, so checkout failed with: ❌ Failure - Main actions/checkout@v4 exitcode '127': command not found The pre-step now installs nodejs + git + ca-certificates from apt before checkout runs. The rest of the C++ toolchain installs in a second step after the source tree is on disk. Doesn't affect GitHub-hosted runners (their images already have node); doesn't change build behaviour either. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
+16
-6
@@ -11,22 +11,32 @@ jobs:
|
|||||||
container:
|
container:
|
||||||
image: ubuntu:24.04
|
image: ubuntu:24.04
|
||||||
steps:
|
steps:
|
||||||
- name: Install toolchain
|
# actions/checkout@v4 is a Node-based action; the bare ubuntu:24.04
|
||||||
|
# runner image has no node, so checkout fails with
|
||||||
|
# `exitcode '127': command not found`. Install node + git BEFORE
|
||||||
|
# checkout, then install the rest of the toolchain after.
|
||||||
|
- name: Bootstrap (node + git for actions/checkout)
|
||||||
run: |
|
run: |
|
||||||
export DEBIAN_FRONTEND=noninteractive
|
export DEBIAN_FRONTEND=noninteractive
|
||||||
apt-get update
|
apt-get update
|
||||||
|
apt-get install -y --no-install-recommends \
|
||||||
|
git \
|
||||||
|
ca-certificates \
|
||||||
|
nodejs
|
||||||
|
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Install C++ toolchain
|
||||||
|
run: |
|
||||||
|
export DEBIAN_FRONTEND=noninteractive
|
||||||
apt-get install -y --no-install-recommends \
|
apt-get install -y --no-install-recommends \
|
||||||
build-essential \
|
build-essential \
|
||||||
cmake \
|
cmake \
|
||||||
ninja-build \
|
ninja-build \
|
||||||
git \
|
|
||||||
libasio-dev \
|
libasio-dev \
|
||||||
libyaml-cpp-dev \
|
libyaml-cpp-dev \
|
||||||
python3 \
|
python3 \
|
||||||
python3-yaml \
|
python3-yaml
|
||||||
ca-certificates
|
|
||||||
|
|
||||||
- uses: actions/checkout@v4
|
|
||||||
|
|
||||||
- name: Configure
|
- name: Configure
|
||||||
run: cmake -S . -B build -G Ninja -DCMAKE_BUILD_TYPE=Release
|
run: cmake -S . -B build -G Ninja -DCMAKE_BUILD_TYPE=Release
|
||||||
|
|||||||
Reference in New Issue
Block a user