-
-
Notifications
You must be signed in to change notification settings - Fork 0
Description
Manual Test Plan: CI Workflow Fixes
Created: 2026-01-11
PR: #461
Feature: CI/CD Workflow Documentation & Supply Chain Fix
Objective
Manually verify that the CI workflow fixes work correctly in production, focusing on finding potential bugs in the Supply Chain Verification orchestration.
Background
What Was Fixed:
- Removed
branchesfilter fromsupply-chain-verify.ymlto enableworkflow_runtriggering on all branches - Added documentation to explain the GitHub Security warning (false positive)
- Updated SECURITY.md with comprehensive security scanning documentation
Expected Behavior:
- Supply Chain Verification should now trigger via
workflow_runafter Docker Build completes on ANY branch - Previous behavior: Only triggered via
pull_requestfallback (branch filter prevented workflow_run)
Test Scenarios
Scenario 1: Push to Feature Branch (workflow_run Test)
Goal: Verify workflow_run trigger works on feature branches after fix
Steps:
- Create a small test commit on
feature/beta-release - Push the commit
- Monitor GitHub Actions workflow runs
Expected Results:
- ✅ Docker Build workflow triggers and completes successfully
- ✅ Supply Chain Verification triggers via workflow_run event (not pull_request)
- ✅ Supply Chain completes successfully
- ✅ GitHub Actions logs show event type is
workflow_run
How to Verify Event Type:
gh run list --workflow="supply-chain-verify.yml" --limit 1 --json event,conclusion
# Should show: "event": "workflow_run", "conclusion": "success"Potential Bugs to Watch For:
- ❌ Supply Chain doesn't trigger at all
- ❌ Supply Chain triggers but fails
- ❌ Multiple simultaneous runs (race condition)
- ❌ Timeout or hang in workflow_run chain
Scenario 2: PR Synchronization (Fallback Still Works)
Goal: Verify pull_request fallback trigger still works correctly
Steps:
- With PR feat: DNS Challenge Support for Wildcard Certificates #461 open, push another small commit
- Monitor GitHub Actions workflow runs
Expected Results:
- ✅ Docker Build triggers via
pull_requestevent - ✅ Supply Chain may trigger via BOTH
workflow_runANDpull_request(race condition possible) - ✅ If both trigger, both should complete successfully without conflict
- ✅ PR should show both workflow checks passing
Potential Bugs to Watch For:
- ❌ Duplicate runs causing conflicts
- ❌ Race condition causing failures
- ❌ PR checks showing "pending" indefinitely
- ❌ One workflow cancels the other
Scenario 3: Main Branch Push (Default Branch Behavior)
Goal: Verify fix doesn't break main branch behavior
Steps:
- After PR feat: DNS Challenge Support for Wildcard Certificates #461 merges to main, monitor the merge commit
- Check GitHub Actions runs
Expected Results:
- ✅ Docker Build runs on main
- ✅ Supply Chain triggers via
workflow_run - ✅ Both complete successfully
- ✅ Weekly scheduled runs continue to work
Potential Bugs to Watch For:
- ❌ Main branch workflows broken
- ❌ Weekly schedule interferes with workflow_run
- ❌ Permissions issues on main branch
Scenario 4: Failed Docker Build (Error Handling)
Goal: Verify Supply Chain doesn't trigger when Docker Build fails
Steps:
- Intentionally break Docker Build (e.g., invalid Dockerfile syntax)
- Push to a test branch
- Monitor workflow behavior
Expected Results:
- ✅ Docker Build fails as expected
- ✅ Supply Chain does NOT trigger (workflow_run only fires on
completedandsuccess) - ✅ No cascading failures
Potential Bugs to Watch For:
- ❌ Supply Chain triggers on failed builds
- ❌ Error handling missing
- ❌ Workflow stuck in pending state
Scenario 5: Manual Workflow Dispatch
Goal: Verify manual trigger still works
Steps:
- Go to GitHub Actions → Supply Chain Verification
- Click "Run workflow"
- Select
feature/beta-releasebranch - Click "Run workflow"
Expected Results:
- ✅ Workflow starts via
workflow_dispatchevent - ✅ Completes successfully
- ✅ SBOM and attestations generated
Potential Bugs to Watch For:
- ❌ Manual dispatch broken
- ❌ Branch selector doesn't work
- ❌ Workflow fails with "branch not found"
Scenario 6: Weekly Scheduled Run
Goal: Verify scheduled trigger still works
Steps:
- Wait for next Monday 00:00 UTC
- Check GitHub Actions for scheduled run
Expected Results:
- ✅ Workflow triggers via
scheduleevent - ✅ Runs on main branch
- ✅ Completes successfully
Potential Bugs to Watch For:
- ❌ Schedule doesn't fire
- ❌ Wrong branch selected
- ❌ Interference with other workflows
Edge Cases to Test
Edge Case 1: Rapid Pushes (Rate Limiting)
Test: Push 3-5 commits rapidly to feature branch
Expected: All Docker Builds run, Supply Chain may queue or skip redundant runs
Watch For: Workflow queue overflow, cancellations, failures
Edge Case 2: Long-Running Docker Build
Test: Create a commit that makes Docker Build take >10 minutes
Expected: Supply Chain waits for completion before triggering
Watch For: Timeouts, abandoned runs, state corruption
Edge Case 3: Branch Deletion During Run
Test: Delete feature branch while workflows are running
Expected: Workflows complete or cancel gracefully
Watch For: Orphaned runs, resource leaks, errors
Success Criteria
- All 6 scenarios pass without critical bugs
-
workflow_runevent type confirmed in logs - No cascading failures
- PR checks consistently pass
- Error handling works correctly
- Manual and scheduled triggers functional
Bug Severity Guidelines
CRITICAL (Block Merge):
- Supply Chain doesn't run at all
- Cascading failures breaking other workflows
- Security vulnerabilities introduced
HIGH (Fix Before Release):
- Race conditions causing frequent failures
- Resource leaks or orphaned workflows
- Error handling missing
MEDIUM (Fix in Future PR):
- Duplicate runs (but both succeed)
- Inconsistent behavior (works sometimes)
- Minor UX issues
LOW (Document as Known Issue):
- Cosmetic issues in logs
- Non-breaking edge cases
- Timing inconsistencies
Notes for Testers
-
Event Type Verification is Critical: The core fix was to enable
workflow_runon feature branches. If logs still show onlypull_requestevents, the fix didn't work. -
False Positives are OK: The GitHub Security warning may persist for 4-8 weeks due to tracking lag. This is expected.
-
Timing Matters: There may be a 1-2 second delay between Docker Build completion and Supply Chain trigger. This is normal.
-
Logs are Essential: Always check the "Event" field in GitHub Actions run details to confirm the trigger type.
Reporting Bugs
If bugs are found during manual testing:
-
Create a new issue in
docs/issues/bug_*.md -
Include:
- Scenario number
- Exact steps to reproduce
- Expected vs actual behavior
- GitHub Actions run ID
- Event type from logs
- Severity classification
-
Link to this test plan
-
Assign to appropriate team member
Auto-created from manual_test_ci_workflow_fixes.md