-
Notifications
You must be signed in to change notification settings - Fork 1
64 lines (54 loc) · 1.8 KB
/
doxygen.yaml
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
name: Doxygen
on: workflow_dispatch
permissions:
contents: read
jobs:
doxygen:
name: Build Doxygen Docs
runs-on: ubuntu-latest
env:
TOOL_DIR: "${{ github.workspace }}/doxygen-bin"
VERSION: 1.10.0
steps:
- name: Harden Runner
uses: step-security/harden-runner@cb605e52c26070c328afc4562f0b4ada7618a84e # v2.10.4
with:
egress-policy: audit
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
submodules: 'True'
- name: Install GraphViz
run: |
sudo apt-get update
sudo apt-get install -y graphviz
- name: Cache the Doxygen binary
id: cache-binary
uses: actions/cache@1bd1e32a3bdc45362d1e726936510720a7c30a57 # v4.2.0
with:
key: 'doxygen-${{ runner.os }}-${{ env.VERSION }}'
path: '${{ env.TOOL_DIR }}/doxygen.tgz'
- name: Download Doxygen binary
if: ${{ steps.cache-binary.outputs.cache-hit != 'true' }}
run: |
echo ${{ steps.cache-binary.outputs.cache-hit }}
mkdir -p "${{ env.TOOL_DIR }}"
curl \
--location \
--output "${{ env.TOOL_DIR }}/doxygen.tgz" \
"https://www.doxygen.nl/files/doxygen-${{ env.VERSION }}.linux.bin.tar.gz"
- name: Unpack Doxygen binary
run: |
cd "${{ env.TOOL_DIR }}"
tar xzf doxygen.tgz
ls
- name: Run Doxygen
run: |
"${{ env.TOOL_DIR }}/doxygen-${{ env.VERSION }}/bin/doxygen"
- name: Compress Documentation Directory
run: |
tar czf ./docs.tgz docs
- name: Upload Documentation
uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4.4.3
with:
name: docs
path: ./docs.tgz