Dashboard #14
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Dashboard | |
| # Publishes the PyAutoScientist Dashboard — the umbrella ROUTER over the four organ | |
| # dashboards (scripts/organism_board.py): one row per board with its own live | |
| # headline, a "where to work next" banner keyed off the Heart's verdict, | |
| # published to GitHub Pages + badge.json + the README strip between the | |
| # scientist:begin/end markers. Nothing is recomputed here — each organ's | |
| # board stays the authority; this page only routes. | |
| # | |
| # Six-hourly: the organ boards refresh on their own daily/push cadences, so | |
| # the router follows within hours. Tests (`python -m pytest tests/`) run ad | |
| # hoc — this repo deliberately carries no CI gate; this workflow building the | |
| # page is the operational check. | |
| on: | |
| schedule: | |
| - cron: "17 */6 * * *" | |
| workflow_dispatch: | |
| permissions: | |
| contents: write | |
| pages: write | |
| id-token: write | |
| concurrency: | |
| group: organism-board-pages | |
| cancel-in-progress: false | |
| jobs: | |
| board: | |
| name: Render + publish the dashboard | |
| runs-on: ubuntu-latest | |
| environment: | |
| name: github-pages | |
| url: ${{ steps.deployment.outputs.page_url }} | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-python@v5 | |
| with: | |
| python-version: "3.12" | |
| - name: Render every surface (public HTTPS only) | |
| run: | | |
| mkdir -p _site | |
| python scripts/organism_board.py --html > _site/index.html | |
| python scripts/organism_board.py --badge > _site/badge.json | |
| python scripts/organism_board.py --md > board.md | |
| cp board.md _site/dashboard.md | |
| - name: Write the board to the job step summary | |
| run: cat board.md >> "$GITHUB_STEP_SUMMARY" | |
| # The Pages site is created once out-of-band (gh api -X POST | |
| # repos/<owner>/<repo>/pages -f build_type=workflow) — the default token | |
| # cannot create it here. | |
| - uses: actions/configure-pages@v5 | |
| if: github.ref == 'refs/heads/main' | |
| - uses: actions/upload-pages-artifact@v3 | |
| if: github.ref == 'refs/heads/main' | |
| with: | |
| path: _site | |
| - id: deployment | |
| uses: actions/deploy-pages@v4 | |
| if: github.ref == 'refs/heads/main' |