Skip to content

feat: phoenix removal, SA-skip-OPA, dashboards-as-code, ADRs, 2026 audit #9

feat: phoenix removal, SA-skip-OPA, dashboards-as-code, ADRs, 2026 audit

feat: phoenix removal, SA-skip-OPA, dashboards-as-code, ADRs, 2026 audit #9

name: Dashboard drift check
# Guards `charts/observability-dashboards/files/**/*.json` (and any chart-local
# `files/dashboards/**/*.json`) against drift from their generator sources in
# `tools/dashboards/`. Fails the PR if a committed JSON differs from what the
# generator would emit.
#
# See: docs/python-dashboard-generation.md, ADR-0008
on:
pull_request:
paths:
- "tools/dashboards/**"
- "charts/observability-dashboards/files/**/*.json"
- "charts/**/files/dashboards/**/*.json"
- ".github/workflows/dashboards-drift.yml"
push:
branches: [main]
paths:
- "tools/dashboards/**"
- "charts/observability-dashboards/files/**/*.json"
permissions:
contents: read
jobs:
check:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- name: Install uv
# v8.1.0 (2026-04-16). v4 reworked input names; `enable-cache` is set
# explicitly here so the default change doesn't matter.
uses: astral-sh/setup-uv@v8
with:
enable-cache: true
- name: Pin Python
run: uv python install 3.12
- name: Install deps
working-directory: tools/dashboards
run: uv sync --frozen
- name: Verify dashboards match generators
working-directory: tools/dashboards
run: uv run dashboards check