Skip to content

observability(ci-ops): Tier-2 DORA dashboard — the four metrics + CI … #65

observability(ci-ops): Tier-2 DORA dashboard — the four metrics + CI …

observability(ci-ops): Tier-2 DORA dashboard — the four metrics + CI … #65

Workflow file for this run

# Build the MkDocs site and publish to GitHub Pages.
#
# One-time setup (already done): Repo Settings → Pages → Source = "GitHub Actions".
#
# Trigger model:
# - push to main → build + deploy
# - pull_request → build only (strict), so PR CI catches broken refs
# before they reach main
# - workflow_dispatch → manual rebuild
#
# Strict build (mkdocs build --strict) fails on unresolved cross-references —
# matches AGENTS.md #26.
name: docs
on:
push:
branches: [main]
paths:
- 'docs/**'
- 'mkdocs.yml'
- 'requirements-docs.txt'
- '.github/workflows/docs.yml'
- 'Makefile'
pull_request:
paths:
- 'docs/**'
- 'mkdocs.yml'
- 'requirements-docs.txt'
- '.github/workflows/docs.yml'
- 'Makefile'
workflow_dispatch:
permissions:
contents: read
pages: write
id-token: write
# Allow one in-flight deploy at a time; cancel queued runs so we ship latest.
concurrency:
group: pages
cancel-in-progress: false
jobs:
build:
name: Build (strict)
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: actions/setup-python@v5
with:
python-version: '3.12'
cache: pip
cache-dependency-path: requirements-docs.txt
- name: Install docs deps
run: pip install -r requirements-docs.txt
- name: Build site (strict)
run: mkdocs build --strict --clean
- name: Configure Pages
if: github.event_name == 'push' || github.event_name == 'workflow_dispatch'
uses: actions/configure-pages@v5
- name: Upload Pages artifact
if: github.event_name == 'push' || github.event_name == 'workflow_dispatch'
uses: actions/upload-pages-artifact@v3
with:
path: site
deploy:
name: Deploy to GitHub Pages
if: github.event_name == 'push' || github.event_name == 'workflow_dispatch'
needs: build
runs-on: ubuntu-latest
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
steps:
- name: Deploy
id: deployment
uses: actions/deploy-pages@v4