From 3b21c2922841ec2cad8ba808de2f9bf9416c5160 Mon Sep 17 00:00:00 2001 From: Cameron Cooke Date: Mon, 22 Sep 2025 21:05:38 +0100 Subject: [PATCH 1/3] ci: polish MCP registry job\n\n- Disable setup-go cache to remove go.sum warning\n- Add retries to DNS login\n- Track MCP_STATUS and print summary\n- Keep best-effort behavior without failing workflow --- .github/workflows/release.yml | 41 ++++++++++++++++++++++++++++++++++- 1 file changed, 40 insertions(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index f4e735f4..b4b3d071 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -177,6 +177,7 @@ jobs: uses: actions/setup-go@v5 with: go-version: '1.22' + cache: false # avoid warning about missing go.sum - name: Install MCP Publisher if: env.MCP_DNS_PRIVATE_KEY != '' @@ -193,7 +194,20 @@ jobs: if: env.MCP_DNS_PRIVATE_KEY != '' run: | echo "🔐 Using DNS authentication for com.xcodebuildmcp/* namespace" - ./mcp-publisher login dns --domain xcodebuildmcp.com --private-key "${MCP_DNS_PRIVATE_KEY}" + attempts=0 + max_attempts=5 + delay=5 + until ./mcp-publisher login dns --domain xcodebuildmcp.com --private-key "${MCP_DNS_PRIVATE_KEY}"; do + rc=$? + attempts=$((attempts+1)) + if [ $attempts -ge $max_attempts ]; then + echo "::warning::MCP Registry login failed after $attempts attempts (exit $rc). Proceeding to publish attempt which will also retry." + break + fi + echo "âš ī¸ Login failed (exit $rc). Retrying in ${delay}s... (attempt ${attempts}/${max_attempts})" + sleep $delay + delay=$((delay*2)) + done - name: Publish to MCP Registry (best-effort) if: env.MCP_DNS_PRIVATE_KEY != '' @@ -207,6 +221,7 @@ jobs: attempts=$((attempts+1)) if [ $attempts -ge $max_attempts ]; then echo "âš ī¸ MCP Registry publish failed after $attempts attempts (exit $rc). Skipping without failing workflow." + echo "MCP_STATUS=FAILED" >> $GITHUB_ENV exit 0 fi echo "âš ī¸ Publish failed (exit $rc). Retrying in ${delay}s... (attempt ${attempts}/${max_attempts})" @@ -214,3 +229,27 @@ jobs: delay=$((delay*2)) done echo "✅ MCP Registry publish succeeded." + echo "MCP_STATUS=SUCCESS" >> $GITHUB_ENV + + - name: Mark MCP publish skipped + if: env.MCP_DNS_PRIVATE_KEY == '' + run: | + echo "MCP_STATUS=SKIPPED" >> $GITHUB_ENV + + - name: MCP Publish Summary + if: always() + run: | + case "${MCP_STATUS}" in + SUCCESS) + echo "✅ MCP Registry publish completed successfully." + ;; + SKIPPED) + echo "âš ī¸ MCP Registry publish skipped (missing MCP_DNS_PRIVATE_KEY)." + ;; + FAILED) + echo "::warning::MCP Registry publish failed after retries (best-effort). Release remains successful." + ;; + *) + echo "â„šī¸ MCP Registry publish status unknown." + ;; + esac From c30b50283f842d17c5b0cb3dd739cd26f927cd25 Mon Sep 17 00:00:00 2001 From: Cameron Cooke Date: Mon, 22 Sep 2025 21:06:15 +0100 Subject: [PATCH 2/3] Revert "ci: polish MCP registry job\n\n- Disable setup-go cache to remove go.sum warning\n- Add retries to DNS login\n- Track MCP_STATUS and print summary\n- Keep best-effort behavior without failing workflow" This reverts commit 11eaff23c02e3e5f8dbf54dde5c776cbf081ca32. --- .github/workflows/release.yml | 41 +---------------------------------- 1 file changed, 1 insertion(+), 40 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index b4b3d071..f4e735f4 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -177,7 +177,6 @@ jobs: uses: actions/setup-go@v5 with: go-version: '1.22' - cache: false # avoid warning about missing go.sum - name: Install MCP Publisher if: env.MCP_DNS_PRIVATE_KEY != '' @@ -194,20 +193,7 @@ jobs: if: env.MCP_DNS_PRIVATE_KEY != '' run: | echo "🔐 Using DNS authentication for com.xcodebuildmcp/* namespace" - attempts=0 - max_attempts=5 - delay=5 - until ./mcp-publisher login dns --domain xcodebuildmcp.com --private-key "${MCP_DNS_PRIVATE_KEY}"; do - rc=$? - attempts=$((attempts+1)) - if [ $attempts -ge $max_attempts ]; then - echo "::warning::MCP Registry login failed after $attempts attempts (exit $rc). Proceeding to publish attempt which will also retry." - break - fi - echo "âš ī¸ Login failed (exit $rc). Retrying in ${delay}s... (attempt ${attempts}/${max_attempts})" - sleep $delay - delay=$((delay*2)) - done + ./mcp-publisher login dns --domain xcodebuildmcp.com --private-key "${MCP_DNS_PRIVATE_KEY}" - name: Publish to MCP Registry (best-effort) if: env.MCP_DNS_PRIVATE_KEY != '' @@ -221,7 +207,6 @@ jobs: attempts=$((attempts+1)) if [ $attempts -ge $max_attempts ]; then echo "âš ī¸ MCP Registry publish failed after $attempts attempts (exit $rc). Skipping without failing workflow." - echo "MCP_STATUS=FAILED" >> $GITHUB_ENV exit 0 fi echo "âš ī¸ Publish failed (exit $rc). Retrying in ${delay}s... (attempt ${attempts}/${max_attempts})" @@ -229,27 +214,3 @@ jobs: delay=$((delay*2)) done echo "✅ MCP Registry publish succeeded." - echo "MCP_STATUS=SUCCESS" >> $GITHUB_ENV - - - name: Mark MCP publish skipped - if: env.MCP_DNS_PRIVATE_KEY == '' - run: | - echo "MCP_STATUS=SKIPPED" >> $GITHUB_ENV - - - name: MCP Publish Summary - if: always() - run: | - case "${MCP_STATUS}" in - SUCCESS) - echo "✅ MCP Registry publish completed successfully." - ;; - SKIPPED) - echo "âš ī¸ MCP Registry publish skipped (missing MCP_DNS_PRIVATE_KEY)." - ;; - FAILED) - echo "::warning::MCP Registry publish failed after retries (best-effort). Release remains successful." - ;; - *) - echo "â„šī¸ MCP Registry publish status unknown." - ;; - esac From 04e9b268e97d2572ec7deaf5201e87abd1eb8ef6 Mon Sep 17 00:00:00 2001 From: Cameron Cooke Date: Mon, 22 Sep 2025 21:06:15 +0100 Subject: [PATCH 3/3] revert: undo accidental direct commit to main (ci polish)