From e51df59fedbf980e98ae9eca47ecb1dbf74c703b Mon Sep 17 00:00:00 2001 From: Kunal Pathak Date: Sun, 25 Oct 2026 07:52:30 +0100 Subject: [PATCH] ci(release): wait ten minutes for a new version to appear on Open VSX Problem - Open VSX reported a successful publish, but the new version took longer than the two and a half minutes the confirm step waited. The run went red for a release that was live. Solution - Wait up to ten minutes, and keep the log quiet while the version is not yet listed. --- .github/workflows/release.yml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index b227776..33d94f9 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -113,13 +113,14 @@ jobs: run: | ID=$(node -p "const p = require('./package.json'); p.publisher + '/' + p.name") VERSION="${RELEASE_TAG#v}" - for _ in 1 2 3 4 5 6 7 8 9 10; do - LIVE=$(curl -fsS "https://open-vsx.org/api/$ID/$VERSION" | node -p "JSON.parse(require('fs').readFileSync(0, 'utf8')).version" || true) + # A new version can take several minutes to appear after the publish reports success. + for _ in $(seq 1 40); do + LIVE=$(curl -fsS "https://open-vsx.org/api/$ID/$VERSION" 2>/dev/null | node -p "JSON.parse(require('fs').readFileSync(0, 'utf8')).version" 2>/dev/null || true) if [[ "$LIVE" == "$VERSION" ]]; then echo "$ID $VERSION is live on Open VSX." exit 0 fi sleep 15 done - echo "::error::$ID $VERSION did not appear on Open VSX." + echo "::error::$ID $VERSION did not appear on Open VSX within ten minutes." exit 1