4.7 KiB
Nightly Branch Automation & Package Creation Plan
This document details the implementation plan for adding a new nightly branch between development and main, with automated merging and package creation.
Date Created: 2026-01-13 Status: Planning Phase Priority: High
Quick Reference
See full detailed specification in: Nightly Branch Implementation Specification
This file contains only the executive summary. The complete 2800+ line specification includes:
- Current workflow analysis
- Branch hierarchy design
- 7-phase implementation plan
- Complete workflow files
- Testing strategies
- Rollback procedures
- Troubleshooting guides
Executive Summary
Objective: Add a nightly branch between development and main to create a stabilization layer with automated builds.
Key Changes Required:
- Update
.github/workflows/propagate-changes.yml(fix line 149, enable line 151-152) - Create
.github/workflows/nightly-build.yml(new workflow for nightly packages) - Update
.github/workflows/docker-build.yml(add nightly branch support) - Update
.github/workflows/supply-chain-verify.yml(add nightly tag handling) - Configure branch protection for nightly branch
- Update documentation (README.md, VERSION.md, CONTRIBUTING.md)
Branch Flow:
feature/* → development → nightly → main (tagged releases)
Automation:
development→nightly: Auto-merge via workflownightly→main: Manual PR with full reviewnightly: Daily builds + packages at 02:00 UTC
Package Artifacts:
- Docker images:
nightly,nightly-{date},nightly-{sha} - Cross-compiled binaries (Linux, Windows, macOS)
- Linux packages (deb, rpm)
- SBOM and vulnerability reports
Implementation Phases
Phase 1: Update Propagate Workflow ⚡ URGENT
File: .github/workflows/propagate-changes.yml
- Fix line 149: Remove third parameter from
createPRcall - Enable line 151-152: Uncomment
development→nightlypropagation
Phase 2: Create Nightly Build Workflow
File: .github/workflows/nightly-build.yml (NEW)
- Triggers: Push to nightly, scheduled daily at 02:00 UTC
- Jobs: build-and-push, test-image, build-release, verify-supply-chain
Phase 3: Update Docker Build
File: .github/workflows/docker-build.yml
- Add
nightlyto trigger branches - Add
nightlytag to metadata action - Update test-image tag determination
Phase 4: Update Supply Chain Verification
File: .github/workflows/supply-chain-verify.yml
- Add
nightlybranch handling in tag determination
Phase 5: Configuration Files
- Review
.gitignore,.dockerignore,Dockerfile(no changes needed) - Optionally create
codecov.yml - Update
.github/propagate-config.yml
Phase 6: Branch Protection
- Create nightly branch from development
- Configure protection rules (allow force pushes, require status checks)
Phase 7: Documentation
- Update
README.mdwith nightly info - Update
VERSION.mdwith nightly section - Update
CONTRIBUTING.mdwith workflow
Files to Modify
| File | Action | Priority |
|---|---|---|
.github/workflows/propagate-changes.yml |
Edit (2 lines) | P0 |
.github/workflows/nightly-build.yml |
Create (new) | P1 |
.github/workflows/docker-build.yml |
Edit (3 locations) | P1 |
.github/workflows/supply-chain-verify.yml |
Edit (1 location) | P2 |
.github/propagate-config.yml |
Edit (optional) | P3 |
README.md |
Edit | P3 |
VERSION.md |
Edit | P3 |
CONTRIBUTING.md |
Edit | P3 |
Success Criteria
- ✅ Development → nightly auto-merge completes in <5 minutes
- ✅ Nightly Docker builds complete in <25 minutes
- ✅ Build success rate >95% over 30 days
- ✅ Zero critical vulnerabilities in nightly builds
- ✅ SBOM generation success rate 100%
Next Steps
- Read the full specification in
./nightly_branch_implementation.md - Review current workflows to understand integration points
- Create implementation branch:
feature/nightly-branch-automation - Implement Phase 1 (propagate workflow fix)
- Test locally with workflow triggers
- Deploy remaining phases incrementally
Timeline Estimate
| Phase | Effort | Duration |
|---|---|---|
| Phase 1 | 30 min | Day 1 |
| Phase 2 | 2 hours | Day 1-2 |
| Phase 3 | 30 min | Day 2 |
| Phase 4 | 30 min | Day 2 |
| Phase 5 | 1 hour | Day 2 |
| Phase 6 | 30 min | Day 3 |
| Phase 7 | 1 hour | Day 3 |
| Testing | 4 hours | Day 3-4 |
| Total | ~10 hours | 3-4 days |
For complete details, workflows, scripts, and troubleshooting guides, see: nightly_branch_implementation.md