8ec1cbbc480b67a2c5ffec6229b46957204b83b6
Radiantwave & KioskConfig Development & Release Pipeline
Radiant Wave
Full Pipeline Workflow (Detailed)
Development Phase
- Create a new branch for the issue
- Implement the changes for the issue
Integration to dev
- Open a pull request to
dev - CI: Run
nix buildto verify no errors - CI: Run linting and unit tests
- CI: Auto-update
rhemawave-devflake input - CI: Build all
devVMs in parallel (Kiosk, Commercial, RPi) - Merge the pull request to
devafter CI passes
Testing Phase
- Run all VMs (Kiosk, Commercial, RPi) and test all functionality of the application on each VM
- Install
dev-isoto a test machine and verify installation and application functionality
Release to main
- Open a pull request from
devtomain - CI: Build all
mainVMs in parallel (Kiosk, Commercial, RPi) - CI: Build all ISO images in parallel
- CI: Auto-rename ISO images to format
radiantwave-{system}-{YYYY-MM-DD}-{git-hash}.iso - CI: Upload ISO images to file server
- CI: Move old ISO images to
archives/on file server - Merge the pull request to
mainafter CI passes - Tag the release (optional, for traceability)
Automation Opportunities
This section describes which parts of the workflow can be automated via CI/CD, and how.
Group 1: Development Validation (Steps 3-8)
What to automate: PR triggering,nix build, linting, unit tests, flake updates, dev VM buildsHow: GitHub Actions workflow triggered on PR todevWhy: Catch integration errors before manual testing; ensuredevis always buildable
Group 2: Testing (Steps 9-10)
What to automate: VM functionality testing, ISO installation verificationHow: Scripted test suites, automated ISO installation in VMsWhy: Reduce manual toil; increase test coverage and consistency
Group 3: Release Pipeline (Steps 11-16)
What to automate: Main VM/ISO builds, ISO renaming, file server uploads, archivingHow: GitHub Actions workflow triggered on PR tomainWhy: Ensure consistent releases; eliminate human error in naming/uploading
Preflight Checklist
- Create a new branch for the issue
- Implement the changes for the issue
- Open a pull request to
dev - Merge the pull request to
devafter CI passes - Run all VMs (Kiosk, Commercial, RPi) and test all functionality of the application on each VM
- Install
dev-isoto a test machine and verify installation and application functionality - Open a pull request from
devtomain - Merge the pull request to
mainafter CI passes - Tag the release (optional, for traceability)
Automation Task List
Group 1: Development Validation
-
Set up GitHub Actions workflow for PRs to
dev- Configure
nix buildstep - Add linting and unit test steps
- Add flake auto-update step
- Configure parallel VM builds (Kiosk, Commercial, RPi)
- Configure
- Verify workflow blocks PR merge on failure
Group 2: Testing
- Create automated test scripts for VM functionality
- Set up automated ISO installation testing
- Integrate with CI for optional automated testing
Group 3: Release Pipeline
-
Set up GitHub Actions workflow for PRs to
main- Configure parallel VM builds
- Configure parallel ISO builds
- Add ISO auto-renaming step (using
git rev-parse HEADanddate +%Y-%m-%d) - Add file server upload step (
rsyncor similar) - Add archive old ISOs step
- Verify workflow blocks PR merge on failure
Languages
Go
86.1%
Shell
4.9%
Python
4.5%
Nix
2.5%
HTML
1.4%
Other
0.6%