docs(a4): mark A4 as code-complete; add A4-closeout.md
Master checklist + step A4 attivita + 'definizione di fatto' updated; A4-closeout.md added (104 pytest, coverage 79.25% total / 83% commands/job.py). Hardware validation (matrix workflow + benchmark) deferred to user.
This commit is contained in:
@@ -64,9 +64,9 @@ A4; cambiano solo path/env vars in Fase B).
|
||||
- [x] [A3] Portare `Invoke-RemoteBuild.ps1` → `build run`
|
||||
- [x] [A3] Portare `Get-BuildArtifacts.ps1` → `artifacts collect`
|
||||
- [x] [A3] Convertire test Pester `New-BuildVM.Tests.ps1`, `Wait-VMReady.Tests.ps1`, `Remove-BuildVM.Tests.ps1` in pytest
|
||||
- [ ] [A4] Portare `Invoke-CIJob.ps1` → `python -m ci_orchestrator job`
|
||||
- [ ] [A4] Aggiornare `gitea/actions/local-ci-build/action.yml` per invocare la CLI Python direttamente
|
||||
- [ ] [A4] Forzare `PYTHONIOENCODING=utf-8` in `runner/config.yaml`
|
||||
- [x] [A4] Portare `Invoke-CIJob.ps1` → `python -m ci_orchestrator job`
|
||||
- [x] [A4] Aggiornare `gitea/actions/local-ci-build/action.yml` per invocare la CLI Python direttamente
|
||||
- [x] [A4] Forzare `PYTHONIOENCODING=utf-8` in `runner/config.yaml`
|
||||
- [ ] [A4] Eseguire workflow `build-nsInnoUnp.yml` (matrix Win+Linux) end-to-end PASS
|
||||
- [ ] [A5] Convertire errori frequenti `AGENTS.md` #9, #10, #11, #12 in test pytest dedicati
|
||||
- [ ] [A5] Aggiornare `AGENTS.md` con sezione "Python development" (venv, ruff, mypy, pytest)
|
||||
@@ -272,12 +272,12 @@ Gitea per chiamare la CLI Python direttamente.
|
||||
|
||||
**Attività**:
|
||||
|
||||
- [ ] Implementare `commands/job.py` con sottocomando `job` (entry point completo: parsing parametri job, clone, wait, build, collect, cleanup)
|
||||
- [ ] Gestione errori e cleanup garantito (try/finally con `vm remove` anche su failure)
|
||||
- [ ] Aggiornare `gitea/actions/local-ci-build/action.yml`: cambiare `shell: powershell` → `shell: cmd` o invocazione diretta `python -m ci_orchestrator job ...`
|
||||
- [ ] Aggiungere `PYTHONIOENCODING=utf-8` in `runner/config.yaml` env
|
||||
- [ ] Lasciare `Invoke-CIJob.ps1` come shim per scheduled task / chiamate manuali esterne (rimosso in A5)
|
||||
- [ ] Test pytest end-to-end con mock backend + transport: `test_commands_job.py`
|
||||
- [x] Implementare `commands/job.py` con sottocomando `job` (entry point completo: parsing parametri job, clone, wait, build, collect, cleanup)
|
||||
- [x] Gestione errori e cleanup garantito (try/finally con `vm remove` anche su failure)
|
||||
- [x] Aggiornare `gitea/actions/local-ci-build/action.yml`: cambiare `shell: powershell` → `shell: cmd` o invocazione diretta `python -m ci_orchestrator job ...`
|
||||
- [x] Aggiungere `PYTHONIOENCODING=utf-8` in `runner/config.yaml` env
|
||||
- [x] Lasciare `Invoke-CIJob.ps1` come shim per scheduled task / chiamate manuali esterne (rimosso in A5)
|
||||
- [x] Test pytest end-to-end con mock backend + transport: `test_commands_job.py`
|
||||
- [ ] Eseguire workflow `build-nsInnoUnp.yml` matrix (Win + Linux) PASS
|
||||
- [ ] Eseguire workflow `self-test.yml` PASS
|
||||
- [ ] Eseguire workflow `lint.yml` PASS
|
||||
@@ -299,10 +299,10 @@ factory `backends.load_backend(config)`.
|
||||
|
||||
**Definizione di fatto step A4**:
|
||||
|
||||
- [ ] `action.yml` chiama Python direttamente
|
||||
- [x] `action.yml` chiama Python direttamente
|
||||
- [ ] Workflow matrix Win+Linux PASS
|
||||
- [ ] `runner/config.yaml` ha `PYTHONIOENCODING=utf-8`
|
||||
- [ ] Coverage `job.py` ≥80%
|
||||
- [x] `runner/config.yaml` ha `PYTHONIOENCODING=utf-8`
|
||||
- [x] Coverage `job.py` ≥80%
|
||||
- [ ] Misurazione tempo entro ±10% baseline
|
||||
|
||||
### A5 — Test, documentazione, cleanup
|
||||
|
||||
Reference in New Issue
Block a user