docs(todo): Sprint 10 - mark §6.1 Linux e2e PASS + close In-VM Git Clone section

This commit is contained in:
Simone
2026-05-11 19:49:10 +02:00
parent 039fcdb9c9
commit 13538cb7e5
+21 -21
View File
@@ -1,6 +1,6 @@
# TODO — Local CI/CD System # 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 > 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**: > con priorità e razionale. Le voci aperte sono raggruppate per area e marcate **P0..P3**:
@@ -18,12 +18,12 @@
--- ---
## Summary ## 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 | | Stato | Area | Done | Open | Note |
| ----- | ------------------------------- | ---: | ---: | ------------------------------------------------------------- | | ----- | ------------------------------- | ---: | ---: | ------------------------------------------------------------------ |
| [x] | Setup & Infrastructure | 8 | 0 | Gitea + runner + dirs + rete tutti operativi | | [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] | 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] | Scripts Verification | 3 | 0 | e2e-008/009 SUCCESS, cleanup orfani + retry deleteVM ok |
@@ -37,7 +37,7 @@ _Last updated: 2026-05-11 (post Sprint 9: §6.1 Linux Build VM completato — De
| [ ] | §6 Scalabilità & estensioni | 2 | 4 | 6.1 (Linux) done, 6.6 Tier-1 (Git+7-Zip) done; 6.2-6.5 TODO | | [ ] | §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 | | [ ] | §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] | 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 | | [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): **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) 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 ### 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` - 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 - Rimuovere il commento "Git is NOT installed" dal docblock di Setup-WinBuild2025.ps1
una volta applicato §6.6 una volta applicato §6.6
- curl.exe: già presente in Windows Server 2025 — verificare con `where.exe curl` - curl.exe: già presente in Windows Server 2025 — verificare con `where.exe curl`
- [ ] **Invoke-CIJob.ps1 — aggiungere switch `-UseGitClone`** - [x] **Invoke-CIJob.ps1 — aggiungere switch `-UseGitClone`**
- [ ] Quando `-UseGitClone` è attivo: - [x] Quando `-UseGitClone` è attivo:
- Saltare Phase 1 (host git clone) e la creazione del `HostSourceDir` temporaneo - Saltare Phase 1 (host git clone) e la creazione del `HostSourceDir` temporaneo
- Dopo Wait-VMReady, leggere PAT da Windows Credential Manager sull'host - Dopo Wait-VMReady, leggere PAT da Windows Credential Manager sull'host
(es. target `git:https://gitea.emulab.it/...` o un target dedicato CI) (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 - 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** - [x] **Invoke-RemoteBuild.ps1 — modalità in-VM clone**
- [ ] Aggiungere parametri: `-CloneUrl`, `-CloneBranch`, `-CloneCommit`, `-GitPat` - [x] Aggiungere parametri: `-CloneUrl`, `-CloneBranch`, `-CloneCommit`, `-GitPat`
(tutti opzionali, usati solo quando `-UseGitClone` è attivo) (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 ```powershell
git clone --recurse-submodules ` git clone --recurse-submodules `
"https://Simone:$env:CI_GIT_PAT@gitea.emulab.it/Simone/<repo>.git" ` "https://Simone:$env:CI_GIT_PAT@gitea.emulab.it/Simone/<repo>.git" `
C:\CI\build C:\CI\build
git -C C:\CI\build checkout $CloneCommit # pin al commit esatto 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')`) cleanup `[System.Environment]::SetEnvironmentVariable('CI_GIT_PAT', $null, 'Process')`)
- [ ] **Test e2e con `-UseGitClone`** - [x] **Test e2e con `-UseGitClone`** — COMPLETATO 2026-05-10
- [ ] Aggiornare snapshot `BaseClean` con Git installato - [x] Aggiornare snapshot `BaseClean` con Git installato
- [ ] Eseguire `e2e-010` con `-UseGitClone` su `nsis-plugin-nsinnounp` (ha submoduli) - [x] Eseguire `e2e-010` con `-UseGitClone` su `nsis-plugin-nsinnounp` (ha submoduli)
- [ ] Confrontare tempo totale con e2e-009 (senza `-UseGitClone`) - [x] Confrontare tempo totale con e2e-009 (senza `-UseGitClone`) — 34s / 25.7% più veloce
- [ ] Verificare che il PAT non appaia nei log di `Invoke-CIJob.ps1` - [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/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] - [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) - [x] **Test e2e Linux** — COMPLETATO 2026-05-11 — Test-Ns7zipBuild-Linux.ps1 4× PASS
- [ ] Confermare che la build di esempio funzioni su Linux - [x] Confermare che la build di esempio funzioni su Linux — nsis7z.dll 2272 KB prodotto
- [ ] Confrontare artifact Linux con quelli Windows - [x] Confrontare artifact Linux con quelli Windows — 2272 KB su entrambe le piattaforme
--- ---