Base ghcr.io/inti-cmnb/kicad10_auto_full:1.9.1-1_k10.0.5 (KiBot 1.9.1, KiCad 10.0.5) plus Node.js 24.22.0 LTS from nodejs.org (SHA-256 checked). act_runner runs JavaScript actions inside the job container; the KiBot images have no Node. build.sh builds, tests and pushes git.b4l.co.th/b4l/kicad10_auto_node:latest and a versioned tag.
37 lines
1.6 KiB
Docker
37 lines
1.6 KiB
Docker
# KiBot's KiCad 10 image plus Node.js, for Gitea Actions.
|
|
#
|
|
# act_runner runs JavaScript actions (actions/checkout, upload-artifact) inside
|
|
# the job container, and the KiBot images have no Node. The runner label is
|
|
# kicad10_auto:docker://git.b4l.co.th/b4l/kicad10_auto_node:latest
|
|
# so a runner without the image pulls it, instead of every job installing Node.
|
|
#
|
|
# Build and push with ../build.sh (see ../README.md).
|
|
|
|
ARG BASE=ghcr.io/inti-cmnb/kicad10_auto_full:1.9.1-1_k10.0.5_d13.2_b4.2.4LTS
|
|
FROM ${BASE}
|
|
|
|
ARG BASE
|
|
ARG NODE_VERSION=24.22.0
|
|
# Extra global npm packages, space separated (none by default).
|
|
ARG NPM_GLOBAL=""
|
|
|
|
# Node.js from nodejs.org, checked against the release's SHA-256 list.
|
|
# The base image has no xz, so use the .tar.gz build.
|
|
RUN set -eux; \
|
|
file="node-v${NODE_VERSION}-linux-x64.tar.gz"; \
|
|
cd /tmp; \
|
|
curl -fsSLO "https://nodejs.org/dist/v${NODE_VERSION}/${file}"; \
|
|
curl -fsSLO "https://nodejs.org/dist/v${NODE_VERSION}/SHASUMS256.txt"; \
|
|
grep " ${file}\$" SHASUMS256.txt | sha256sum -c -; \
|
|
tar -xzf "${file}" -C /usr/local --strip-components=1 --no-same-owner \
|
|
--exclude='*/CHANGELOG.md' --exclude='*/README.md' --exclude='*/LICENSE'; \
|
|
rm -f "${file}" SHASUMS256.txt; \
|
|
if [ -n "${NPM_GLOBAL}" ]; then npm install -g --no-fund --no-audit ${NPM_GLOBAL}; fi; \
|
|
npm cache clean --force; \
|
|
node --version; npm --version
|
|
|
|
LABEL org.opencontainers.image.title="kicad10_auto_node" \
|
|
org.opencontainers.image.description="KiBot KiCad 10 image with Node.js for Gitea Actions" \
|
|
org.opencontainers.image.source="https://git.b4l.co.th/B4L/ci-images" \
|
|
org.opencontainers.image.base.name="${BASE}"
|