refactor(action): replace shell:pwsh with bash in local-ci-build (C8.5)
The shared composite action ran 3 steps under `shell: pwsh`, making every CI job depend on PowerShell on the Linux host. Rewrote them in bash and dropped the dead $IsLinux / F:\CI branches (Phase B left a single Linux host serving both windows-build and linux-build runners). Closes Phase C / idea-3: no CI job or systemd timer requires pwsh on the Linux host anymore. Ticked all C1-C8 subtask checkboxes and set the plans to "C chiusa". pwsh is deliberately left installed (operator choice, not a technical blocker).
This commit is contained in:
@@ -1,14 +1,19 @@
|
||||
# Fase C — Eliminazione dipendenza PowerShell dall'host Linux
|
||||
|
||||
> **Stato**: **codice completato** (C1–C8 implementati + docs C9, 2026-06-07);
|
||||
> resta solo la parte **operativa** di C9 (cutover ≥1 settimana + `apt-get
|
||||
> remove powershell` sull'host reale).
|
||||
> **Stato**: **C chiusa** (2026-07-23). C1–C8 implementati (2026-06-07);
|
||||
> C8.5 trovato e fisso il 2026-07-23 (vedi §2.1 riga 9); cutover confermato
|
||||
> via uso reale ≥6 settimane. **Decisione operativa**: `pwsh` resta
|
||||
> installato sull'host — non è più richiesto da nulla (verificato), ma non
|
||||
> viene disinstallato per scelta, non per blocco tecnico.
|
||||
> Vedi [overview](ideas-overview.md) e il
|
||||
> [piano di applicazione](idea-3-implementation-plan.md) (checklist operativa).
|
||||
>
|
||||
> **Analisi rifatta il 2026-06-07** sullo stato reale del repo (la versione
|
||||
> precedente proponeva gruppi CLI inesistenti e ometteva metà della
|
||||
> superficie `pwsh`).
|
||||
> superficie `pwsh`). **Nota**: anche questa re-analisi ometteva una
|
||||
> dipendenza reale — vedi riga 9 della tabella §2.1, trovata solo il
|
||||
> 2026-07-23 verificando `action.yml` riga per riga invece di fidarsi della
|
||||
> tabella esistente.
|
||||
|
||||
---
|
||||
|
||||
@@ -48,6 +53,14 @@ Lo stato CLI attuale (`src/ci_orchestrator/__main__.py`) espone i gruppi:
|
||||
| 6 | Installazione `pwsh` di default | `setup-host-linux.sh` step 6/6 (opt-out `--skip-pwsh`) | provisioning host |
|
||||
| 7 | Pester (test dei moduli PS) | `tests/_Common.Tests.ps1` | host/CI, manuale |
|
||||
| 8 | Setup credenziali guest | `Set-CIGuestCredential.ps1` (equivalente Linux mancante in CLI) | host Linux, manuale |
|
||||
| 9 | **(trovata 2026-07-23, mancava da questa tabella)** Composite action condivisa, invocata da **ogni** job CI | `.gitea/actions/local-ci-build/action.yml`, 3 step `shell: pwsh` (introdotti 2026-05-21) — non uno shim `.ps1`, script inline nel YAML | runner Linux, **automatico, ogni job** — la più grave delle nove: non tooling manuale, pipeline di produzione |
|
||||
|
||||
Riga 9 era il blocco reale più importante e non era in questa tabella
|
||||
neanche dopo la re-analisi del 2026-06-07. **Risolta** (2026-07-23):
|
||||
i 3 step riscritti in `shell: bash`; i rami `$IsLinux`/`F:\CI\...`
|
||||
erano codice morto dalla migrazione Fase B (act_runner per `windows-build`
|
||||
e `linux-build` gira sullo stesso host Linux — non esiste più un host
|
||||
Windows separato che li rendesse vivi).
|
||||
|
||||
### 2.2 Script Windows-only (NON bloccano `pwsh` su Linux)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user