Skip to content

generate-repo-files: pick up git versions from output too #4832

generate-repo-files: pick up git versions from output too

generate-repo-files: pick up git versions from output too #4832

Workflow file for this run

---
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@v4
- uses: actions/setup-python@v5
with:
python-version: '3.11'
- 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@v4
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@v4
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-metrics-rec-generate
working-directory: ./pdns/recursordist
- run: inv ci-docs-rec-generate
working-directory: ./pdns/recursordist/settings
- 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@v4
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@v4
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@v4
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@v4
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