From 02d9bee167696b70c20c7f0ddadc69b0fca14221 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Keith=20H=C3=B6rling?= Date: Tue, 21 Apr 2026 14:14:19 -0700 Subject: [PATCH 1/2] feat: Adds gh action workflow to auto-publish docs site :tada: --- .github/workflows/notify-docs-on-release.yml | 67 ++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 .github/workflows/notify-docs-on-release.yml diff --git a/.github/workflows/notify-docs-on-release.yml b/.github/workflows/notify-docs-on-release.yml new file mode 100644 index 00000000..b0fc5f7d --- /dev/null +++ b/.github/workflows/notify-docs-on-release.yml @@ -0,0 +1,67 @@ +name: Notify Docs on Release + +on: + release: + types: [released] + +jobs: + dispatch: + runs-on: ubuntu-latest + steps: + - name: Generate app token (scoped to docs repo only) + id: app-token + uses: actions/create-github-app-token@v1 + with: + app-id: ${{ secrets.APP_ID }} + private-key: ${{ secrets.APP_PRIVATE_KEY }} + owner: ${{ github.repository_owner }} + repositories: developer-resources-site + + - name: Find release asset + id: asset + env: + GH_TOKEN: ${{ github.token }} + run: | + ASSET_URL=$(gh release view "${{ github.event.release.tag_name }}" \ + --repo "${{ github.repository }}" \ + --json assets \ + --jq --arg name "${{ vars.DOCS_ASSET_NAME }}" \ + '.assets[] | select(.name == $name) | .url') + + if [ -z "$ASSET_URL" ]; then + echo "::error::Asset '${{ vars.DOCS_ASSET_NAME }}' not found on release ${{ github.event.release.tag_name }}" + exit 1 + fi + + echo "url=$ASSET_URL" >> $GITHUB_OUTPUT + + - name: Download release asset + env: + GH_TOKEN: ${{ steps.app-token.outputs.token }} + run: | + mkdir -p release-asset + curl -L \ + -H "Authorization: token $GH_TOKEN" \ + -H "Accept: application/octet-stream" \ + "${{ steps.asset.outputs.url }}" \ + -o release-asset/${{ vars.DOCS_ASSET_NAME }} + + - name: Upload as workflow artifact + uses: actions/upload-artifact@v4 + with: + name: docs-asset + path: release-asset/ + retention-days: 3 + + - name: Dispatch to docs repo + env: + GH_TOKEN: ${{ steps.app-token.outputs.token }} + run: | + gh api --method POST \ + /repos/${{ github.repository_owner }}/developer-resources-site/actions/workflows/build-docs.yml/dispatches \ + -f ref="main" \ + -F inputs[source_repo]="${{ github.repository }}" \ + -F inputs[release_tag]="${{ github.event.release.tag_name }}" \ + -F inputs[run_id]="${{ github.run_id }}" \ + -F inputs[source_run_repo]="${{ github.repository }}" \ + -F inputs[asset_name]="${{ vars.DOCS_ASSET_NAME }}" From 521b9eb958af3cd770a5231a89077312540b6afc Mon Sep 17 00:00:00 2001 From: Mark Eschbach Date: Mon, 11 May 2026 16:40:23 -0700 Subject: [PATCH 2/2] =?UTF-8?q?ci:=20remove=20artifact=20upload=20from=20d?= =?UTF-8?q?ocs=20notification=20workflow=20Eliminate=20the=20Find/Download?= =?UTF-8?q?/Upload-artifact=20steps=20=E2=80=94=20the=20docs=20workflow=20?= =?UTF-8?q?now=20downloads=20release=20assets=20directly=20via=20`gh=20rel?= =?UTF-8?q?ease=20download`.=20Dispatch=20inputs=20simplified=20to=20sourc?= =?UTF-8?q?e=5Frepo,=20release=5Ftag,=20asset=5Fname.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/notify-docs-on-release.yml | 42 +------------------- 1 file changed, 2 insertions(+), 40 deletions(-) diff --git a/.github/workflows/notify-docs-on-release.yml b/.github/workflows/notify-docs-on-release.yml index b0fc5f7d..cb74eeec 100644 --- a/.github/workflows/notify-docs-on-release.yml +++ b/.github/workflows/notify-docs-on-release.yml @@ -10,58 +10,20 @@ jobs: steps: - name: Generate app token (scoped to docs repo only) id: app-token - uses: actions/create-github-app-token@v1 + uses: actions/create-github-app-token@v3 with: app-id: ${{ secrets.APP_ID }} private-key: ${{ secrets.APP_PRIVATE_KEY }} owner: ${{ github.repository_owner }} repositories: developer-resources-site - - name: Find release asset - id: asset - env: - GH_TOKEN: ${{ github.token }} - run: | - ASSET_URL=$(gh release view "${{ github.event.release.tag_name }}" \ - --repo "${{ github.repository }}" \ - --json assets \ - --jq --arg name "${{ vars.DOCS_ASSET_NAME }}" \ - '.assets[] | select(.name == $name) | .url') - - if [ -z "$ASSET_URL" ]; then - echo "::error::Asset '${{ vars.DOCS_ASSET_NAME }}' not found on release ${{ github.event.release.tag_name }}" - exit 1 - fi - - echo "url=$ASSET_URL" >> $GITHUB_OUTPUT - - - name: Download release asset - env: - GH_TOKEN: ${{ steps.app-token.outputs.token }} - run: | - mkdir -p release-asset - curl -L \ - -H "Authorization: token $GH_TOKEN" \ - -H "Accept: application/octet-stream" \ - "${{ steps.asset.outputs.url }}" \ - -o release-asset/${{ vars.DOCS_ASSET_NAME }} - - - name: Upload as workflow artifact - uses: actions/upload-artifact@v4 - with: - name: docs-asset - path: release-asset/ - retention-days: 3 - - name: Dispatch to docs repo env: GH_TOKEN: ${{ steps.app-token.outputs.token }} run: | gh api --method POST \ /repos/${{ github.repository_owner }}/developer-resources-site/actions/workflows/build-docs.yml/dispatches \ - -f ref="main" \ + -f ref="master" \ -F inputs[source_repo]="${{ github.repository }}" \ -F inputs[release_tag]="${{ github.event.release.tag_name }}" \ - -F inputs[run_id]="${{ github.run_id }}" \ - -F inputs[source_run_repo]="${{ github.repository }}" \ -F inputs[asset_name]="${{ vars.DOCS_ASSET_NAME }}"