feat(template): §6.6 Tier-2 toolchain PS7/NSIS/CMake/Node.js/WiX/gh CLI/Sysinternals/vcpkg
Step 12 in Setup-WinBuild2025.ps1 installs all 8 Tier-2 tools: - PowerShell 7.4.7 LTS (pwsh.exe) - NSIS 3.10 (makensis.exe) - CMake 3.31.6 (cmake.exe) - Node.js 22.14.0 LTS (node.exe + npm) - WiX 4.0.5 via dotnet tool (wix.exe, C:\BuildTools\Wix\) - GitHub CLI 2.67.0 (gh.exe) - Sysinternals Suite (C:\BuildTools\Sysinternals\, extracted via 7-Zip) - vcpkg HEAD shallow clone + bootstrap (C:\BuildTools\vcpkg\) All tools added to Machine PATH; idempotent (binary-presence check). Hash entries in \ ready for SHA256 pinning. knownTempFiles extended; Final gate Assert-Step added for all 8 binaries. Prepare-WinBuild2025.ps1: 7 new params + pass-through to Setup. Validate-SetupState.ps1: Tier-2 checks in both main + re-run scriptblocks. TODO.md: §6.6 [~] -> [x], Sprint 11 summary.
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
# TODO — Local CI/CD System
|
||||
|
||||
<!-- 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) -->
|
||||
<!-- Last updated: 2026-05-11 — Sprint 11: §6.6 Tier-2 Toolchain DONE (Pwsh7/NSIS/CMake/Node.js/WiX/gh CLI/Sysinternals/vcpkg — Step 12 in Setup-WinBuild2025) -->
|
||||
|
||||
> 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,9 +18,9 @@
|
||||
---
|
||||
## Summary
|
||||
|
||||
_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)_
|
||||
_Last updated: 2026-05-11 (post Sprint 11: §6.6 Tier-2 Toolchain DONE — PowerShell 7.4.7, NSIS 3.10, CMake 3.31.6, Node.js 22.14.0, WiX 4.0.5, gh CLI 2.67.0, Sysinternals, vcpkg — Step 12 in Setup-WinBuild2025.ps1)_
|
||||
|
||||
**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 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+Tier-2 completati nel template (Step 11+12). Prossimi P2: Test Plan + §6.2-6.5.
|
||||
|
||||
| Stato | Area | Done | Open | Note |
|
||||
| ----- | ------------------------------- | ---: | ---: | ------------------------------------------------------------------ |
|
||||
@@ -34,17 +34,16 @@ _Last updated: 2026-05-11 (post Sprint 10: §6.1 Linux Build VM e2e PASS — Tes
|
||||
| [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 |
|
||||
| [ ] | §6 Scalabilità & estensioni | 2 | 4 | 6.1 (Linux) done, 6.6 Tier-1+Tier-2 done (Step 11+12); 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)
|
||||
2. **§6.6 expansion** — Toolchain Tier-2 (PowerShell 7, NSIS, CMake, Node.js, WiX, gh, Sysinternals, vcpkg)
|
||||
3. **Security** — Rifiori se condizioni cambiano; vedi sezione "Deferred (Home Lab)"
|
||||
4. **§3.5** — vCPU/RAM tuning per workload (P2, deferred — home lab optimization)
|
||||
5. **§3.4** — Pre-warm pool di cloni (P3, deferred — profiling-dependent optimization)
|
||||
2. **Security** — Rifiori se condizioni cambiano; vedi sezione "Deferred (Home Lab)"
|
||||
3. **§3.5** — vCPU/RAM tuning per workload (P2, deferred — home lab optimization)
|
||||
4. **§3.4** — Pre-warm pool di cloni (P3, deferred — profiling-dependent optimization)
|
||||
|
||||
---
|
||||
## Setup & Infrastructure
|
||||
@@ -501,10 +500,11 @@ runs-on: ${{ matrix.target }}-build
|
||||
Per chiavi di firma (Authenticode, GPG), usare i Gitea secrets nel workflow e passarli a
|
||||
`Invoke-CIJob.ps1` come param + env, mai loggati. Stesso modello di §1.5 per il PAT.
|
||||
|
||||
### 6.6 [P2] [~] Toolchain Tier-1 in Setup-WinBuild2025
|
||||
File: [template/Setup-WinBuild2025.ps1](template/Setup-WinBuild2025.ps1).
|
||||
### 6.6 [P2] [x] Toolchain Tier-1 + Tier-2 in Setup-WinBuild2025
|
||||
File: [template/Setup-WinBuild2025.ps1](template/Setup-WinBuild2025.ps1),
|
||||
[template/Prepare-WinBuild2025.ps1](template/Prepare-WinBuild2025.ps1).
|
||||
|
||||
**Status**: Git + 7-Zip implemented (Step 11, 2026-05-10); Tier-2 (8 tools) pending.
|
||||
**Status**: COMPLETATO 2026-05-11 — Step 11 (Tier-1: Git + 7-Zip) + Step 12 (Tier-2: 8 tools) implementati.
|
||||
|
||||
**Motivazione**: toolchain attuale (`.NET SDK`, `Python`, `VS Build Tools`) copre solo C#/Python/MSBuild.
|
||||
Aggiungere tools generici-CI riduce il bisogno di installazione ad-hoc nei workflow e abilita
|
||||
@@ -514,20 +514,20 @@ build più ampi senza toccare il template.
|
||||
- [x] **Git for Windows** (v2.54.0.windows.1) — Step 11, self-clone in VM
|
||||
- [x] **7-Zip** (26.01) — Step 11, universal compression + fallback §3.2
|
||||
|
||||
### Tier-2 (backlog) — tool da aggiungere come ulteriori step `Setup-WinBuild2025` (ognuno con `Assert-Step`):
|
||||
### Tier-2 (implementato — Step 12)
|
||||
|
||||
| Tool | Versione | Razionale |
|
||||
| ------------------- | ----------------------- | ------------------------------------------------------------------ |
|
||||
| **Git for Windows** | 2.54.0.windows.1 | [x] Self-clone in VM (alt a host-zip-transfer), submodule fetch |
|
||||
| **7-Zip** | 26.01 | [x] Universale unpack/zip; molti installer e workflow ne dipendono |
|
||||
| **PowerShell 7.x** | latest LTS | [ ] Più veloce di 5.1, parallel pipelines, operatori moderni |
|
||||
| **NSIS** | latest | Test build installer (es. `nsis-plugin-nsinnounp`) |
|
||||
| **CMake** | latest | Build system cross-platform per progetti C/C++ nativi |
|
||||
| **Node.js LTS** | latest LTS | Frontend/Electron pipelines, JS toolchain (npm) |
|
||||
| **WiX Toolset** | v4 stable | MSI building da .NET projects |
|
||||
| **gh CLI** | latest | Upload artifact a release Gitea/GitHub, comment PR |
|
||||
| **Sysinternals** | sysinternals.com `live` | Diagnostica process/handle quando build flaky |
|
||||
| **vcpkg** | latest | Package manager C++ per dipendenze native |
|
||||
| **PowerShell 7.x** | 7.4.7 (LTS) | [x] Più veloce di 5.1, parallel pipelines, operatori moderni |
|
||||
| **NSIS** | 3.10 | [x] Test build installer (es. `nsis-plugin-nsinnounp`) |
|
||||
| **CMake** | 3.31.6 | [x] Build system cross-platform per progetti C/C++ nativi |
|
||||
| **Node.js LTS** | 22.14.0 | [x] Frontend/Electron pipelines, JS toolchain (npm) |
|
||||
| **WiX Toolset** | 4.0.5 (dotnet tool) | [x] MSI building da .NET projects |
|
||||
| **gh CLI** | 2.67.0 | [x] Upload artifact a release Gitea/GitHub, comment PR |
|
||||
| **Sysinternals** | latest (CDN Microsoft) | [x] Diagnostica process/handle quando build flaky |
|
||||
| **vcpkg** | HEAD (shallow clone) | [x] Package manager C++ per dipendenze native |
|
||||
|
||||
**Approccio**:
|
||||
- Pinning hash SHA256 per ogni installer (vedi §1.3)
|
||||
|
||||
Reference in New Issue
Block a user