From eec61af076e401c73d4e60d04006598887367bb4 Mon Sep 17 00:00:00 2001 From: Erin Spencer Date: Wed, 23 Sep 2026 08:46:20 -0700 Subject: [PATCH 1/2] repair: trigger Render deploy after verified main publication --- .github/workflows/pages.yml | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/.github/workflows/pages.yml b/.github/workflows/pages.yml index 8efc331..81100d3 100644 --- a/.github/workflows/pages.yml +++ b/.github/workflows/pages.yml @@ -93,3 +93,14 @@ jobs: - name: Verify custom-domain deployment identity run: node scripts/verify-live-deployment.mjs "https://interdependentway.org" "${{ github.sha }}" + + - name: Trigger Render MCP deploy + if: github.event_name == 'push' && github.ref == 'refs/heads/main' + env: + RENDER_DEPLOY_HOOK_URL: ${{ secrets.RENDER_DEPLOY_HOOK_URL }} + run: | + if [ -z "$RENDER_DEPLOY_HOOK_URL" ]; then + echo "::warning::RENDER_DEPLOY_HOOK_URL is unset; Render MCP deployment remains hmmm." + exit 0 + fi + curl --fail --show-error --silent --retry 3 --request POST "$RENDER_DEPLOY_HOOK_URL" From c01e65056fb00a043cda18f27e115f8044c67044 Mon Sep 17 00:00:00 2001 From: Erin Spencer Date: Wed, 23 Sep 2026 08:46:23 -0700 Subject: [PATCH 2/2] test: require guarded Render deploy hook --- tests/project-docs.test.mjs | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/tests/project-docs.test.mjs b/tests/project-docs.test.mjs index e99730a..3d90d1c 100644 --- a/tests/project-docs.test.mjs +++ b/tests/project-docs.test.mjs @@ -45,3 +45,13 @@ test('project refresh targets the live Render auto-deploy service', async () => assert.match(source, /https:\/\/the-interdependency-mcp-live\.onrender\.com\/api\/repository-refresh/); assert.doesNotMatch(source, /https:\/\/the-interdependency-mcp\.onrender\.com\/api\/repository-refresh/); }); + + +test('Render deploy hook is explicit, secret-backed, and limited to main pushes', async () => { + const workflow = await readFile('.github/workflows/pages.yml', 'utf8'); + assert.match(workflow, /name: Trigger Render MCP deploy/); + assert.match(workflow, /github\.event_name == 'push'/); + assert.match(workflow, /github\.ref == 'refs\/heads\/main'/); + assert.match(workflow, /secrets\.RENDER_DEPLOY_HOOK_URL/); + assert.match(workflow, /RENDER_DEPLOY_HOOK_URL is unset; Render MCP deployment remains hmmm/); +});