Add GH Pages publishing.

This commit is contained in:
Felix Fontein 2022-11-26 09:38:38 +01:00
parent ce4b0ddcab
commit 20492e940f
2 changed files with 74 additions and 4 deletions

View File

@ -5,12 +5,15 @@
name: Collection Docs name: Collection Docs
concurrency: concurrency:
group: docs-${{ github.head_ref }} group: docs-pr-${{ github.head_ref }}
cancel-in-progress: true cancel-in-progress: true
on: on:
pull_request_target: pull_request_target:
types: [opened, synchronize, reopened, closed] types: [opened, synchronize, reopened, closed]
env:
GHP_BASE_URL: https://${{ github.repository_owner }}.github.io/${{ github.event.repository.name }}
jobs: jobs:
build-docs: build-docs:
permissions: permissions:
@ -18,13 +21,30 @@ jobs:
name: Build Ansible Docs name: Build Ansible Docs
uses: ansible-community/github-docs-build/.github/workflows/_shared-docs-build-pr.yml@main uses: ansible-community/github-docs-build/.github/workflows/_shared-docs-build-pr.yml@main
with: with:
init-lenient: false
init-fail-on-error: true init-fail-on-error: true
squash-hierarchy: true
render-file-line: '> * `$<status>` [$<path_tail>](https://${{ github.repository_owner }}.github.io/${{ github.event.repository.name }}/pr/${{ github.event.number }}/$<path_tail>)'
publish-docs-gh-pages:
# for now we won't run this on forks
if: github.repository == 'ansible-collections/community.docker'
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: comment:
permissions: permissions:
pull-requests: write pull-requests: write
runs-on: ubuntu-latest runs-on: ubuntu-latest
needs: build-docs needs: [build-docs, publish-docs-gh-pages]
name: PR comments name: PR comments
steps: steps:
- name: PR comment - name: PR comment
@ -42,13 +62,20 @@ jobs:
Thank you for contribution!✨ Thank you for contribution!✨
This PR has been merged and your docs changes will be incorporated when they are next published. This PR has been merged and the docs are now incorporated into `main`:
${{ env.GHP_BASE_URL }}/branch/main
body: | body: |
## Docs Build 📝 ## Docs Build 📝
Thank you for contribution!✨ Thank you for contribution!✨
The docsite for **this PR** is available for download as an artifact from this run: 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 }} ${{ needs.build-docs.outputs.artifact-url }}
File changes: File changes:

43
.github/workflows/docs-push.yml vendored Normal file
View File

@ -0,0 +1,43 @@
---
# Copyright (c) Ansible Project
# GNU General Public License v3.0+ (see LICENSES/GPL-3.0-or-later.txt or https://www.gnu.org/licenses/gpl-3.0.txt)
# SPDX-License-Identifier: GPL-3.0-or-later
name: Collection Docs
concurrency:
group: docs-push-${{ github.sha }}
cancel-in-progress: true
on:
push:
branches:
- main
- stable-*
tags:
- '*'
# Run CI once per day (at 09:00 UTC)
schedule:
- cron: '0 9 * * *'
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
squash-hierarchy: true
publish-docs-gh-pages:
# for now we won't run this on forks
if: github.repository == 'ansible-collections/community.docker'
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 }}