docs(todo): Sprint 10 - mark §6.1 Linux e2e PASS + close In-VM Git Clone section
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
# TODO — Local CI/CD System
|
||||
|
||||
<!-- Last updated: 2026-05-11 — Post Sprint 9: §6.1 Linux Build VM completato (Deploy/Prepare/Setup/Transport + doc updates ARCHITECTURE/CI-FLOW/HOST-SETUP) -->
|
||||
<!-- Last updated: 2026-05-11 — Post Sprint 10: §6.1 Linux Build VM e2e PASS (nsis7z.dll 2272 KB su Linux = parità Windows); In-VM Git Clone sezione chiusa (§3.3 COMPLETATO) -->
|
||||
|
||||
> Documento unico di lavoro: roadmap, audit trail dei task completati, e backlog post-v1.0
|
||||
> con priorità e razionale. Le voci aperte sono raggruppate per area e marcate **P0..P3**:
|
||||
@@ -18,26 +18,26 @@
|
||||
---
|
||||
## Summary
|
||||
|
||||
_Last updated: 2026-05-11 (post Sprint 9: §6.1 Linux Build VM completato — Deploy/Prepare/Setup/Transport + e2e PASS nsis7z.dll 2272 KB in 03:09)_
|
||||
_Last updated: 2026-05-11 (post Sprint 10: §6.1 Linux Build VM e2e PASS — Test-Ns7zipBuild-Linux.ps1 4× PASS, nsis7z.dll 2272 KB su Linux = parità Windows; In-VM Git Clone sezione chiusa)_
|
||||
|
||||
**Stato generale**: §1, §2, §4, §5 chiusi. §3 perf: 4/6 done (3.1/3.2/3.3/3.6; 3.4/3.5 deferred). §3.3 e2e validato: -UseGitClone 34s più veloce del baseline. §6.6 Tier-1 (Git+7-Zip) installato nel template. Prossimi: test plan completo, §6.6 Tier-2.
|
||||
**Stato generale**: §1, §2, §4, §5 chiusi. §3 completo. §6.1 Linux Build VM completato con e2e PASS (nsis7z.dll 2272 KB, parità Windows). §6.6 Tier-1 (Git+7-Zip) nel template. Prossimo P2: §6.6 Tier-2 toolchain.
|
||||
|
||||
| Stato | Area | Done | Open | Note |
|
||||
| ----- | ------------------------------- | ---: | ---: | ------------------------------------------------------------- |
|
||||
| [x] | Setup & Infrastructure | 8 | 0 | Gitea + runner + dirs + rete tutti operativi |
|
||||
| [x] | Template VM (Fasi A→D) | 4 | 0 | Snapshot `BaseClean` preso, credenziali in Credential Manager |
|
||||
| [x] | Scripts Verification | 3 | 0 | e2e-008/009 SUCCESS, cleanup orfani + retry deleteVM ok |
|
||||
| [x] | Runner Configuration | 2 | 0 | `config.yaml`, capacity 4, `BuildVMGuest` |
|
||||
| [ ] | Gitea Workflow Integration | 4 | 1 | manca solo §P3 generalizzazione workflow |
|
||||
| [x] | §1 Sicurezza & hardening | 3 | 0 | 1.1, 1.4, 1.6 done; 1.2/1.3/1.5/1.7/1.8 deferred (home lab) |
|
||||
| [x] | §2 Affidabilità & resilienza | 7 | 0 | tutto done (2.1-2.7) |
|
||||
| [x] | §3 Performance & throughput | 4 | 0 | 3.1/3.2/3.3/3.6 done; 3.4/3.5 deferred — **§3 CHIUSO** |
|
||||
| [x] | §4 Osservabilità & manutenzione | 3 | 0 | 4.1/4.3/4.4 done (4.2 Prometheus, 4.5 Dashboard rimossi) |
|
||||
| [x] | §5 Qualità codice & test | 5 | 0 | 5.1/5.2/5.3/5.4/5.5 done |
|
||||
| [ ] | §6 Scalabilità & estensioni | 2 | 4 | 6.1 (Linux) done, 6.6 Tier-1 (Git+7-Zip) done; 6.2-6.5 TODO |
|
||||
| [ ] | §7 Refactor Deploy ↔ Setup | 4 | 1 | 7.1/7.2/7.3/7.4 done; 7.5 (rinomina) opzionale |
|
||||
| [x] | In-VM Git Clone (§3.3) | 4 | 0 | COMPLETATO 2026-05-10 — e2e PASS: 34s/25.7% vs baseline |
|
||||
| [x] | Linux Build VM (§6.1) | 5 | 0 | Deploy/Prepare/Setup/Transport scripts + doc updates completati |
|
||||
| Stato | Area | Done | Open | Note |
|
||||
| ----- | ------------------------------- | ---: | ---: | ------------------------------------------------------------------ |
|
||||
| [x] | Setup & Infrastructure | 8 | 0 | Gitea + runner + dirs + rete tutti operativi |
|
||||
| [x] | Template VM (Fasi A→D) | 4 | 0 | Snapshot `BaseClean` preso, credenziali in Credential Manager |
|
||||
| [x] | Scripts Verification | 3 | 0 | e2e-008/009 SUCCESS, cleanup orfani + retry deleteVM ok |
|
||||
| [x] | Runner Configuration | 2 | 0 | `config.yaml`, capacity 4, `BuildVMGuest` |
|
||||
| [ ] | Gitea Workflow Integration | 4 | 1 | manca solo §P3 generalizzazione workflow |
|
||||
| [x] | §1 Sicurezza & hardening | 3 | 0 | 1.1, 1.4, 1.6 done; 1.2/1.3/1.5/1.7/1.8 deferred (home lab) |
|
||||
| [x] | §2 Affidabilità & resilienza | 7 | 0 | tutto done (2.1-2.7) |
|
||||
| [x] | §3 Performance & throughput | 4 | 0 | 3.1/3.2/3.3/3.6 done; 3.4/3.5 deferred — **§3 CHIUSO** |
|
||||
| [x] | §4 Osservabilità & manutenzione | 3 | 0 | 4.1/4.3/4.4 done (4.2 Prometheus, 4.5 Dashboard rimossi) |
|
||||
| [x] | §5 Qualità codice & test | 5 | 0 | 5.1/5.2/5.3/5.4/5.5 done |
|
||||
| [ ] | §6 Scalabilità & estensioni | 2 | 4 | 6.1 (Linux) done, 6.6 Tier-1 (Git+7-Zip) done; 6.2-6.5 TODO |
|
||||
| [ ] | §7 Refactor Deploy ↔ Setup | 4 | 1 | 7.1/7.2/7.3/7.4 done; 7.5 (rinomina) opzionale |
|
||||
| [x] | In-VM Git Clone (§3.3) | 4 | 0 | COMPLETATO 2026-05-10 — e2e PASS: 34s/25.7% vs baseline |
|
||||
| [x] | Linux Build VM (§6.1) | 5 | 0 | Deploy/Prepare/Setup/Transport + doc + e2e PASS nsis7z.dll 2272 KB |
|
||||
|
||||
**Prossimi passi consigliati** (vedi anche "Suggerimento di sequencing" in fondo):
|
||||
1. **Test Plan** — eseguire completo `docs/TEST-PLAN-v1.3-to-HEAD.md` (25+ Pester tests, validazione features)
|
||||
@@ -649,38 +649,38 @@ VM avviata → WinRM: git clone --recurse-submodules https://<token>@gitea/...
|
||||
|
||||
### Task
|
||||
|
||||
- [ ] **Tool prerequisiti nel template** — implementati in §6.6 (Tier-1 Toolchain):
|
||||
- [x] **Tool prerequisiti nel template** — implementati in §6.6 (Tier-1 Toolchain):
|
||||
- Git for Windows + 7-Zip + gh CLI installati con hash pinning e `Assert-Step`
|
||||
- Rimuovere il commento "Git is NOT installed" dal docblock di Setup-WinBuild2025.ps1
|
||||
una volta applicato §6.6
|
||||
- curl.exe: già presente in Windows Server 2025 — verificare con `where.exe curl`
|
||||
|
||||
- [ ] **Invoke-CIJob.ps1 — aggiungere switch `-UseGitClone`**
|
||||
- [ ] Quando `-UseGitClone` è attivo:
|
||||
- [x] **Invoke-CIJob.ps1 — aggiungere switch `-UseGitClone`**
|
||||
- [x] Quando `-UseGitClone` è attivo:
|
||||
- Saltare Phase 1 (host git clone) e la creazione del `HostSourceDir` temporaneo
|
||||
- Dopo Wait-VMReady, leggere PAT da Windows Credential Manager sull'host
|
||||
(es. target `git:https://gitea.emulab.it/...` o un target dedicato CI)
|
||||
- Passare PAT a `Invoke-RemoteBuild.ps1` rispettando i vincoli sicurezza di §1.5
|
||||
- [ ] Comportamento default invariato (`-UseGitClone` = `$false`) — nessuna regressione
|
||||
- [x] Comportamento default invariato (`-UseGitClone` = `$false`) — nessuna regressione
|
||||
|
||||
- [ ] **Invoke-RemoteBuild.ps1 — modalità in-VM clone**
|
||||
- [ ] Aggiungere parametri: `-CloneUrl`, `-CloneBranch`, `-CloneCommit`, `-GitPat`
|
||||
- [x] **Invoke-RemoteBuild.ps1 — modalità in-VM clone**
|
||||
- [x] Aggiungere parametri: `-CloneUrl`, `-CloneBranch`, `-CloneCommit`, `-GitPat`
|
||||
(tutti opzionali, usati solo quando `-UseGitClone` è attivo)
|
||||
- [ ] Quando presenti: anziché copiare zip, eseguire nella VM:
|
||||
- [x] Quando presenti: anziché copiare zip, eseguire nella VM:
|
||||
```powershell
|
||||
git clone --recurse-submodules `
|
||||
"https://Simone:$env:CI_GIT_PAT@gitea.emulab.it/Simone/<repo>.git" `
|
||||
C:\CI\build
|
||||
git -C C:\CI\build checkout $CloneCommit # pin al commit esatto
|
||||
```
|
||||
- [ ] Implementare iniezione/pulizia PAT secondo §1.5 (env var sessione, no argv, no log,
|
||||
- [x] Implementare iniezione/pulizia PAT secondo §1.5 (env var sessione, no argv, no log,
|
||||
cleanup `[System.Environment]::SetEnvironmentVariable('CI_GIT_PAT', $null, 'Process')`)
|
||||
|
||||
- [ ] **Test e2e con `-UseGitClone`**
|
||||
- [ ] Aggiornare snapshot `BaseClean` con Git installato
|
||||
- [ ] Eseguire `e2e-010` con `-UseGitClone` su `nsis-plugin-nsinnounp` (ha submoduli)
|
||||
- [ ] Confrontare tempo totale con e2e-009 (senza `-UseGitClone`)
|
||||
- [ ] Verificare che il PAT non appaia nei log di `Invoke-CIJob.ps1`
|
||||
- [x] **Test e2e con `-UseGitClone`** — COMPLETATO 2026-05-10
|
||||
- [x] Aggiornare snapshot `BaseClean` con Git installato
|
||||
- [x] Eseguire `e2e-010` con `-UseGitClone` su `nsis-plugin-nsinnounp` (ha submoduli)
|
||||
- [x] Confrontare tempo totale con e2e-009 (senza `-UseGitClone`) — 34s / 25.7% più veloce
|
||||
- [x] Verificare che il PAT non appaia nei log di `Invoke-CIJob.ps1`
|
||||
|
||||
---
|
||||
|
||||
@@ -709,9 +709,9 @@ Supporto build su Linux aggiunto con le seguenti fasi completate:
|
||||
- [x] `docs/HOST-SETUP.md` — directory layout: keys\ + LinuxBuild2404\; SSH key gen step; Reference Paths Linux
|
||||
- [x] `docs/LINUX-TEMPLATE-SETUP.md` — Status: implementato; tutte le checkbox Fasi A-E marcate [x]
|
||||
|
||||
- [ ] **Test e2e Linux** — eseguire almeno un build end-to-end su VM Linux (pendente provisioning fisico VM)
|
||||
- [ ] Confermare che la build di esempio funzioni su Linux
|
||||
- [ ] Confrontare artifact Linux con quelli Windows
|
||||
- [x] **Test e2e Linux** — COMPLETATO 2026-05-11 — Test-Ns7zipBuild-Linux.ps1 4× PASS
|
||||
- [x] Confermare che la build di esempio funzioni su Linux — nsis7z.dll 2272 KB prodotto
|
||||
- [x] Confrontare artifact Linux con quelli Windows — 2272 KB su entrambe le piattaforme
|
||||
|
||||
---
|
||||
|
||||
@@ -808,7 +808,7 @@ alla successiva.
|
||||
| act_runner | `F:\CI\act_runner\act_runner.exe` (servizio: `act_runner`) |
|
||||
| act_runner config | `F:\CI\act_runner\config.yaml` |
|
||||
| act_runner logs | `F:\CI\act_runner\logs\` |
|
||||
| Template VMX | `F:\CI\Templates\WinBuild2025\WinBuild2025.vmx` |
|
||||
| Template VMX | `F:\CI\Templates\WinBuild2025\WinBuild2025.vmx` |
|
||||
| Snapshot name | `BaseClean` |
|
||||
| Clone base dir | `F:\CI\BuildVMs\` |
|
||||
| Artifact dir | `F:\CI\Artifacts\` |
|
||||
|
||||
Reference in New Issue
Block a user