Skip to content

radar: complete 2026-08-25 commodities evening manifest #155

radar: complete 2026-08-25 commodities evening manifest

radar: complete 2026-08-25 commodities evening manifest #155

name: Validate Radar Reports
on:
push:
branches: [main]
# Formal archives write six files directly to main. The manifest is written
# last, so it is the single CI gate instead of starting one run per file.
paths:
- "manifests/reports.json"
- "tests/**/*_morning.json"
- "tests/**/*_evening.json"
- "tests/test_*.py"
- "config/archive-policy.json"
- "schemas/**"
- "scripts/validate_reports.py"
- "scripts/validate_markdown_reports.py"
- ".github/workflows/validate-reports.yml"
pull_request:
paths:
- "latest/**"
- "reports/**"
- "tests/**"
- "manifests/**"
- "status/**"
- "config/archive-policy.json"
- "prompts/**"
- "templates/**"
- "schemas/**"
- "scripts/validate_reports.py"
- "scripts/validate_markdown_reports.py"
- ".github/workflows/validate-reports.yml"
workflow_dispatch:
concurrency:
group: validate-radar-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
permissions:
contents: read
jobs:
validate:
runs-on: ubuntu-latest
timeout-minutes: 5
steps:
- name: Checkout
uses: actions/checkout@v7
- name: Set up Python
uses: actions/setup-python@v7
with:
python-version: "3.12"
- name: Install validator
run: python -m pip install --disable-pip-version-check "jsonschema[format]>=4.23,<5"
- name: Validate reports, manifest and portable citations
run: python scripts/validate_reports.py
- name: Validate full Markdown archives
run: python scripts/validate_markdown_reports.py
- name: Run archive validator tests
run: python -m unittest discover -s tests -p "test_*.py"