From 79fa5d66f459df4cf773ed4e35102f2cfb894872 Mon Sep 17 00:00:00 2001 From: Yun Chan Date: Sat, 26 Sep 2026 21:26:19 +0900 Subject: [PATCH] ci(deploy-site): wait for the new commit to reach the edge before verifying the public identity --- .forgejo/workflows/deploy-site.yml | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/.forgejo/workflows/deploy-site.yml b/.forgejo/workflows/deploy-site.yml index 3e4fd1c..541d49a 100644 --- a/.forgejo/workflows/deploy-site.yml +++ b/.forgejo/workflows/deploy-site.yml @@ -69,9 +69,15 @@ jobs: - name: 공개 배포 식별자 검증 run: | - curl --fail --silent --show-error --retry 6 --retry-delay 5 \ - https://d3ro.chanpaca.net/release-identity.json \ - --output release-identity.live.json + # Pages 배포가 엣지에 퍼지기까지 수십 초 걸린다. 새 커밋이 보일 때까지 최대 3분 기다린다. + for attempt in $(seq 1 18); do + curl --fail --silent --show-error --retry 3 --retry-delay 5 \ + -H 'Cache-Control: no-cache' \ + "https://d3ro.chanpaca.net/release-identity.json?t=$(date +%s)" \ + --output release-identity.live.json + if node -e "const live=JSON.parse(require('node:fs').readFileSync('release-identity.live.json','utf8')); process.exit(live.commit===process.env.GITHUB_SHA?0:1)"; then break; fi + echo "live commit not yet $GITHUB_SHA (attempt $attempt)"; sleep 10 + done node -e "const fs=require('node:fs'); const live=JSON.parse(fs.readFileSync('release-identity.live.json','utf8')); if(live.commit!==process.env.GITHUB_SHA) throw new Error('public commit mismatch'); const expected=require('./release/product-version.json').version; if(live.version!==expected) throw new Error('public version mismatch')" node scripts/ci/verify-android-app-links.mjs curl --fail --silent --show-error https://d3ro.chanpaca.net/ --output /dev/null