-
Notifications
You must be signed in to change notification settings - Fork 1
85 lines (72 loc) · 2.31 KB
/
publish-documentation.yml
File metadata and controls
85 lines (72 loc) · 2.31 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
name: 'Publish documentation'
on:
workflow_dispatch:
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: 'Extract version'
needs: [workflow-variables]
runs-on: ubuntu-latest
outputs:
friendly-version: ${{ steps.versioning.outputs.friendly-version }}
steps:
- name: 'Checkout ${{ github.head_ref || github.ref }}'
uses: actions/checkout@v5
with:
fetch-depth: 0 # Ensure the full git history is available for versioning
- name: 'Setup .NET ${{ env.dotnet-sdk-version }}'
uses: actions/setup-dotnet@v4
with:
dotnet-version: ${{ env.dotnet-sdk-version }}
- name: 'Extract version from branch name'
id: versioning
uses: './.github/actions/versioning/extract-version'
with:
branch-name: ${{ github.ref_name }}
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/documentation/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