46 lines
1.3 KiB
YAML
46 lines
1.3 KiB
YAML
name: Validate committed public docs
|
|
|
|
on:
|
|
push:
|
|
branches: [main]
|
|
paths-ignore:
|
|
- "docs/generated/**"
|
|
- "docs/diagrams/**"
|
|
- "docs/public/**"
|
|
- "site/**"
|
|
pull_request:
|
|
branches: [main]
|
|
paths-ignore:
|
|
- "docs/generated/**"
|
|
- "docs/diagrams/**"
|
|
- "docs/public/**"
|
|
- "site/**"
|
|
workflow_dispatch:
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
jobs:
|
|
validate-public-docs:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- name: Ensure committed docs/public exists
|
|
run: |
|
|
test -d docs/public
|
|
test -n "$(find docs/public -mindepth 1 -print -quit)"
|
|
- name: Install Graphviz and MkDocs
|
|
run: |
|
|
sudo apt-get update
|
|
sudo apt-get install -y graphviz
|
|
dot -V
|
|
python3 -m pip install --user mkdocs
|
|
- name: Validate public docs and diagrams
|
|
run: |
|
|
test -f docs/public/physical-topology.svg
|
|
test -f docs/public/docker-traefik-dynu.svg
|
|
! rg -n "Graphviz dot not found" docs/public/*.svg
|
|
! rg -n "lan\.ddnsgeek\.com" docs/public/*.svg docs/public/*.md
|
|
! rg -n -i "password|token|api_key|secret" docs/public/*.svg
|
|
python3 -m mkdocs build -f mkdocs-public.yml --strict
|