chore(plans): archive Phase A and B completed documents
Moves all A/B closeouts, checklists, idea docs, and implementation plans to plans/archived/2026-05-23/. Both phases are production-stable. Active plans remaining in plans/: - idea-3-powershell-removal.md (Phase C — in progress) - idea-3-esxi-support.md (Phase D — future) - ideas-overview.md (roadmap reference) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,65 @@
|
||||
# B4 — Closeout
|
||||
|
||||
Passo B4 di `plans/PhaseB-user-checklist.md`: act_runner Linux
|
||||
registrato verso Gitea e gestito da systemd.
|
||||
|
||||
## Stato
|
||||
|
||||
✅ **COMPLETATO** — `act-runner.service` attivo, runner registrato,
|
||||
`config.yaml` corretto, smoke job PASS.
|
||||
|
||||
## Cosa è stato fatto
|
||||
|
||||
- [x] Binario act_runner Linux v1.0.4 scaricato in `/opt/ci/act_runner/`
|
||||
con permessi `ci-runner`.
|
||||
- [x] Runner registrato verso `https://gitea.emulab.it` con nome
|
||||
`ci-linux` e label `windows-build:host`, `linux-build:host`.
|
||||
- [x] `/etc/systemd/system/act-runner.service` creato con:
|
||||
- `User=ci-runner`, `WorkingDirectory=/var/lib/ci/runner`
|
||||
- Variabili d'ambiente CI (`CI_ROOT`, `CI_TEMPLATES`, `CI_BUILD_VMS`,
|
||||
`CI_ARTIFACTS`, `CI_KEYS`, `PYTHONIOENCODING`)
|
||||
- `ExecStart=/opt/ci/act_runner/act_runner daemon --config /var/lib/ci/runner/config.yaml`
|
||||
- `Restart=on-failure`, `RestartSec=10`
|
||||
- [x] `/etc/ci/environment` creato con le stesse variabili CI (usato dai
|
||||
timer systemd di B5).
|
||||
- [x] `config.yaml` generato con `generate-config` e poi patchato via
|
||||
`sed` per:
|
||||
- Rimuovere i label `ubuntu-*:docker://` generati di default e
|
||||
impostare `windows-build:host` + `linux-build:host`
|
||||
- Sostituire le variabili placeholder `A_TEST_ENV_NAME_*` con:
|
||||
- `CI_PYTHON_LAUNCHER: /opt/ci/venv/bin/python`
|
||||
- `GITEA_CI_TEMPLATE_PATH: /var/lib/ci/templates/WinBuild2025/WinBuild2025.vmx`
|
||||
- `GITEA_CI_LINUX_TEMPLATE_PATH: /var/lib/ci/templates/LinuxBuild2404/LinuxBuild2404.vmx`
|
||||
- [x] `act-runner.service` abilitato e avviato; log confermano connessione
|
||||
Gitea senza errori Docker.
|
||||
- [x] Smoke job `self-test.yml` triggerato manualmente → PASS dal runner
|
||||
Linux.
|
||||
|
||||
## Deviazioni / gotcha
|
||||
|
||||
- **Nome servizio `act-runner` (non `act_runner`)**: il binario Linux
|
||||
si registra come `act-runner.service` (trattino), mentre su Windows
|
||||
il servizio si chiama `act_runner` (underscore). Questa differenza ha
|
||||
causato un bug nel comando `monitor runner`, che usava `act_runner` come
|
||||
default — corretto aggiungendo `--service-name act-runner` nell'`ExecStart`
|
||||
di `ci-watch-runner-health.service`.
|
||||
- **`generate-config` scrive label Docker**: `act_runner generate-config`
|
||||
produce label `ubuntu-latest:docker://...` che fanno cercare Docker (non
|
||||
installato). È necessario patchare il file con `sed` dopo la generazione.
|
||||
Le istruzioni sono nel Passo 4 del checklist B.
|
||||
- **`GITEA_CI_TEMPLATE_PATH` nel service unit prima dello smoke test**:
|
||||
se le variabili template non sono presenti in `config.yaml` o nel service
|
||||
unit, il job fallisce con `"Got unexpected extra argument"` (i path non
|
||||
vengono passati al CLI Python). Prerequisito obbligatorio prima di
|
||||
trigggerare lo smoke job.
|
||||
- **`config.yaml` separato da `.runner`**: il file `.runner` contiene il
|
||||
token di registrazione (non toccare). `config.yaml` contiene solo la
|
||||
configurazione operativa del runner.
|
||||
|
||||
## Riferimenti commit
|
||||
|
||||
- `536fd68` — feat: update runner configuration steps and add config.yaml
|
||||
generation instructions
|
||||
- `a6aa926` — fix: improve Python interpreter resolution for OS compatibility
|
||||
- `b2803c3` — fix: correct order of arguments for template path in local
|
||||
CI build action
|
||||
Reference in New Issue
Block a user