15 name: Build and upload docs
18 - uses: PowerDNS/pdns/set-ubuntu-mirror@meta
19 - uses: actions/checkout@v4
20 - run: build-scripts/gh-actions-setup-inv-no-dist-upgrade # this runs apt update
21 - run: inv install-doc-deps
22 - run: inv install-doc-deps-pdf
26 echo "pdns_version=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT
30 inv ci-docs-add-ssh --ssh-key="$SSH_KEY" --host-key="$HOST_KEY"
31 echo "have_ssh_key=yes" >> $GITHUB_OUTPUT
33 SSH_KEY: ${{secrets.WEB1_DOCS_SECRET}}
34 HOST_KEY: ${{vars.WEB1_HOSTKEY}}
35 if: ${{github.ref_name == 'master' && env.SSH_KEY != ''}}
38 - run: inv ci-docs-build
39 - run: mv html auth-html-docs
40 working-directory: ./docs/_build
41 - run: tar cf auth-html-docs.tar auth-html-docs
42 working-directory: ./docs/_build
43 - uses: actions/upload-artifact@v4
45 name: authoritative-html-docs-${{steps.get-version.outputs.pdns_version}}
46 path: ./docs/_build/auth-html-docs.tar
47 - run: bzip2 auth-html-docs.tar
48 if: ${{github.ref_name == 'master'}}
49 working-directory: ./docs/_build
50 - run: inv ci-docs-build-pdf
51 - uses: actions/upload-artifact@v4
53 name: PowerDNS-Authoritative-${{steps.get-version.outputs.pdns_version}}.pdf
54 path: ./docs/_build/latex/PowerDNS-Authoritative.pdf
55 - run: inv ci-docs-upload-master --docs-host="${DOCS_HOST}" --pdf="PowerDNS-Authoritative.pdf" --username="docs_powerdns_com" --product="auth" --directory="/${AUTH_DOCS_DIR}/"
57 DOCS_HOST: ${{vars.DOCS_HOST}}
58 AUTH_DOCS_DIR: ${{vars.AUTH_DOCS_DIR}}
59 if: ${{github.ref_name == 'master' && steps.setup-ssh.outputs.have_ssh_key != ''}}
62 - run: inv ci-docs-rec-generate
63 working-directory: ./pdns/recursordist/settings
64 - run: inv ci-docs-build
65 working-directory: ./pdns/recursordist
66 - run: mv html rec-html-docs
67 working-directory: ./pdns/recursordist/docs/_build
68 - run: tar cf rec-html-docs.tar rec-html-docs
69 working-directory: ./pdns/recursordist/docs/_build
70 - uses: actions/upload-artifact@v4
72 name: recursor-html-docs-${{steps.get-version.outputs.pdns_version}}
73 path: ./pdns/recursordist/docs/_build/rec-html-docs.tar
74 - run: bzip2 rec-html-docs.tar
75 if: ${{github.ref_name == 'master'}}
76 working-directory: ./pdns/recursordist/docs/_build
77 - run: inv ci-docs-build-pdf
78 working-directory: ./pdns/recursordist
79 - uses: actions/upload-artifact@v4
81 name: PowerDNS-Recursor-${{steps.get-version.outputs.pdns_version}}.pdf
82 path: ./pdns/recursordist/docs/_build/latex/PowerDNS-Recursor.pdf
83 - run: inv ci-docs-upload-master --docs-host="${DOCS_HOST}" --pdf="PowerDNS-Recursor.pdf" --username="docs_powerdns_com" --product="rec" --directory="/${REC_DOCS_DIR}/"
85 DOCS_HOST: ${{vars.DOCS_HOST}}
86 REC_DOCS_DIR: ${{vars.REC_DOCS_DIR}}
87 if: ${{github.ref_name == 'master' && steps.setup-ssh.outputs.have_ssh_key != ''}}
88 working-directory: ./pdns/recursordist
91 - run: inv ci-docs-build
92 working-directory: ./pdns/dnsdistdist
93 - run: mv html dnsdist-html-docs
94 working-directory: ./pdns/dnsdistdist/docs/_build
95 - run: tar cf dnsdist-html-docs.tar dnsdist-html-docs
96 working-directory: ./pdns/dnsdistdist/docs/_build
97 - uses: actions/upload-artifact@v4
99 name: dnsdist-html-docs-${{steps.get-version.outputs.pdns_version}}
100 path: ./pdns/dnsdistdist/docs/_build/dnsdist-html-docs.tar
101 - run: bzip2 dnsdist-html-docs.tar
102 if: ${{github.ref_name == 'master'}}
103 working-directory: ./pdns/dnsdistdist/docs/_build
104 - run: inv ci-docs-build-pdf
105 working-directory: ./pdns/dnsdistdist
106 - uses: actions/upload-artifact@v4
108 name: dnsdist-${{steps.get-version.outputs.pdns_version}}.pdf
109 path: ./pdns/dnsdistdist/docs/_build/latex/dnsdist.pdf
110 - run: inv ci-docs-upload-master --docs-host="${DOCS_HOST}" --pdf="dnsdist.pdf" --username="dnsdist_org" --product="dnsdist"
112 DOCS_HOST: ${{vars.DOCS_HOST}}
113 if: ${{github.ref_name == 'master' && steps.setup-ssh.outputs.have_ssh_key != ''}}
114 working-directory: ./pdns/dnsdistdist