4 Commits

Author SHA1 Message Date
copilotcoder
6db9232f1f ci: retrigger workflow run
Some checks failed
CICD / Build and Push CICD Images (push) Successful in 18m37s
CICD / Build CICD Image Failure Postmortem (push) Has been skipped
CICD / Source Checks (push) Successful in 2m29s
CICD / Source Lanes Failure Postmortem (push) Has been skipped
CICD / Build Tester Images (push) Successful in 4m29s
CICD / Dependency Audits (Informational) (push) Successful in 11m12s
CICD / CICD Tests Complete (push) Successful in 6s
CICD / Build Release Images (push) Failing after 17m29s
CICD / Production Images Complete (push) Failing after 9s
CICD / Runtime Black-Box Integration Tests (push) Has been skipped
CICD / Production Image Failures Postmortem (push) Successful in 17s
CICD / End-to-End Tests (push) Has been skipped
CICD / Integration Tests Failure Postmortem (push) Has been skipped
CICD / Promote Staging Images To Release (push) Has been skipped
CICD / E2E Tests Failure Postmortem (push) Has been skipped
Renovate Dependency Updates / Renovate Dependencies (push) Successful in 5m32s
2026-07-23 07:59:49 -04:00
copilotcoder
a93bd3c274 fix: continue node tarball case lines
Some checks failed
CICD / Build and Push CICD Images (push) Failing after 43m19s
Renovate Dependency Updates / Renovate Dependencies (push) Successful in 3m52s
CICD / Build CICD Image Failure Postmortem (push) Has been cancelled
CICD / Source Checks (push) Has been cancelled
CICD / Dependency Audits (Informational) (push) Has been cancelled
CICD / CICD Tests Complete (push) Has been cancelled
CICD / Build Release Images (push) Has been cancelled
CICD / Build Tester Images (push) Has been cancelled
CICD / Production Images Complete (push) Has been cancelled
CICD / Production Image Failures Postmortem (push) Has been cancelled
CICD / Source Lanes Failure Postmortem (push) Has been cancelled
CICD / Runtime Black-Box Integration Tests (push) Has been cancelled
CICD / Integration Tests Failure Postmortem (push) Has been cancelled
CICD / End-to-End Tests (push) Has been cancelled
CICD / E2E Tests Failure Postmortem (push) Has been cancelled
CICD / Promote Staging Images To Release (push) Has been cancelled
2026-07-22 23:39:45 -04:00
copilotcoder
ae0c0ac857 fix: install node from upstream tarball
Some checks failed
CICD / Build and Push CICD Images (push) Failing after 1m39s
CICD / Source Checks (push) Has been skipped
CICD / Dependency Audits (Informational) (push) Has been skipped
CICD / Build Tester Images (push) Has been skipped
CICD / Build Release Images (push) Has been skipped
CICD / Build CICD Image Failure Postmortem (push) Successful in 12s
CICD / CICD Tests Complete (push) Failing after 7s
CICD / Production Images Complete (push) Failing after 6s
CICD / Runtime Black-Box Integration Tests (push) Has been skipped
CICD / Production Image Failures Postmortem (push) Has been skipped
CICD / End-to-End Tests (push) Has been skipped
CICD / Source Lanes Failure Postmortem (push) Has been skipped
CICD / Integration Tests Failure Postmortem (push) Has been skipped
CICD / E2E Tests Failure Postmortem (push) Has been skipped
CICD / Promote Staging Images To Release (push) Has been skipped
2026-07-22 23:06:48 -04:00
copilotcoder
a6180a187d fix: install npm in cicd base image
Some checks failed
CICD / Build and Push CICD Images (push) Failing after 11m46s
CICD / Source Checks (push) Has been skipped
CICD / Dependency Audits (Informational) (push) Has been skipped
CICD / Build Release Images (push) Has been skipped
CICD / Build Tester Images (push) Has been skipped
CICD / Build CICD Image Failure Postmortem (push) Successful in 18s
CICD / CICD Tests Complete (push) Failing after 55s
CICD / Production Images Complete (push) Failing after 57s
CICD / Runtime Black-Box Integration Tests (push) Has been skipped
CICD / End-to-End Tests (push) Has been skipped
CICD / Production Image Failures Postmortem (push) Has been skipped
CICD / Integration Tests Failure Postmortem (push) Has been skipped
CICD / Source Lanes Failure Postmortem (push) Has been skipped
CICD / Promote Staging Images To Release (push) Has been skipped
CICD / E2E Tests Failure Postmortem (push) Has been skipped
2026-07-22 22:37:31 -04:00
2 changed files with 26 additions and 16 deletions

View File

