-
Notifications
You must be signed in to change notification settings - Fork 908
112 lines (104 loc) · 4.56 KB
/
documentation.yml
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
---
name: 'Documentation'
on:
push:
branches: [master]
pull_request:
branches: [master]
permissions:
contents: read
jobs:
build-upload-docs:
name: Build and upload docs
runs-on: ubuntu-22.04
steps:
- uses: PowerDNS/pdns/set-ubuntu-mirror@meta
- uses: actions/checkout@v3
- run: build-scripts/gh-actions-setup-inv-no-dist-upgrade # this runs apt update
- run: inv install-doc-deps
- run: inv install-doc-deps-pdf
- id: get-version
run: |
echo "pdns_version=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT
- id: setup-ssh
run: |-
inv ci-docs-add-ssh --ssh-key="$SSH_KEY" --host-key="$HOST_KEY"
echo "have_ssh_key=yes" >> $GITHUB_OUTPUT
env:
SSH_KEY: ${{secrets.WEB1_DOCS_SECRET}}
HOST_KEY: ${{vars.WEB1_HOSTKEY}}
if: ${{github.ref_name == 'master' && env.SSH_KEY != ''}}
# Auth
- run: inv ci-docs-build
- run: mv html auth-html-docs
working-directory: ./docs/_build
- run: tar cf auth-html-docs.tar auth-html-docs
working-directory: ./docs/_build
- uses: actions/upload-artifact@v3
with:
name: authoritative-html-docs-${{steps.get-version.outputs.pdns_version}}
path: ./docs/_build/auth-html-docs.tar
- run: bzip2 auth-html-docs.tar
if: ${{github.ref_name == 'master'}}
working-directory: ./docs/_build
- run: inv ci-docs-build-pdf
- uses: actions/upload-artifact@v3
with:
name: PowerDNS-Authoritative-${{steps.get-version.outputs.pdns_version}}.pdf
path: ./docs/_build/latex/PowerDNS-Authoritative.pdf
- run: inv ci-docs-upload-master --docs-host="${DOCS_HOST}" --pdf="PowerDNS-Authoritative.pdf" --username="docs_powerdns_com" --product="auth" --directory="/${AUTH_DOCS_DIR}/"
env:
DOCS_HOST: ${{vars.DOCS_HOST}}
AUTH_DOCS_DIR: ${{vars.AUTH_DOCS_DIR}}
if: ${{github.ref_name == 'master' && steps.setup-ssh.outputs.have_ssh_key != ''}}
# Rec
- run: inv ci-docs-build
working-directory: ./pdns/recursordist
- run: mv html rec-html-docs
working-directory: ./pdns/recursordist/docs/_build
- run: tar cf rec-html-docs.tar rec-html-docs
working-directory: ./pdns/recursordist/docs/_build
- uses: actions/upload-artifact@v3
with:
name: recursor-html-docs-${{steps.get-version.outputs.pdns_version}}
path: ./pdns/recursordist/docs/_build/rec-html-docs.tar
- run: bzip2 rec-html-docs.tar
if: ${{github.ref_name == 'master'}}
working-directory: ./pdns/recursordist/docs/_build
- run: inv ci-docs-build-pdf
working-directory: ./pdns/recursordist
- uses: actions/upload-artifact@v3
with:
name: PowerDNS-Recursor-${{steps.get-version.outputs.pdns_version}}.pdf
path: ./pdns/recursordist/docs/_build/latex/PowerDNS-Recursor.pdf
- run: inv ci-docs-upload-master --docs-host="${DOCS_HOST}" --pdf="PowerDNS-Recursor.pdf" --username="docs_powerdns_com" --product="rec" --directory="/${REC_DOCS_DIR}/"
env:
DOCS_HOST: ${{vars.DOCS_HOST}}
REC_DOCS_DIR: ${{vars.REC_DOCS_DIR}}
if: ${{github.ref_name == 'master' && steps.setup-ssh.outputs.have_ssh_key != ''}}
working-directory: ./pdns/recursordist
# DNSdist
- run: inv ci-docs-build
working-directory: ./pdns/dnsdistdist
- run: mv html dnsdist-html-docs
working-directory: ./pdns/dnsdistdist/docs/_build
- run: tar cf dnsdist-html-docs.tar dnsdist-html-docs
working-directory: ./pdns/dnsdistdist/docs/_build
- uses: actions/upload-artifact@v3
with:
name: dnsdist-html-docs-${{steps.get-version.outputs.pdns_version}}
path: ./pdns/dnsdistdist/docs/_build/dnsdist-html-docs.tar
- run: bzip2 dnsdist-html-docs.tar
if: ${{github.ref_name == 'master'}}
working-directory: ./pdns/dnsdistdist/docs/_build
- run: inv ci-docs-build-pdf
working-directory: ./pdns/dnsdistdist
- uses: actions/upload-artifact@v3
with:
name: dnsdist-${{steps.get-version.outputs.pdns_version}}.pdf
path: ./pdns/dnsdistdist/docs/_build/latex/dnsdist.pdf
- run: inv ci-docs-upload-master --docs-host="${DOCS_HOST}" --pdf="dnsdist.pdf" --username="dnsdist_org" --product="dnsdist"
env:
DOCS_HOST: ${{vars.DOCS_HOST}}
if: ${{github.ref_name == 'master' && steps.setup-ssh.outputs.have_ssh_key != ''}}
working-directory: ./pdns/dnsdistdist