ops/devops: fix console runner build paths and log built image

This commit is contained in:
StellaOps Bot
2025-12-07 15:23:08 +02:00
parent a403979177
commit e3f28a21ab
4 changed files with 10 additions and 11 deletions

View File

@@ -41,6 +41,7 @@
## Execution Log
| Date (UTC) | Update | Owner |
| --- | --- | --- |
| 2025-12-07 | Built offline console runner image locally via `ops/devops/console/build-runner-image-ci.sh` (tag `stellaops/console-runner:offline-20251207T131911Z`, tarball at `ops/devops/artifacts/console-runner/console-runner-20251207T131911Z.tar`); ready for runner registration. | DevOps Guild |
| 2025-12-07 | Added console runner CI build workflow (`.gitea/workflows/console-runner-image.yml`) and CI wrapper (`ops/devops/console/build-runner-image-ci.sh`) to publish baked runner tarball + metadata. | DevOps Guild |
| 2025-12-07 | Added console runner Dockerfile + build helper to bake npm/Playwright caches; README updated with runner image usage. | DevOps Guild |
| 2025-12-07 | Added console offline runner spec (`ops/devops/console/README.md`) and manual-only CI skeleton (`.gitea/workflows/console-ci.yml`); moved DEVOPS-CONSOLE-23-001 to DOING pending runner cache bake/approval. | DevOps Guild |

View File

@@ -11,16 +11,14 @@ ENV DEBIAN_FRONTEND=noninteractive \
NPM_CONFIG_AUDIT=false \
NPM_CONFIG_PROGRESS=false \
SOURCE_DATE_EPOCH=${SOURCE_DATE_EPOCH} \
PLAYWRIGHT_BROWSERS_PATH=/home/runner/.cache/ms-playwright \
NPM_CONFIG_CACHE=/home/runner/.npm \
PLAYWRIGHT_BROWSERS_PATH=/home/node/.cache/ms-playwright \
NPM_CONFIG_CACHE=/home/node/.npm \
CI=true
RUN apt-get update && \
apt-get install -y --no-install-recommends git ca-certificates dumb-init wget curl && \
rm -rf /var/lib/apt/lists/*
RUN useradd -m -u 1000 runner
WORKDIR /tmp/console-seed
COPY ${APP_DIR}/package.json ${APP_DIR}/package-lock.json ./
@@ -29,12 +27,12 @@ RUN npm ci --cache ${npm_config_cache} --prefer-offline --no-audit --progress=fa
PLAYWRIGHT_BROWSERS_PATH=/tmp/ms-playwright npx playwright install chromium --with-deps && \
rm -rf node_modules
RUN install -d -o runner -g runner /home/runner/.npm /home/runner/.cache && \
mv /tmp/npm-cache /home/runner/.npm && \
mv /tmp/ms-playwright /home/runner/.cache/ms-playwright && \
chown -R runner:runner /home/runner/.npm /home/runner/.cache
RUN install -d -o node -g node /home/node/.npm /home/node/.cache && \
mv /tmp/npm-cache /home/node/.npm && \
mv /tmp/ms-playwright /home/node/.cache/ms-playwright && \
chown -R node:node /home/node/.npm /home/node/.cache
WORKDIR /workspace
USER runner
USER node
ENTRYPOINT ["/usr/bin/dumb-init","--"]
CMD ["/bin/bash"]

View File

@@ -10,7 +10,7 @@ set -euo pipefail
# OUTPUT_TAR : optional override of tarball path (default: ops/devops/artifacts/console-runner/console-runner-$RUN_ID.tar)
# APP_DIR : optional override of app directory (default: src/Web/StellaOps.Web)
ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)"
ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/../../.." && pwd)"
RUN_ID="${RUN_ID:-${GITHUB_RUN_ID:-$(date -u +%Y%m%dT%H%M%SZ)}}"
APP_DIR="${APP_DIR:-src/Web/StellaOps.Web}"
IMAGE_TAG="${IMAGE_TAG:-stellaops/console-runner:offline-$RUN_ID}"

View File

@@ -5,7 +5,7 @@ set -euo pipefail
# IMAGE_TAG: docker tag to produce (default: stellaops/console-runner:offline)
# OUTPUT_TAR: optional path to save the image tarball for airgap use.
ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)"
ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/../../.." && pwd)"
IMAGE_TAG=${IMAGE_TAG:-stellaops/console-runner:offline}
DOCKERFILE=${DOCKERFILE:-ops/devops/console/Dockerfile.runner}
APP_DIR=${APP_DIR:-src/Web/StellaOps.Web}