@@ -331,7 +331,7 @@ jobs:
PYTHON_VERSION="$(python3 -c "from pathlib import Path; import re, tomllib, sys; pyproject = tomllib.loads(Path('backend/pyproject.toml').read_text()); requires_python = pyproject['project']['requires-python']; match = re.search(r'([0-9]+[.][0-9]+)', requires_python); sys.exit('could not derive backend Python version') if not match else None; print(match.group(1))")"
NODE_MAJOR="$(node -p "const pkg = require('./frontend/package.json'); const match = String(pkg.engines?.node ?? '').match(/(\\d+)/); if (!match) throw new Error('could not derive frontend Node major'); process.stdout.write(match[1])")"
NODE_MAJOR="$(node -p "const pkg = require('./frontend/package.json'); const match = String(pkg.engines?.node ?? '').match(/(\\d+)/); if (!match) throw new Error('could not derive frontend Node major'); match[1]")"
PLAYWRIGHT_BROWSERS_MIRROR_TAG="${GITEA_REGISTRY}/${PLAYWRIGHT_MIRROR_IMAGE}"
PLAYWRIGHT_BROWSERS_UPSTREAM_TAG="${PLAYWRIGHT_IMAGE}"
@@ -1107,8 +1107,8 @@ jobs:
FRONTEND_BASE_TAG_REF="${FRONTEND_BASE_REPO}:${HEAD_SHA}"
FRONTEND_BASE_CACHE_REF="${FRONTEND_BASE_REPO}:cache"
NODE_ALPINE_TAG="$(node -p "const pkg = require('./frontend/package.json'); const match = String(pkg.engines?.node ?? '').match(/(\\d+)/); if (!match) throw new Error('could not derive frontend Node major'); process.stdout.write(match[1] + '-alpine')")"
YARN_VERSION="$(node -p "const pkg = require('./frontend/package.json'); const match = String(pkg.packageManager ?? '').match(/^yarn@(.*)$/); if (!match) throw new Error('could not derive frontend Yarn version'); process.stdout.write(match[1])")"
NODE_ALPINE_TAG="$(node -p "const pkg = require('./frontend/package.json'); const match = String(pkg.engines?.node ?? '').match(/(\\d+)/); if (!match) throw new Error('could not derive frontend Node major'); match[1] + '-alpine'")"
YARN_VERSION="$(node -p "const pkg = require('./frontend/package.json'); const match = String(pkg.packageManager ?? '').match(/^yarn@(.*)$/); if (!match) throw new Error('could not derive frontend Yarn version'); match[1]")"
retry_registry_op pull "${FRONTEND_BASE_CACHE_REF}" 5 3 || true
BUILDKIT_NO_CLIENT_TOKEN=1 DOCKER_BUILDKIT=1 docker build -f Dockerfile.frontend \
@@ -1303,8 +1303,8 @@ jobs:
DEPLOYABLE_FRONTEND_TAG_REF="${DEPLOYABLE_FRONTEND_REPO}:${HEAD_SHA}"
DEPLOYABLE_FRONTEND_CACHE_REF="${DEPLOYABLE_FRONTEND_REPO}:cache"
NODE_ALPINE_TAG="$(node -p "const pkg = require('./frontend/package.json'); const match = String(pkg.engines?.node ?? '').match(/(\\d+)/); if (!match) throw new Error('could not derive frontend Node major'); process.stdout.write(match[1] + '-alpine')")"
YARN_VERSION="$(node -p "const pkg = require('./frontend/package.json'); const match = String(pkg.packageManager ?? '').match(/^yarn@(.*)$/); if (!match) throw new Error('could not derive frontend Yarn version'); process.stdout.write(match[1])")"
NODE_ALPINE_TAG="$(node -p "const pkg = require('./frontend/package.json'); const match = String(pkg.engines?.node ?? '').match(/(\\d+)/); if (!match) throw new Error('could not derive frontend Node major'); match[1] + '-alpine'")"
YARN_VERSION="$(node -p "const pkg = require('./frontend/package.json'); const match = String(pkg.packageManager ?? '').match(/^yarn@(.*)$/); if (!match) throw new Error('could not derive frontend Yarn version'); match[1]")"
docker_login_with_retry 5 3
retry_registry_op pull "${DEPLOYABLE_FRONTEND_CACHE_REF}" 5 3 || true

View File

@@ -122,17 +122,27 @@ RUN for i in 1 2 3; do \
rm -rf /var/lib/apt/lists/*
# Install Node.js with retry mechanism
RUN for i in 1 2 3; do \
echo "Attempt $i: Installing Node.js ${NODE_MAJOR}..." && \
curl -fsSL --connect-timeout 30 --max-time 300 \
https://deb.nodesource.com/setup_${NODE_MAJOR}.x | bash - && \
find /etc/apt -type f \( -name 'sources.list' -o -name '*.sources' -o -name '*.list' \) -print0 | xargs -0 sed -i 's|http://|https://|g' && \
apt-get update && \
timeout 300 apt-get install -y --no-install-recommends nodejs && \
break || \
(echo "Attempt $i failed, retrying in 15s..." && sleep 15); \
done && \
rm -rf /var/lib/apt/lists/*
RUN node_arch="$(dpkg --print-architecture)"; \
case "$node_arch" in \
amd64) node_tarball_arch=linux-x64 ;; \
arm64) node_tarball_arch=linux-arm64 ;; \
*) echo "unsupported architecture for Node.js tarball: $node_arch" >&2; exit 1 ;; \
esac; \
for i in 1 2 3; do \
echo "Attempt $i: Installing Node.js ${NODE_MAJOR}..."; \
node_version="$(python3 -c "import json, urllib.request; versions = json.load(urllib.request.urlopen('https://nodejs.org/dist/index.json')); print(next(item['version'].lstrip('v') for item in versions if item['version'].startswith('v${NODE_MAJOR}.')))" )"; \
if curl -fsSLO "https://nodejs.org/dist/v${node_version}/node-v${node_version}-${node_tarball_arch}.tar.xz" && \
tar -xJf "node-v${node_version}-${node_tarball_arch}.tar.xz" -C /usr/local --strip-components=1 && \
rm -f "node-v${node_version}-${node_tarball_arch}.tar.xz"; then \
break; \
fi; \
if [ "$i" -lt 3 ]; then \
echo "Attempt $i failed, retrying in 15s..."; \
sleep 15; \
else \
exit 1; \
fi; \
done
# Enable corepack for yarn and set up Yarn Berry
RUN corepack enable \