Files

84 lines
2.8 KiB
Markdown

# burnin-dummy
Repository di test per il burn-in del sistema CI locale (Local-CI-CD-System).
Non contiene codice reale. Serve a esercitare l'intero pipeline CI senza dipendere
da una toolchain di build specifica.
---
## Contenuto
| File | Scopo |
| ----------- | -------------------------------------------------------------------------- |
| `build.ps1` | Fake build Windows: attende ~30s, scrive `dist\build-info.txt` con data/host/PID |
| `build.sh` | Fake build Linux: attende ~30s, scrive `dist/build-info.txt` con data/host/PID |
---
## Come si usa
Il repository viene clonato automaticamente da `Invoke-CIJob.ps1` in ogni job di burn-in.
Non e' necessario eseguire nulla a mano.
### Burn-in Windows (template WinBuild2025)
```powershell
.\scripts\Start-BurnInTest.ps1 -Rounds 1
```
Esegue `build.ps1` nel guest, impacchetta `dist\` come `artifacts.zip` e lo copia
in `F:\CI\Artifacts\<job-id>\`. Usa `-BuildCommand 'ping 127.0.0.1 -n 601 > nul'`
per round da ~10 minuti senza artifact.
### Burn-in Linux (template LinuxBuild2404)
```powershell
.\scripts\Start-BurnInTest-Linux.ps1 -Rounds 1
```
Esegue `build.sh` nel guest via SSH (`bash build.sh`), impacchetta `dist/` come
`artifacts.zip` e lo copia in `F:\CI\Artifacts\<job-id>\`.
Usa `-BuildCommand 'sleep 120'` per round prolungati senza artifact.
### Parametri principali (entrambi i wrapper)
| Parametro | Default (Windows) | Default (Linux) | Descrizione |
| ---------------------- | -------------------------- | ------------------- | -------------------------- |
| `-Rounds` | 3 | 3 | Round sequenziali |
| `-Parallelism` | 4 | 4 | Job concorrenti per round |
| `-BuildCommand` | `powershell ... build.ps1` | `bash build.sh` | Comando eseguito nel guest |
| `-RoundTimeoutMinutes` | 60 | 60 | Timeout per round |
---
## Struttura artifact prodotti
```
F:\CI\Artifacts\
burnin-r1-j1-<hhmmss>\
artifacts.zip <- dist\build-info.txt compresso
invoke-cijob.log
burnin-r1-j2-<hhmmss>\
...
```
`build-info.txt` contiene:
```
build-ok
date=2026-05-12 14:32:01
host=BUILDVM-001
pid=4812
```
---
## Prerequisiti (host)
- Credential Manager target `BuildVMGuest` — credenziali administrator del guest Windows / PAT Gitea per Linux
- Credential Manager target `GiteaPAT` — PAT Gitea con accesso read a questo repo
- **Windows**: template `F:\CI\Templates\WinBuild2025\WinBuild2025.vmx` con snapshot `BaseClean`
- **Linux**: template `F:\CI\Templates\LinuxBuild2404\LinuxBuild2404.vmx` con snapshot `BaseClean-Linux`
- VMware Workstation Pro con VMnet8 NAT `192.168.79.0/24`