feat(wg-easy): add weekly automated chart validation tests#91
feat(wg-easy): add weekly automated chart validation tests#91adamancini wants to merge 8 commits intomainfrom
Conversation
✅ Testing CompleteThe weekly test workflow has been successfully validated! Test ResultsWorkflow Run: https://github.com/replicatedhq/platform-examples/actions/runs/21690452740 All steps completed successfully:
Bug Found & FixedDuring testing, discovered the health check was looking in the wrong namespace:
Total Runtime~8 minutes from start to finish Ready to Merge
|
🎨 Added: Automated Test Status in READMENew FeatureThe workflow now automatically updates the README with test results! What was added:
How It Works<!-- TEST_STATUS_START -->
## Test Status
| Component | Status | Last Tested | Kubernetes Version | Details |
|-----------|--------|-------------|-------------------|---------|
| Chart Installation | ✅ Passing | 2026-02-04 22:22 UTC | v1.35 | [View Run](link) |
<!-- TEST_STATUS_END -->The markers Benefits✅ Always current - Status updates automatically every Monday First UpdateThe first automated update will occur after the next scheduled run (Monday at 9:00 AM UTC). |
|
Needs a rebase, but the other question I have is if we can re-use any of the stuff in .github/workflows/wg-easy-pr-validation.yaml? Adding an entirely new workflow looks to be adding a bunch of duplication and given that these are complex workflows with lots of shell, I'd rather keep them as simple as possible. |
jmboby
left a comment
There was a problem hiding this comment.
@adamancini Claude suggested replacing the sed with hardcoded line number with marker comments or anchor on a unique string that's already in the readme, but since that's just semantics I'll let you decide. Approved.
sed -i.bak '4r /tmp/status_section.md' "$README_PATH"
Add automated weekly testing workflow to ensure the wg-easy Helm chart remains installable and functional during periods of low development activity. Changes: - Add weekly-test.yaml workflow that runs every Monday at 9:00 AM UTC - Test chart validation, packaging, deployment, and functionality - Create GitHub Issues automatically on test failures - Comment on issues when tests recover to passing state - Reuse stable "weekly-test" channel/customer for efficiency - Update README.md with automated testing documentation Benefits: - Proactive monitoring catches breakages before users encounter them - Automatic notifications via GitHub Issues - Zero maintenance - runs completely automated - Cost efficient with single cluster configuration - Easy debugging with uploaded logs and workflow links
This allows testing the workflow on the PR before merge. Will be removed after validation.
The wg-easy pod deploys to the wg-easy namespace, not default. Update health check to look in the correct namespace.
The workflow has been validated and works correctly. Removing the temporary pull_request trigger before merge.
Add automatic test status tracking to the wg-easy README: Changes: - Add test status section to README with markers for automation - Add update-readme-status job to weekly test workflow - Automatically updates status table with test results - Includes status, timestamp, Kubernetes version, and workflow link - Commits changes directly to main on scheduled runs only Benefits: - Users can see test status at a glance in README - Status is always current (updated weekly) - Provides direct link to latest test run - No manual status updates needed
…ble workflow Add workflow_call support to wg-easy-pr-validation.yaml with inputs for channel-name, customer-name, and cleanup-cluster. The weekly test workflow now calls the PR validation workflow directly instead of duplicating all the validate/package/create-resources/deploy logic. Weekly test workflow shrinks from ~537 lines to ~198 lines. The weekly test now also benefits from the same 3-version k8s matrix as PR validation, providing broader coverage.
49e1c03 to
21df983
Compare
There was a problem hiding this comment.
Pull request overview
Adds a scheduled GitHub Actions workflow to run wg-easy Helm chart install/health validation weekly (and on-demand), with automated GitHub Issue notifications and a README “Test Status” section intended to reflect the latest run.
Changes:
- Added a new scheduled workflow to run the existing wg-easy validation pipeline weekly and create/comment on Issues based on outcome.
- Updated wg-easy PR validation workflow to be reusable via
workflow_call, expose a result output, and optionally clean up test clusters. - Added README documentation for automated testing plus a status block intended to be updated by the weekly workflow.
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 4 comments.
| File | Description |
|---|---|
applications/wg-easy/README.md |
Adds “Test Status” block and automated testing documentation. |
.github/workflows/wg-easy-weekly-test.yaml |
New weekly scheduled workflow + notifications + README updater. |
.github/workflows/wg-easy-pr-validation.yaml |
Enables reuse via workflow_call, adds outputs, supports input overrides, optional cluster cleanup. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
- Add Details column to README Test Status table to match workflow output - Add permissions: issues: write to notify-on-failure and notify-on-success jobs so GitHub token can create/comment on issues - Filter notify-on-success to only comment on [Weekly Test Failure] issues, avoiding false comments on unrelated issues sharing the same labels - Exclude README.md from wg-easy-image.yml push trigger so automated status updates do not trigger unnecessary image builds
Replace hardcoded `sed '4r ...'` with a sed range that uses the TEST_STATUS_START/END marker comments as anchors. This is robust to README restructuring — the inner content is replaced in-place between the markers regardless of what line they're on.
that is a good idea, anchors > line numbers |
Summary
Adds automated weekly testing workflow to ensure the wg-easy Helm chart remains installable and functional, even during periods of low development activity.
Problem
The current GitHub Actions workflows only run when there's active development on the wg-easy chart. This means:
Solution
Created a new weekly test workflow (
.github/workflows/wg-easy-weekly-test.yaml) that:✅ Runs automatically every Monday at 9:00 AM UTC
✅ Tests the full lifecycle: validation → packaging → deployment → health checks
✅ Creates GitHub Issues automatically when tests fail
✅ Notifies on recovery by commenting on issues when tests pass again
✅ Efficient resource usage with stable "weekly-test" channel/customer and single cluster config
✅ Easy debugging with uploaded logs and direct workflow links
What Gets Tested
Changes
.github/workflows/wg-easy-weekly-test.yaml- Weekly test workflowapplications/wg-easy/README.md- Added "Automated Testing" documentation sectionImplementation Details
Notifications
On Test Failure:
automated-test,wg-easy, andbuglabelsOn Test Success (after previous failure):
Benefits
🎯 Proactive Monitoring - Catch breakages before users encounter them
🔔 Automatic Notifications - Team is immediately alerted via GitHub Issues
🤖 Zero Maintenance - Fully automated, no manual intervention needed
💰 Cost Efficient - Single cluster per week, reused resources
🔍 Easy Debugging - Full logs and workflow links in issue reports
Testing
Related
This addresses the need for continuous validation independent of development cycles, as discussed in the project requirements.
Shortcut: [sc-133820]