From f04b1752f454be2a6bb33949bb75017e88883323 Mon Sep 17 00:00:00 2001 From: Dmitriy Petrov Date: Sun, 9 Aug 2026 00:46:07 +0300 Subject: [PATCH] Use mirrored Node image for gateway builds --- .gitea/workflows/gateway-build.yml | 7 +++---- src/shared/versions.ts | 2 +- test/server/compiled-entrypoint.test.js | 5 +++-- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/.gitea/workflows/gateway-build.yml b/.gitea/workflows/gateway-build.yml index 1957385..2e42ec8 100644 --- a/.gitea/workflows/gateway-build.yml +++ b/.gitea/workflows/gateway-build.yml @@ -8,7 +8,7 @@ on: env: DEPLOY_PATH: /opt/vpn-proxy BASE_IMAGE: vpn-proxy-runtime-base:bookworm-slim - NODE_BUILD_IMAGE: node:20.19-alpine + NODE_BUILD_IMAGE: mirror.gcr.io/library/node:20.19-alpine RUNTIME_BASE_SOURCE_IMAGE: mirror.gcr.io/library/debian:bookworm-slim APT_MIRROR: http://mirror.yandex.ru/debian APT_SECURITY_MIRROR: http://mirror.yandex.ru/debian-security @@ -87,9 +87,8 @@ jobs: npm test npm run build:production else - if ! docker image inspect "${{ env.NODE_BUILD_IMAGE }}" >/dev/null 2>&1 \ - || ! docker run --rm "${{ env.NODE_BUILD_IMAGE }}" sh -lc 'command -v npm >/dev/null'; then - echo "Cannot validate change: host npm and the existing Node 20.19 build image are unavailable." >&2 + if ! docker run --rm "${{ env.NODE_BUILD_IMAGE }}" sh -lc 'command -v npm >/dev/null'; then + echo "Cannot validate change: host npm and the Node 20.19 build image are unavailable." >&2 exit 1 fi echo "Host npm not found; validating inside ${{ env.NODE_BUILD_IMAGE }}" diff --git a/src/shared/versions.ts b/src/shared/versions.ts index 2cef7ad..09e56be 100644 --- a/src/shared/versions.ts +++ b/src/shared/versions.ts @@ -1,7 +1,7 @@ export const HARBOR_VERSIONS = Object.freeze({ macClient: '0.20.36', gatewayClient: '0.21.21', - gatewayBackend: '0.21.20', + gatewayBackend: '0.21.21', }); export interface ParsedVersion { diff --git a/test/server/compiled-entrypoint.test.js b/test/server/compiled-entrypoint.test.js index fcf2f0b..63b700c 100644 --- a/test/server/compiled-entrypoint.test.js +++ b/test/server/compiled-entrypoint.test.js @@ -148,8 +148,9 @@ test('production paths use only the compiled dispatcher', () => { assert.doesNotMatch(entrypoint, /\/app\/src/); } assert.match(workflow, /npm run build:production/); - assert.match(workflow, /NODE_BUILD_IMAGE: node:20\.19-alpine/); - assert.match(workflow, /docker image inspect "\$\{\{ env\.NODE_BUILD_IMAGE \}\}"[\s\S]*validating inside \$\{\{ env\.NODE_BUILD_IMAGE \}\}/); + assert.match(workflow, /NODE_BUILD_IMAGE: mirror\.gcr\.io\/library\/node:20\.19-alpine/); + assert.match(workflow, /docker run --rm "\$\{\{ env\.NODE_BUILD_IMAGE \}\}" sh -lc 'command -v npm/); + assert.doesNotMatch(workflow, /docker image inspect "\$\{\{ env\.NODE_BUILD_IMAGE \}\}"/); assert.match(legacyBuild, /npm run build:production && docker build/); assert.match(dockerignore, /^dist$/m); });