Skip to content

Garden Linux Daily Dashboard

The Garden Linux Daily Dashboard is a static, browser-based monitoring page for the Garden Linux (GL) build and release pipeline. It displays the real-time health of each pipeline stage and shows historical data for past GL days.

Pipeline stages

The dashboard monitors four pipeline stages and two auxiliary workflows:

StageRepositoryWorkflows
Stage 1 – Package BuildsAll non-archived gardenlinux/package-* reposbuild.yml on main or master
Stage 2 – Repositorygardenlinux/repobuild.yml, update.yml
Stage 3 – Build & Release Imagesgardenlinux/gardenlinuxnightly.yml (daily), manual_release.yml
Auxiliary – Cloud Test Cleanupgardenlinux/gardenlinuxcloud_test_cleanup.yml
Auxiliary – Debian Snapshotgardenlinux/repo-debian-snapshotsnapshot.yml

Stage 4 only applies to GL versions below 2174. From GL 2174 onwards (schema v2), the dashboard suppresses Stage 4 entirely.

Deprecations

StageRepositoryWorkflows
Stage 4 – Publish Imagesgardenlinux/gardenlinuxpublish.yml, publish_s3.yml

INFO

Stage 4 only applies to GL versions below 2174. From GL 2174 onwards (schema v2), the dashboard suppresses Stage 4 entirely.

Data sources

The dashboard combines three data sources.

Package states (Stage 1)

A Go binary (package-aggregator/main.go) runs nightly at 03:00 UTC via the aggregate_package_states.yml workflow. It scans every non-archived, non-excluded gardenlinux/package-* repository, checks the most recent build.yml run on main or master, and writes the result to packages/{glDays}.json on the packages branch.

The dashboard fetches this file at build time. The Stage 1 table shows only packages with a non-success status. An empty table means all packages are healthy.

Historic release archive (Stages 2–3)

scripts/collect-historic.js runs nightly at 05:00 UTC via the archive_historic_releases.yml workflow. It queries the GitHub API for the last 14 GL days and writes per-day pipeline summaries to historic/{glDays}.json on the historic-releases branch.

For past GL days the dashboard reads these pre-built cache files. It falls back to live GitHub API calls only when the cache is absent for a given day.

Live GitHub API (current day)

For the current GL day the browser fetches workflow run data directly from the GitHub API at page load time. Unauthenticated requests are subject to a rate limit of 60 requests per hour. You can raise this limit by storing a personal access token in the dashboard settings (see View the dashboard and re-run workflows).

Branch data model

BranchContent
packagespackages/{glDays}.json — package build states per GL day
historic-releaseshistoric/{glDays}.json — full pipeline summary cache per GL day
gh-pagesStatic dashboard site (index.html, style.css, dist/)

Schema versions

ConditionSchemaStage 4
GL < 2174v1Present
GL ≥ 2174v2Suppressed

The schema version affects which workflow IDs the dashboard expects and how it calculates pipeline durations.