|
| 1 | +# GitHub Actions CI Implementation Plan |
| 2 | + |
| 3 | +> **For agentic workers:** REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (`- [ ]`) syntax for tracking. |
| 4 | +
|
| 5 | +**Goal:** Add a GitHub Actions workflow that proves the repo still builds and boots Linux 0.12 from source on every push and pull request. |
| 6 | + |
| 7 | +**Architecture:** Enforce workflow presence with a repository test, then add a single Ubuntu-based CI workflow under `.github/workflows/` that runs the existing host bootstrap, unit tests, source build, and QEMU `ls` verification. Keep the workflow aligned with current documented entrypoints instead of inventing a parallel CI-only path. |
| 8 | + |
| 9 | +**Tech Stack:** GitHub Actions, Ubuntu runner, Docker, QEMU, Python `unittest`, repository shell scripts |
| 10 | + |
| 11 | +--- |
| 12 | + |
| 13 | +### Task 1: Add The Failing Workflow Coverage Test |
| 14 | + |
| 15 | +**Files:** |
| 16 | +- Create: `tests/test_ci_workflow.py` |
| 17 | + |
| 18 | +- [ ] **Step 1: Write the failing test** |
| 19 | +- [ ] **Step 2: Run the targeted test and confirm it fails because `.github/workflows/ci.yml` does not exist** |
| 20 | +- [ ] **Step 3: Keep the test focused on the required workflow file and the key commands it must run** |
| 21 | +- [ ] **Step 4: Re-run the targeted test after the workflow is added** |
| 22 | + |
| 23 | +### Task 2: Add The GitHub Actions Workflow |
| 24 | + |
| 25 | +**Files:** |
| 26 | +- Create: `.github/workflows/ci.yml` |
| 27 | + |
| 28 | +- [ ] **Step 1: Define a single CI workflow triggered on pushes and pull requests to `main`** |
| 29 | +- [ ] **Step 2: Install QEMU and Docker support on `ubuntu-22.04`** |
| 30 | +- [ ] **Step 3: Run `python3 -m unittest discover -s tests -v`** |
| 31 | +- [ ] **Step 4: Run `./scripts/bootstrap-host.sh`, `python3 rebuild/driver.py build`, and `./scripts/verify.sh`** |
| 32 | +- [ ] **Step 5: Upload verification artifacts so CI failures are debuggable** |
| 33 | + |
| 34 | +### Task 3: Document And Verify The New CI Path |
| 35 | + |
| 36 | +**Files:** |
| 37 | +- Modify: `README.md` |
| 38 | +- Modify: `README.en.md` |
| 39 | +- Modify: `tests/test_layout.py` |
| 40 | + |
| 41 | +- [ ] **Step 1: Add `.github/workflows/ci.yml` to the expected repository layout** |
| 42 | +- [ ] **Step 2: Add a short CI section to both README files** |
| 43 | +- [ ] **Step 3: Run `python3 -m unittest discover -s tests -v`** |
| 44 | +- [ ] **Step 4: Run `git diff --check`** |
| 45 | +- [ ] **Step 5: Inspect `git status --short` and summarize the new CI files** |
0 commit comments