From 26757ccd55a5fe333ee14112b5f3d32d26a65d8c Mon Sep 17 00:00:00 2001 From: Stamen Stoychev Date: Mon, 2 Nov 2026 11:58:33 +0200 Subject: [PATCH] ci(release): trigger the API docs release after publishing to npm Once the packages are on npm, dispatch Release API Docs in IgniteUI/api-docs with the product and the released version. api-docs decides where the docs go: every X.Y.0 and pre-release to staging, an X.Y.0 to production once staging has it, and patches only by hand. The job uses the IgniteUI GitHub App's token, scoped to api-docs with actions: write. It can't run until IgniteUI/api-docs#219 is on api-docs' master. Co-Authored-By: Claude Opus 5.5 --- .github/workflows/npm-publish.yml | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/.github/workflows/npm-publish.yml b/.github/workflows/npm-publish.yml index a839de5..ba8142e 100644 --- a/.github/workflows/npm-publish.yml +++ b/.github/workflows/npm-publish.yml @@ -401,6 +401,37 @@ jobs: artifacts/*.cdx.json \ $(ls attestations/*.json 2>/dev/null || true) + # Hands the release to IgniteUI/api-docs, which decides where its API docs go: every X.Y.0 and + # pre-release to staging, and an X.Y.0 to production once staging has it. Patches are deployed by + # hand. Gated by the npmjs.org publish, so docs never go out for a release that isn't on npm, and + # skipped for workflow_dispatch test runs. + dispatch-api-docs: + name: Release the API docs + needs: publish-npmjs + if: github.event_name == 'release' + runs-on: ubuntu-latest + timeout-minutes: 10 + permissions: {} + + steps: + - name: Get app token + id: app-token + uses: actions/create-github-app-token@64ab729a6294000f5aa4a4bc0b73d1f32bc45510 # v3.3.0 + with: + client-id: ${{ secrets.IGNITEUI_GITHUB_APP_CLIENT_ID }} + private-key: ${{ secrets.IGNITEUI_GITHUB_APP_PRIVATE_KEY }} + owner: IgniteUI + repositories: api-docs + permission-actions: write + + # The deploy runs in api-docs, which opens an issue there if it fails. + - name: Trigger the API docs release + env: + GH_TOKEN: ${{ steps.app-token.outputs.token }} + run: >- + gh workflow run release-api-docs.yml --repo IgniteUI/api-docs --ref master + -f product=igniteui-react -f version="$VERSION" + # Builds and inventories the licensed (@infragistics-scoped) release for the ProGet feed. # Holds no publishing rights. build-proget: