diff --git a/TODO.md b/TODO.md index 10d9eb0..6b8519d 100644 --- a/TODO.md +++ b/TODO.md @@ -31,7 +31,7 @@ _Last updated: 2026-05-10 (post Sprint 7: §1.6/§3.2 done, test plan created)_ | [ ] | 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) | -| [ ] | §3 Performance & throughput | 3 | 2 | 3.1/3.2/3.6 done; 3.3/3.5 backlog; 3.4 deferred | +| [ ] | §3 Performance & throughput | 4 | 1 | 3.1/3.2/3.3/3.6 done; 3.5 backlog; 3.4 deferred | | [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 | 1 | 5 | 6.6 (Git+7-Zip) done; 6.1 (Linux), 6.2-6.5 (estensioni) TODO | @@ -40,11 +40,12 @@ _Last updated: 2026-05-10 (post Sprint 7: §1.6/§3.2 done, test plan created)_ | [ ] | Linux Build VM (§6.1) | 0 | 4 | bozza in `docs/LINUX-TEMPLATE-SETUP.md` | **Prossimi passi consigliati** (vedi anche "Suggerimento di sequencing" in fondo): -1. **Test Plan** — eseguire `docs/TEST-PLAN-v1.3-to-HEAD.md` (25+ Pester tests, e2e validation) -2. **§3.3** — In-VM Git clone (`-UseGitClone` flag, §6.6 Git+7-Zip ora in template) +1. **E2E Test §3.3** — eseguire nsis-plugin-nsinnounp con `-UseGitClone` flag (misurare vs default) +2. **Test Plan** — eseguire completo `docs/TEST-PLAN-v1.3-to-HEAD.md` (25+ Pester tests, validazione features) 3. **§6.6 expansion** — Toolchain Tier-2 (PowerShell 7, NSIS, CMake, Node.js, WiX, gh, Sysinternals, vcpkg) -4. **§3.4** — Pre-warm pool di cloni (P3, solo se profilo dimostra bottleneck) — deferred -5. **Security** — Rifiori se condizioni cambiano; vedi sezione "Deferred (Home Lab)" +4. **§3.5** — vCPU/RAM tuning per workload (P2, estendere params a Invoke-CIJob) +5. **§3.4** — Pre-warm pool di cloni (P3, deferred — profiling-dependent optimization) +6. **Security** — Rifiori se condizioni cambiano; vedi sezione "Deferred (Home Lab)" --- ## Setup & Infrastructure @@ -326,10 +327,17 @@ File: [scripts/Invoke-RemoteBuild.ps1](scripts/Invoke-RemoteBuild.ps1) (3 rimpia **Vantaggio**: 10-20 s risparmio per repo >100 MB una volta che 7-Zip installato (§6.6). **Attuale**: Fallback a Compress-Archive finché 7-Zip non nel template — zero overhead. -### 3.3 [P2] [ ] In-VM clone (`-UseGitClone`) -Implementazione disegnata di seguito (sezione "In-VM Git Clone (Ottimizzazione)"). -Vincoli sicurezza PAT: vedi §1.5. Tool prerequisiti (Git, 7-Zip): vedi §6.6. -Beneficio reale solo per repo > 200 MB con submoduli grandi; misurare prima. +### 3.3 [P2] [x] In-VM clone (`-UseGitClone`) — COMPLETATO 2026-05-10 +File: [scripts/Invoke-CIJob.ps1](scripts/Invoke-CIJob.ps1), [scripts/Invoke-RemoteBuild.ps1](scripts/Invoke-RemoteBuild.ps1). + +**Implementazione**: +- Invoke-CIJob.ps1: `-UseGitClone` switch + conditional Phase 1 (skip host clone) +- Invoke-RemoteBuild.ps1: Mode 1 (host) vs Mode 2 (guest) + params (CloneUrl, CloneBranch, CloneCommit, CloneSubmodules) +- Guest clone: git clone direttamente nel VM, PAT da Credential Manager (§1.5 no-log cleanup) +- Prerequisiti satisfatti: Git + 7-Zip in template (§6.6, completato) + +**Beneficio**: Elimina host-zip-transfer overhead (rilevante per repo > 200 MB con submoduli). +**Prossimo**: E2E test con nsis-plugin-nsinnounp (-UseGitClone flag) per misurare impatto. ### 3.5 [P2] [ ] vCPU/RAM tuning per workload File: [docs/OPTIMIZATION.md:82-89](docs/OPTIMIZATION.md), VMX template.