From 66b42820c23599c46a9a62dbd6b6b34cbe1eeb5a Mon Sep 17 00:00:00 2001 From: Ryan Soley Date: Thu, 25 Jun 2026 15:56:31 -0400 Subject: [PATCH 1/6] ops: use SHAs in actions & native GH docs actions --- .github/workflows/edgetest.yml | 4 +-- .github/workflows/publish-docs.yml | 45 +++++++++++++++++-------- .github/workflows/publish-package.yml | 6 ++-- .github/workflows/test-package.yml | 6 ++-- .github/workflows/validate-pr-title.yml | 4 +-- 5 files changed, 41 insertions(+), 24 deletions(-) diff --git a/.github/workflows/edgetest.yml b/.github/workflows/edgetest.yml index 5b774e09..3ac2f6be 100644 --- a/.github/workflows/edgetest.yml +++ b/.github/workflows/edgetest.yml @@ -19,14 +19,14 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout code - uses: actions/checkout@v6 + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 - name: Set up Python 3.12 uses: actions/setup-python@v5 with: python-version: 3.12 - id: run-edgetest name: Run edgetest - uses: edgetest-dev/run-edgetest-action@v1.6 + uses: edgetest-dev/run-edgetest-action@fb6dcd4e5f6ee4c87769c9701c472f58b7e9ab6c # v1.6.0 with: base-branch: 'main' edgetest-flags: '-c pyproject.toml --export' diff --git a/.github/workflows/publish-docs.yml b/.github/workflows/publish-docs.yml index be14a2ef..47097428 100644 --- a/.github/workflows/publish-docs.yml +++ b/.github/workflows/publish-docs.yml @@ -4,30 +4,36 @@ # - https://github.com/actions/checkout # - https://github.com/actions/setup-python # - https://github.com/astral-sh/setup-uv -# - https://github.com/marketplace/actions/github-pages-deploy-action +# - https://github.com/actions/upload-pages-artifact +# - https://github.com/actions/deploy-pages name: Publish docs on: - release: - types: [created] + pull_request: + types: [closed] + branches: + - main workflow_dispatch: +permissions: + contents: write + id-token: write + pages: write + jobs: - build-and-deploy: + build: + if: github.event.pull_request.merged == true && startsWith(github.head_ref, 'release/') runs-on: ubuntu-latest - permissions: - contents: write - pages: write steps: - name: Checkout code - uses: actions/checkout@v6 + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 - name: Set up Python 3.13 - uses: actions/setup-python@v5 + uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6.3.0 with: python-version: '3.13' - name: Install uv - uses: astral-sh/setup-uv@v6 + uses: astral-sh/setup-uv@fac544c07dec837d0ccb6301d7b5580bf5edae39 # v8.2.0 with: version: 'latest' - name: Install dependencies @@ -40,8 +46,19 @@ jobs: run: | cd docs uv run make html - - name: Publish docs - uses: JamesIves/github-pages-deploy-action@v4 + - name: Upload docs artifact + id: upload_pages + uses: actions/upload-pages-artifact@fc324d3547104276b827a68afc52ff2a11cc49c9 # v5.0.0 with: - branch: gh-pages - folder: docs/build/html + path: docs/build/html/ + deploy: + if: github.event.pull_request.merged == true && startsWith(github.head_ref, 'release/') + runs-on: ubuntu-latest + environment: + name: github-pages + url: ${{ steps.upload_pages.outputs.page_url }} + needs: build + steps: + - name: Deploy to GitHub Pages + id: upload_pages + uses: actions/deploy-pages@cd2ce8fcbc39b97be8ca5fce6e763baed58fa128 # v5.0.0 diff --git a/.github/workflows/publish-package.yml b/.github/workflows/publish-package.yml index ffccd59c..bf15bfd0 100644 --- a/.github/workflows/publish-package.yml +++ b/.github/workflows/publish-package.yml @@ -23,13 +23,13 @@ jobs: contents: write steps: - name: Checkout code - uses: actions/checkout@v6 + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 - name: Set up Python 3.13 - uses: actions/setup-python@v5 + uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6.3.0 with: python-version: '3.13' - name: Install uv - uses: astral-sh/setup-uv@v6 + uses: astral-sh/setup-uv@fac544c07dec837d0ccb6301d7b5580bf5edae39 # v8.2.0 with: version: 'latest' - name: Install dependencies diff --git a/.github/workflows/test-package.yml b/.github/workflows/test-package.yml index b32f423b..c7b9965e 100644 --- a/.github/workflows/test-package.yml +++ b/.github/workflows/test-package.yml @@ -19,13 +19,13 @@ jobs: python-version: ['3.10', '3.11', '3.12', '3.13', '3.14'] steps: - name: Checkout code - uses: actions/checkout@v6 + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v5 + uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6.3.0 with: python-version: ${{ matrix.python-version }} - name: Install uv - uses: astral-sh/setup-uv@v6 + uses: astral-sh/setup-uv@fac544c07dec837d0ccb6301d7b5580bf5edae39 # v8.2.0 with: version: 'latest' - name: Install dependencies diff --git a/.github/workflows/validate-pr-title.yml b/.github/workflows/validate-pr-title.yml index f899deee..656537c6 100644 --- a/.github/workflows/validate-pr-title.yml +++ b/.github/workflows/validate-pr-title.yml @@ -28,9 +28,9 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout code - uses: actions/checkout@v6 + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 - name: Validate PR title - uses: amannn/action-semantic-pull-request@v5 + uses: amannn/action-semantic-pull-request@48f256284bd46cdaab1048c3721360e808335d50 # v6.1.1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: From de3fb5f50fe429f9da9e32c503526fb1a71b27f0 Mon Sep 17 00:00:00 2001 From: Ryan Soley Date: Thu, 25 Jun 2026 18:48:23 -0400 Subject: [PATCH 2/6] fix: add missing SHA --- .github/workflows/edgetest.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/edgetest.yml b/.github/workflows/edgetest.yml index 3ac2f6be..68b5ec7b 100644 --- a/.github/workflows/edgetest.yml +++ b/.github/workflows/edgetest.yml @@ -2,6 +2,7 @@ # # Public actions used: # - https://github.com/actions/checkout +# - https://github.com/actions/setup-python # - https://github.com/edgetest-dev/run-edgetest-action name: Run edgetest @@ -21,7 +22,7 @@ jobs: - name: Checkout code uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 - name: Set up Python 3.12 - uses: actions/setup-python@v5 + uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6.3.0 with: python-version: 3.12 - id: run-edgetest From 8aeb09a932250380a8fcf33e3908ab4e2a8a1fb8 Mon Sep 17 00:00:00 2001 From: Ryan Soley Date: Thu, 25 Jun 2026 19:10:16 -0400 Subject: [PATCH 3/6] fix: docs conditional --- .github/workflows/publish-docs.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/publish-docs.yml b/.github/workflows/publish-docs.yml index 47097428..db2ae966 100644 --- a/.github/workflows/publish-docs.yml +++ b/.github/workflows/publish-docs.yml @@ -23,7 +23,7 @@ permissions: jobs: build: - if: github.event.pull_request.merged == true && startsWith(github.head_ref, 'release/') + if: (github.event.pull_request.merged == true && startsWith(github.head_ref, 'release/')) || github.event_name == 'workflow_dispatch' runs-on: ubuntu-latest steps: - name: Checkout code @@ -52,7 +52,7 @@ jobs: with: path: docs/build/html/ deploy: - if: github.event.pull_request.merged == true && startsWith(github.head_ref, 'release/') + if: (github.event.pull_request.merged == true && startsWith(github.head_ref, 'release/')) || github.event_name == 'workflow_dispatch' runs-on: ubuntu-latest environment: name: github-pages From 5131491a791112ec691fe1dc192ac11677870c2d Mon Sep 17 00:00:00 2001 From: Ryan Soley Date: Thu, 25 Jun 2026 19:25:34 -0400 Subject: [PATCH 4/6] feat: add dev docs environment --- .github/workflows/publish-docs.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/publish-docs.yml b/.github/workflows/publish-docs.yml index db2ae966..9b1461ae 100644 --- a/.github/workflows/publish-docs.yml +++ b/.github/workflows/publish-docs.yml @@ -55,7 +55,7 @@ jobs: if: (github.event.pull_request.merged == true && startsWith(github.head_ref, 'release/')) || github.event_name == 'workflow_dispatch' runs-on: ubuntu-latest environment: - name: github-pages + name: ${{ github.ref_name == 'main' && 'github-pages' || 'github-pages-dev' }} url: ${{ steps.upload_pages.outputs.page_url }} needs: build steps: From a235436e7049d0160e77e9463b4dae2ca2ed73b3 Mon Sep 17 00:00:00 2001 From: Ryan Soley Date: Tue, 30 Jun 2026 10:17:29 -0400 Subject: [PATCH 5/6] ops: use latest edgetest action --- .github/workflows/edgetest.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/edgetest.yml b/.github/workflows/edgetest.yml index 68b5ec7b..c05b0207 100644 --- a/.github/workflows/edgetest.yml +++ b/.github/workflows/edgetest.yml @@ -27,7 +27,7 @@ jobs: python-version: 3.12 - id: run-edgetest name: Run edgetest - uses: edgetest-dev/run-edgetest-action@fb6dcd4e5f6ee4c87769c9701c472f58b7e9ab6c # v1.6.0 + uses: edgetest-dev/run-edgetest-action@8ceeac94abe951d6b51305454bc6d0ff2096e2ec# v1.7.0 with: base-branch: 'main' edgetest-flags: '-c pyproject.toml --export' From c90b3ac5eeb26acce6582c7a23ab8fb41db0b620 Mon Sep 17 00:00:00 2001 From: Ryan Soley Date: Tue, 30 Jun 2026 10:18:42 -0400 Subject: [PATCH 6/6] fix: typo --- .github/workflows/edgetest.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/edgetest.yml b/.github/workflows/edgetest.yml index c05b0207..9ae260f3 100644 --- a/.github/workflows/edgetest.yml +++ b/.github/workflows/edgetest.yml @@ -27,7 +27,7 @@ jobs: python-version: 3.12 - id: run-edgetest name: Run edgetest - uses: edgetest-dev/run-edgetest-action@8ceeac94abe951d6b51305454bc6d0ff2096e2ec# v1.7.0 + uses: edgetest-dev/run-edgetest-action@8ceeac94abe951d6b51305454bc6d0ff2096e2ec # v1.7.0 with: base-branch: 'main' edgetest-flags: '-c pyproject.toml --export'