From ed335db2cd573033cb66c1e713e8a1a3e9817887 Mon Sep 17 00:00:00 2001 From: Brian Scholer <1260690+briantist@users.noreply.github.com> Date: Tue, 3 May 2022 16:20:22 -0400 Subject: [PATCH 1/2] add automated docs building and publishing --- .github/workflows/docs-pr.yml | 91 +++++++++++++++++++++++++++++++++ .github/workflows/docs-push.yml | 35 +++++++++++++ 2 files changed, 126 insertions(+) create mode 100644 .github/workflows/docs-pr.yml create mode 100644 .github/workflows/docs-push.yml diff --git a/.github/workflows/docs-pr.yml b/.github/workflows/docs-pr.yml new file mode 100644 index 00000000..4872e177 --- /dev/null +++ b/.github/workflows/docs-pr.yml @@ -0,0 +1,91 @@ +name: Collection Docs +concurrency: + group: docs-pr-${{ github.head_ref }} + cancel-in-progress: true +on: + pull_request_target: + types: [opened, synchronize, reopened, closed] + +env: + GHP_BASE_URL: https://${{ github.repository_owner }}.github.io/${{ github.event.repository.name }} + +jobs: + # Validation job runs a strict build to ensure it will fail CI on any mistakes. + validate-docs: + permissions: + contents: read + name: Validate Ansible Docs + if: github.event.action != 'closed' + uses: ansible-community/github-docs-build/.github/workflows/_shared-docs-build-push.yml@main + with: + artifact-upload: false + init-lenient: false + init-fail-on-error: true + build-ref: refs/pull/${{ github.event.number }}/merge + + # The build job runs with the most lenient settings to ensure the best chance of getting + # a rendered docsite that can be looked at. + build-docs: + permissions: + contents: read + name: Build Ansible Docs + uses: ansible-community/github-docs-build/.github/workflows/_shared-docs-build-pr.yml@main + with: + init-lenient: true + init-fail-on-error: false + render-file-line: '> * `$` [$](https://${{ github.repository_owner }}.github.io/${{ github.event.repository.name }}/pr/${{ github.event.number }}/$)' + + publish-docs-gh-pages: + # use to prevent running on forks + if: github.repository == 'ansible-collections/community.windows' + permissions: + contents: write + needs: [build-docs] + name: Publish Ansible Docs + uses: ansible-community/github-docs-build/.github/workflows/_shared-docs-build-publish-gh-pages.yml@main + with: + artifact-name: ${{ needs.build-docs.outputs.artifact-name }} + action: ${{ (github.event.action == 'closed' || needs.build-docs.outputs.changed != 'true') && 'teardown' || 'publish' }} + secrets: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + comment: + permissions: + pull-requests: write + runs-on: ubuntu-latest + needs: [publish-docs-gh-pages, build-docs] + name: PR comments + steps: + - name: PR comment + uses: ansible-community/github-docs-build/actions/ansible-docs-build-comment@main + with: + body-includes: '## Docs Build' + reactions: heart + action: ${{ needs.build-docs.outputs.changed != 'true' && 'remove' || '' }} + on-closed-action: remove + on-merged-body: | + ## Docs Build 📝 + + Thank you for contribution!✨ + + This PR has been merged and the docs are now incorporated into `main`: + ${{ env.GHP_BASE_URL }}/branch/main + body: | + ## Docs Build 📝 + + Thank you for contribution!✨ + + The docs for **this PR** have been published here: + ${{ env.GHP_BASE_URL }}/pr/${{ github.event.number }} + + You can compare to the docs for the `main` branch here: + ${{ env.GHP_BASE_URL }}/branch/main + + The docsite for **this PR** is also available for download as an artifact from this run: + ${{ needs.build-docs.outputs.artifact-url }} + + File changes: + + ${{ needs.build-docs.outputs.diff-files-rendered }} + + ${{ needs.build-docs.outputs.diff-rendered }} diff --git a/.github/workflows/docs-push.yml b/.github/workflows/docs-push.yml new file mode 100644 index 00000000..a59f1553 --- /dev/null +++ b/.github/workflows/docs-push.yml @@ -0,0 +1,35 @@ +name: Collection Docs +concurrency: + group: docs-push-${{ github.sha }} + cancel-in-progress: true +on: + push: + branches: + - main + tags: + - '*' + schedule: + - cron: '0 13 * * *' + +jobs: + build-docs: + permissions: + contents: read + name: Build Ansible Docs + uses: ansible-community/github-docs-build/.github/workflows/_shared-docs-build-push.yml@main + with: + init-lenient: false + init-fail-on-error: true + + publish-docs-gh-pages: + # use to prevent running on forks + if: github.repository == 'ansible-collections/community.windows' + permissions: + contents: write + needs: [build-docs] + name: Publish Ansible Docs + uses: ansible-community/github-docs-build/.github/workflows/_shared-docs-build-publish-gh-pages.yml@main + with: + artifact-name: ${{ needs.build-docs.outputs.artifact-name }} + secrets: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} From bf637e8c3c446d3a366f11483a643b1298584614 Mon Sep 17 00:00:00 2001 From: Brian Scholer <1260690+briantist@users.noreply.github.com> Date: Sat, 28 May 2022 22:10:29 -0400 Subject: [PATCH 2/2] remove publishing from docs PR workflow --- .github/workflows/docs-pr.yml | 32 ++++---------------------------- 1 file changed, 4 insertions(+), 28 deletions(-) diff --git a/.github/workflows/docs-pr.yml b/.github/workflows/docs-pr.yml index 4872e177..3b89bc6a 100644 --- a/.github/workflows/docs-pr.yml +++ b/.github/workflows/docs-pr.yml @@ -33,27 +33,12 @@ jobs: with: init-lenient: true init-fail-on-error: false - render-file-line: '> * `$` [$](https://${{ github.repository_owner }}.github.io/${{ github.event.repository.name }}/pr/${{ github.event.number }}/$)' - - publish-docs-gh-pages: - # use to prevent running on forks - if: github.repository == 'ansible-collections/community.windows' - permissions: - contents: write - needs: [build-docs] - name: Publish Ansible Docs - uses: ansible-community/github-docs-build/.github/workflows/_shared-docs-build-publish-gh-pages.yml@main - with: - artifact-name: ${{ needs.build-docs.outputs.artifact-name }} - action: ${{ (github.event.action == 'closed' || needs.build-docs.outputs.changed != 'true') && 'teardown' || 'publish' }} - secrets: - GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} comment: permissions: pull-requests: write runs-on: ubuntu-latest - needs: [publish-docs-gh-pages, build-docs] + needs: [build-docs] name: PR comments steps: - name: PR comment @@ -63,27 +48,18 @@ jobs: reactions: heart action: ${{ needs.build-docs.outputs.changed != 'true' && 'remove' || '' }} on-closed-action: remove - on-merged-body: | - ## Docs Build 📝 - - Thank you for contribution!✨ - - This PR has been merged and the docs are now incorporated into `main`: - ${{ env.GHP_BASE_URL }}/branch/main + on-merged-action: remove body: | ## Docs Build 📝 Thank you for contribution!✨ - The docs for **this PR** have been published here: - ${{ env.GHP_BASE_URL }}/pr/${{ github.event.number }} + The docsite for **this PR** is available for download as an artifact from this run: + ${{ needs.build-docs.outputs.artifact-url }} You can compare to the docs for the `main` branch here: ${{ env.GHP_BASE_URL }}/branch/main - The docsite for **this PR** is also available for download as an artifact from this run: - ${{ needs.build-docs.outputs.artifact-url }} - File changes: ${{ needs.build-docs.outputs.diff-files-rendered }}