From 07b653cd44c873cd206ae7b22fea7990aad6a25b Mon Sep 17 00:00:00 2001 From: Henry Schreiner Date: Tue, 20 May 2025 01:21:10 -0400 Subject: [PATCH 1/2] chore: show preview on docs changes Signed-off-by: Henry Schreiner --- .github/workflows/docs-link.yml | 41 +++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 .github/workflows/docs-link.yml diff --git a/.github/workflows/docs-link.yml b/.github/workflows/docs-link.yml new file mode 100644 index 0000000000..fb0802a713 --- /dev/null +++ b/.github/workflows/docs-link.yml @@ -0,0 +1,41 @@ +name: Read the Docs PR preview + +on: + pull_request_target: + types: + - opened + - synchronize + +permissions: + contents: read + pull-requests: write + +concurrency: + group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} + cancel-in-progress: true + +jobs: + documentation-links: + runs-on: ubuntu-latest + if: github.event.repository.fork == false + steps: + - uses: actions/checkout@v4 + + - name: Check for docs changes + id: docs_changes + run: | + # Fetch the PR head + git fetch origin pull/${{ github.event.pull_request.number }}/head:pr-head + + # Show diff between base (current checkout) and PR head + if git diff --name-only HEAD pr-head | grep '^docs/'; then + echo "docs_changed=true" >> "$GITHUB_OUTPUT" + else + echo "docs_changed=false" >> "$GITHUB_OUTPUT" + fi + + - uses: readthedocs/actions/preview@v1 + if: steps.docs_changes.outputs.docs_changed == 'true' + with: + project-slug: "pybind11" + single-version: "true" From ca33fdc8a9bd86700e65448f5919b0f2b823a551 Mon Sep 17 00:00:00 2001 From: Henry Schreiner Date: Tue, 20 May 2025 10:43:54 -0400 Subject: [PATCH 2/2] Update .github/workflows/docs-link.yml Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- .github/workflows/docs-link.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/docs-link.yml b/.github/workflows/docs-link.yml index fb0802a713..d1f1a17264 100644 --- a/.github/workflows/docs-link.yml +++ b/.github/workflows/docs-link.yml @@ -28,7 +28,7 @@ jobs: git fetch origin pull/${{ github.event.pull_request.number }}/head:pr-head # Show diff between base (current checkout) and PR head - if git diff --name-only HEAD pr-head | grep '^docs/'; then + if git diff --name-only HEAD pr-head | grep -q '^docs/'; then echo "docs_changed=true" >> "$GITHUB_OUTPUT" else echo "docs_changed=false" >> "$GITHUB_OUTPUT"