From fc3196349c80357d16a5761e64087a4ea92c9372 Mon Sep 17 00:00:00 2001 From: "Zimin A.N." Date: Fri, 15 May 2026 23:04:25 +0300 Subject: [PATCH] =?UTF-8?q?fix(ci):=20apk=20update=20before=20add=20?= =?UTF-8?q?=E2=80=94=20picks=20current=20package=20versions=20from=20mirro?= =?UTF-8?q?r?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Image приходит с pre-cached APKINDEX (старые package versions с момента build'а image). После repo swap (sed на internal mirror) apk всё ещё использовал stale cache — просил ca-certificates-20251003 когда в mirror только 20260413 → HTTP 404. Fix: explicit `apk update` после sed, перед `apk add`. Это refresh'ит APKINDEX с нашего mirror; apk теперь видит actual available versions. Применено к 3 jobs (commit-msg-lint, build-docs prep step внутри release, propose-prod-image-bump). После этого release должен пройти на следующем main pipeline → semantic-release минтит v2.31.4 → propose-prod-image-bump auto-создаст infra MR без manual intervention. --- .gitlab-ci.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 1b2a44b..792fa31 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -104,6 +104,10 @@ commit-msg-lint: # переадресуем apk на internal Nexus mirror. Это нужно во всех Alpine # jobs (commit-msg-lint, build-docs ниже, propose-prod-image-bump). - sed -i 's|https://dl-cdn.alpinelinux.org/alpine|https://repo.nstart.cloud/repository/alpine|g' /etc/apk/repositories + # apk update обязателен ПОСЛЕ repo swap: image приходит с pre-cached + # APKINDEX (старые package versions). Без update apk ищет старые .apk + # файлы которых нет в нашем mirror → HTTP 404. См. job 36025 история. + - apk update - apk add --no-cache git grep - | set -e @@ -642,6 +646,7 @@ release: fi # Internal Alpine mirror — см. commit-msg-lint выше для контекста. - sed -i 's|https://dl-cdn.alpinelinux.org/alpine|https://repo.nstart.cloud/repository/alpine|g' /etc/apk/repositories + - apk update - apk add --no-cache git ca-certificates # Configure git remote с токеном для push. CI default remote — HTTPS с # CI_JOB_TOKEN scope, который НЕ может push'ить tags/commits. Переопределяем @@ -745,6 +750,7 @@ propose-prod-image-bump: fi # Internal Alpine mirror — см. commit-msg-lint выше для контекста. - sed -i 's|https://dl-cdn.alpinelinux.org/alpine|https://repo.nstart.cloud/repository/alpine|g' /etc/apk/repositories + - apk update - apk add --no-cache git curl jq script: - |