Skip to content

Publish documentation #127

Publish documentation

Publish documentation #127

name: 'Publish documentation'
on:
workflow_run:
workflows: ['build']
types:
- completed
permissions:
actions: read
pages: write
id-token: write
concurrency:
group: publish-docs-${{ github.head_ref || github.ref }}
cancel-in-progress: true
jobs:
workflow-variables:
name: 'Workflow variables'
runs-on: ubuntu-latest
outputs:
github-run-number: ${{ github.run_number }}
steps:
- name: 'Workflow variables'
id: github
run: |
echo "github-run-number:${{ github.run_number }}"
versioning:
name: 'Determine version'
needs: [workflow-variables]
runs-on: ubuntu-latest
outputs:
friendly-version: ${{ env.friendly-version }}
assembly-version: ${{ env.assembly-version }}
assembly-informational-version: ${{ env.assembly-informational-version }}
file-version: ${{ env.file-version }}
package-version: ${{ env.package-version }}
steps:
- name: 'Checkout ${{ github.head_ref || github.ref }}'
uses: actions/checkout@v4
- name: 'Determine versions'
uses: ./.github/actions/determine-version
id: determine-version
with:
config-file-path: './.gitversion/version.yml'
run-number: ${{ needs.workflow-variables.outputs.github-run-number }}
generate-docs:
name: 'Generate documentation'
needs: [workflow-variables, versioning]
runs-on: ubuntu-latest
env:
friendly-version: ${{ needs.versioning.outputs.friendly-version }}
steps:
- name: 'Checkout ${{ github.head_ref || github.ref }}'
uses: actions/checkout@v5
- name: 'Generate documentation'
uses: ./.github/actions/docfx-build
with:
artifact-name: 'documentation'
docfx-json-manifest: './api-reference/api-reference.json'
output-directory: './api-reference/_docs'
- name: 'Upload artifact'
uses: actions/upload-pages-artifact@v3
with:
name: github-pages
path: './api-reference/_docs'
publish-docs:
name: 'Publish documentation'
needs: [workflow-variables, versioning, generate-docs]
runs-on: ubuntu-latest
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
steps:
- name: 'Deploy to GitHub Pages'
id: deployment
uses: actions/deploy-pages@v4