diff --git a/.forgejo/workflows/ci.yml b/.forgejo/workflows/ci.yml index cdb2ab14..42ffa76a 100644 --- a/.forgejo/workflows/ci.yml +++ b/.forgejo/workflows/ci.yml @@ -1,7 +1,13 @@ name: CI +# Branch pushes only — a release TAG deliberately does not re-run CI: the +# tagged commit's CI already ran on its branch push, and the runner is +# sequential, so tag-triggered matrix jobs (~22 min) would queue AHEAD of the +# tag's publish-forge run and starve every release (observed on 8.10.3 and +# 9.0.0: the publish sat behind the tag's own redundant CI). on: push: + branches: ['**'] pull_request: jobs: diff --git a/scripts/release.sh b/scripts/release.sh index b386e580..7f068cb8 100755 --- a/scripts/release.sh +++ b/scripts/release.sh @@ -189,7 +189,9 @@ echo -e "${GREEN}✅ Pushed to origin${NC}\n" # the forge/npmjs pair enough to publish the storefront leg. FORGE_NPM_REG="https://source.soulcraft.com/api/packages/soulcraft/npm/" FORGE_POLL_INTERVAL_S=15 -FORGE_POLL_MAX_ATTEMPTS=80 # 80 × 15s = 20 minutes — the runner is sequential; the publish run queues behind ci.yml jobs +FORGE_POLL_MAX_ATTEMPTS=200 # 200 × 15s = 50 minutes — the runner is sequential and a busy day's ci.yml + # backlog has twice exceeded the old 20-minute window (8.10.3, 9.0.0); + # ci.yml no longer runs on tag pushes, but same-day branch pushes still queue ahead echo -e "${BLUE}9️⃣ Waiting for CI to publish v${NEW_VERSION} to the forge registry (home)...${NC}" FORGE_LANDED=false for ((attempt = 1; attempt <= FORGE_POLL_MAX_ATTEMPTS; attempt++)); do