You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Build a single-pane-of-glass status dashboard that aggregates the health and CI state of every repo in the AzureLocal GitHub org. The dashboard is generated and served entirely from azurelocal-platform — no other repo is modified to host it.
Goals
One URL that shows the live status of every AzureLocal repo
CI pass/fail visible at a glance without clicking into individual repos
Near-real-time updates — not just scheduled polling
No external tooling, no third-party dashboards, no new infrastructure
Architecture
1. GitHub Pages from platform repo
Enable GitHub Pages on the azurelocal-platform repo (from gh-pages branch). Configure a CNAME so the dashboard is accessible at platform.azurelocal.cloud or similar. No other repo is involved in hosting.
2. Dashboard generator workflow
New workflow in azurelocal-platform: .github/workflows/generate-dashboard.yml
Triggers:
Schedule: every 30 minutes
workflow_dispatch for manual refresh
repository_dispatch with event type dashboard-refresh (called by other repos on CI completion — see below)
Steps:
Authenticate with GitHub API using a scoped org-level token or GitHub App
Query every repo in the AzureLocal org for:
Latest release tag and version
Last commit timestamp and author
Last 5 workflow runs (name, status, conclusion, run URL)
Open issue count
Open PR count
Render index.html from a template
Commit output to gh-pages branch
GitHub Pages serves it automatically
3. Event-driven refresh via .github repo
Add a reusable workflow to the org .github repo: .github/workflows/reusable-notify-dashboard.yml
The reusable workflow fires a repository_dispatch POST to azurelocal-platform, triggering an immediate dashboard regeneration. This means a new release or a failed CI run updates the dashboard within seconds.
Dashboard content
Header bar
Org name + logo
Total repo count
Passing / failing / in-progress counts (colored)
Last updated timestamp
Per-repo row or card
Field
Source
Repo name
GitHub API
Latest release
Latest tag via API
Overall CI status
Last workflow run conclusion
Last 5 run history
Workflow runs API (icons: ✓ ✗ ⟳)
Open issues
Issues API
Open PRs
Pulls API
Last commit
Commits API
Clicking a repo name goes directly to that GitHub repo. Clicking a workflow run icon goes to that run.
dashboard/template.html — HTML/CSS/JS template the workflow populates
dashboard/generate.ps1 or dashboard/generate.js — script that queries the API and renders the template
gh-pages branch — auto-managed by the workflow, not manually edited
Files to update (existing)
azurelocal-platform reusable workflows — add repository_dispatch call at completion so CI events from repos that already use platform reusable workflows automatically trigger a dashboard refresh
Overview
Build a single-pane-of-glass status dashboard that aggregates the health and CI state of every repo in the AzureLocal GitHub org. The dashboard is generated and served entirely from
azurelocal-platform— no other repo is modified to host it.Goals
Architecture
1. GitHub Pages from platform repo
Enable GitHub Pages on the
azurelocal-platformrepo (fromgh-pagesbranch). Configure a CNAME so the dashboard is accessible atplatform.azurelocal.cloudor similar. No other repo is involved in hosting.2. Dashboard generator workflow
New workflow in
azurelocal-platform:.github/workflows/generate-dashboard.ymlTriggers:
workflow_dispatchfor manual refreshrepository_dispatchwith event typedashboard-refresh(called by other repos on CI completion — see below)Steps:
index.htmlfrom a templategh-pagesbranch3. Event-driven refresh via
.githubrepoAdd a reusable workflow to the org
.githubrepo:.github/workflows/reusable-notify-dashboard.ymlAny repo's CI workflow calls this on completion:
The reusable workflow fires a
repository_dispatchPOST toazurelocal-platform, triggering an immediate dashboard regeneration. This means a new release or a failed CI run updates the dashboard within seconds.Dashboard content
Header bar
Per-repo row or card
Clicking a repo name goes directly to that GitHub repo. Clicking a workflow run icon goes to that run.
Color coding
Files to create
.github/workflows/generate-dashboard.yml— scheduled + dispatch generator workflowdashboard/template.html— HTML/CSS/JS template the workflow populatesdashboard/generate.ps1ordashboard/generate.js— script that queries the API and renders the templategh-pagesbranch — auto-managed by the workflow, not manually editedFiles to update (existing)
azurelocal-platformreusable workflows — addrepository_dispatchcall at completion so CI events from repos that already use platform reusable workflows automatically trigger a dashboard refresh.githubrepo — addreusable-notify-dashboard.ymlSecrets / permissions required
repoandactions:readscope across the org, stored as an org-level secret (e.g.ORG_DASHBOARD_TOKEN)azurelocal-platformAcceptance criteria
platform.azurelocal.cloud(or agreed URL)repository_dispatch.githubrepo for other repos to opt in