-
Notifications
You must be signed in to change notification settings - Fork 5
150 lines (129 loc) · 4.46 KB
/
docs.yml
File metadata and controls
150 lines (129 loc) · 4.46 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
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
name: "Docs"
on:
workflow_call:
inputs:
release_id:
required: false
type: string
default: ''
permissions:
contents: read
jobs:
docs:
name: Documentation
runs-on: ubuntu-latest
steps:
- name: "Harden the runner (Block egress traffic: Only allow calls to allowed endpoints)"
uses: step-security/harden-runner@8d3c67de8e2fe68ef647c8db1e6a09f647780f40 # v2.19.0
with:
egress-policy: block
allowed-endpoints: >+
github.com:443
pypi.org:443
files.pythonhosted.org:443
plantuml.com:80
plantuml.com:443
www.plantuml.com:80
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
fetch-depth: 0
- name: Install Python
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
with:
python-version: '3.13'
- name: Install documentation requirements
run: |
pip install .[docs]
- name: Build docs
run: "make -C doc html"
landing-page:
name: Landing page
runs-on: ubuntu-latest
steps:
- name: "Harden the runner (Block egress traffic: Only allow calls to allowed endpoints)"
uses: step-security/harden-runner@8d3c67de8e2fe68ef647c8db1e6a09f647780f40 # v2.19.0
with:
egress-policy: block
allowed-endpoints: >+
github.com:443
github.com:22
pypi.org:443
files.pythonhosted.org:443
plantuml.com:80
plantuml.com:443
www.plantuml.com:80
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Setup Python
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
with:
python-version: "3.13"
- name: Install dependencies
run: |
pip install .[docs]
- name: Build landing-page
run: "make -C doc/landing-page html"
- name: Publish
if: github.ref == 'refs/heads/main'
uses: peaceiris/actions-gh-pages@4f9cc6602d3f66b9c108549d475ec49e8ef4d45e # v4.0.0
with:
publish_dir: ./doc/landing-page/_build/html
external_repository: dfetch-org/dfetch-org.github.io
publish_branch: main
deploy_key: ${{ secrets.GH_DFETCH_ORG_DEPLOY }}
pdf:
name: PDF Documentation
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- name: "Harden the runner (Block egress traffic: Only allow calls to allowed endpoints)"
uses: step-security/harden-runner@8d3c67de8e2fe68ef647c8db1e6a09f647780f40 # v2.19.0
with:
egress-policy: block
allowed-endpoints: >+
_http._tcp.azure.archive.ubuntu.com:443
_https._tcp.archive.ubuntu.com:443
_https._tcp.security.ubuntu.com:443
archive.ubuntu.com:443
azure.archive.ubuntu.com:443
azure.archive.ubuntu.com:80
files.pythonhosted.org:443
github.com:443
api.github.com:443
uploads.github.com:443
plantuml.com:443
plantuml.com:80
pypi.org:443
security.ubuntu.com:443
www.plantuml.com:80
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
fetch-depth: 0
- name: Setup Python
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
with:
python-version: '3.13'
- name: Install documentation requirements
run: |
pip install .[docs]
- name: Install LaTeX
run: |
sudo apt-get install -y texlive-latex-recommended texlive-fonts-recommended \
texlive-latex-extra texlive-xetex latexmk
- name: Build PDF
run: make -C doc latexpdf
- name: Store PDF artifact
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
with:
name: dfetch-pdf-documentation
path: doc/_build/latex/dfetch-*.pdf
- name: Upload PDF to release
if: ${{ inputs.release_id }}
uses: softprops/action-gh-release@b4309332981a82ec1c5618f44dd2e27cc8bfbfda # v2.5.0
with:
tag_name: ${{ inputs.release_id }}
files: doc/_build/latex/dfetch-*.pdf
draft: true
preserve_order: true
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}