Skip to content

Conversation

@yeoldegrove
Copy link
Contributor

@yeoldegrove yeoldegrove commented Jan 19, 2026

What this PR does / why we need it:

Implement caching and archival system for historic Garden Linux releases to improve dashboard performance and enable offline viewing of past releases.

Features:

  • Historic release data collector (scripts/collect-historic.js)
    • Uses GitHub API created date filter for efficient server-side filtering
    • Local filesystem caching for API responses and collected GL day data
    • GitHub Actions workflow for nightly automated archival into historic-releases branch (similar to packages)
    • Schema versioning for future-proof data structure
  • Dashboard integration
    • Automatic cache loading for historic releases
    • ?force=true URL parameter to bypass cache and fetch live data
  • Code refactoring to extract shared utilities and reduce duplication (DRY principle)

Performance:

  • Reduced API calls through intelligent caching and server-side date filtering
  • Faster dashboard loading for historic releases using cached data
  • Simplified pagination using GitHub's created parameter (eliminates unnecessary API requests)

Bug Fixes:

  • Fixed parent workflow detection for Stage 3 and Stage 4: Corrected logic that incorrectly detected parent workflow relationships, resulting in wrong status calculations. Stage 4 runs are now properly validated to match their parent Stage 3 runs.

Breaking Changes:

  • Minimum supported GL version is now 1825 as workflows were restructured in this release.

Special notes for your reviewer:
Needs #40 and #41 merged first.

Each dot represents an individual workflow status:
  - Stage 2: Repo Update (top), Repo Build (bottom)
  - Stage 3: Garden Linux Nightly - Schedule (top), Build and publish a release - Manual (bottom)
  - Stage 4: Publish to ghcr.io (top), Publish to S3 (bottom)

Signed-off-by: Eike Waldt <waldt@b1-systems.de>
On-behalf-of: SAP <eike.waldt@sap.com>
Add option to configure how many historic daily releases are displayed.
The count can be set via settings panel or URL parameter (historic_count).
Default remains 14 days.

Signed-off-by: Eike Waldt <waldt@b1-systems.de>
On-behalf-of: SAP <eike.waldt@sap.com>
@yeoldegrove yeoldegrove added this to the 2026-01 milestone Jan 19, 2026
@yeoldegrove yeoldegrove requested a review from a team January 19, 2026 13:22
@yeoldegrove yeoldegrove self-assigned this Jan 19, 2026
@yeoldegrove yeoldegrove force-pushed the feat/hist_release_cache branch 3 times, most recently from a4d11a1 to dcd4fa2 Compare January 19, 2026 14:21
Implement caching and archival system for historic Garden Linux releases to
improve dashboard performance and enable offline viewing of past releases.

Features:
- Historic release data collector script with pagination support (up to 200 pages)
- Local filesystem caching for API responses and collected GL day data
- Dashboard integration with automatic cache loading and force bypass option
- GitHub Actions workflow for nightly automated archival
- Minimum GL version enforcement (GL 1825) due to workflow structure changes

Performance:
- Reduced API calls through intelligent caching
- Faster dashboard loading for historic releases
- Smart date-based pagination stopping

Breaking Changes:
- Minimum supported GL version is now 1825

Signed-off-by: Eike Waldt <waldt@b1-systems.de>
On-behalf-of: SAP <eike.waldt@sap.com>
@yeoldegrove yeoldegrove force-pushed the feat/hist_release_cache branch from dcd4fa2 to ebba020 Compare January 19, 2026 15:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants