diff --git a/.agents/skills/openclaw-release-maintainer/SKILL.md b/.agents/skills/openclaw-release-maintainer/SKILL.md index 85f52f5d13d..45ec46f075c 100644 --- a/.agents/skills/openclaw-release-maintainer/SKILL.md +++ b/.agents/skills/openclaw-release-maintainer/SKILL.md @@ -332,9 +332,11 @@ node --import tsx scripts/openclaw-npm-postpublish-verify.ts - Docker install/update coverage that exercises the published beta package - published npm Telegram proof: dispatch Actions > `NPM Telegram Beta E2E` from `main` with `package_spec=openclaw@` and - `provider_mode=mock-openai`, approve `npm-release`, and require success. - This is the default button path for installed-package onboarding, - Telegram setup, and real Telegram E2E against the published npm package. + `provider_mode=mock-openai`, and require success. This workflow is + maintainer-dispatched and intentionally has no `npm-release` approval gate; + `qa-live-shared` only supplies the shared QA secrets. This is the default + button path for installed-package onboarding, Telegram setup, and real + Telegram E2E against the published npm package. Use the local `pnpm test:docker:npm-telegram-live` lane with the matching `OPENCLAW_NPM_TELEGRAM_PACKAGE_SPEC` and Convex CI env only as a fallback or debugging path. diff --git a/.github/workflows/npm-telegram-beta-e2e.yml b/.github/workflows/npm-telegram-beta-e2e.yml index b99143f9c63..34f7b8b2677 100644 --- a/.github/workflows/npm-telegram-beta-e2e.yml +++ b/.github/workflows/npm-telegram-beta-e2e.yml @@ -34,19 +34,8 @@ env: PNPM_VERSION: "10.33.0" jobs: - approve_release_manager: - name: Approve npm Telegram beta E2E - runs-on: ubuntu-latest - environment: npm-release - steps: - - name: Record approval - env: - PACKAGE_SPEC: ${{ inputs.package_spec }} - run: echo "Approved npm Telegram beta E2E for ${PACKAGE_SPEC}" - run_npm_telegram_beta_e2e: name: Run published npm Telegram E2E - needs: approve_release_manager runs-on: blacksmith-32vcpu-ubuntu-2404 timeout-minutes: 60 environment: qa-live-shared diff --git a/test/scripts/npm-telegram-live.test.ts b/test/scripts/npm-telegram-live.test.ts index 2a2bebc2d43..b721a2f6d08 100644 --- a/test/scripts/npm-telegram-live.test.ts +++ b/test/scripts/npm-telegram-live.test.ts @@ -41,12 +41,14 @@ describe("npm Telegram live Docker E2E", () => { expect(script).toContain('credential_role="ci"'); }); - it("requires release manager environment approval for the manual npm beta workflow", () => { + it("does not require release manager environment approval for the manual npm beta workflow", () => { const workflow = readFileSync(WORKFLOW_PATH, "utf8"); - expect(workflow).toContain("approve_release_manager:"); - expect(workflow).toContain("environment: npm-release"); - expect(workflow).toContain("needs: approve_release_manager"); + expect(workflow).not.toContain("approve_release_manager:"); + expect(workflow).not.toContain("Approve npm Telegram beta E2E"); + expect(workflow).not.toContain("environment: npm-release"); + expect(workflow).not.toContain("needs: approve_release_manager"); + expect(workflow).toContain("environment: qa-live-shared"); expect(workflow).not.toContain("Require main workflow ref"); expect(workflow).not.toContain("refs/heads/main"); expect(workflow).not.toContain('new Set(["admin", "write"])'); @@ -55,12 +57,12 @@ describe("npm Telegram live Docker E2E", () => { expect(workflow).not.toContain("getMembershipForUserInOrg"); }); - it("builds and reuses a local Docker E2E image after approval", () => { + it("builds and reuses a local Docker E2E image", () => { const workflow = readFileSync(WORKFLOW_PATH, "utf8"); expect(workflow).not.toContain("prepare_docker_e2e_image:"); expect(workflow).toContain("run_npm_telegram_beta_e2e:"); - expect(workflow).toContain("needs: approve_release_manager"); + expect(workflow).not.toContain("needs: approve_release_manager"); expect(workflow).toContain("useblacksmith/setup-docker-builder"); expect(workflow).toContain("useblacksmith/build-push-action"); expect(workflow).toContain("tags: openclaw-docker-e2e:local");