esitellään env conf tiedosto
CI / load-config (push) Failing after 0s
CI / main (push) Has been skipped
CI / feature (push) Has been skipped

This commit is contained in:
moilanik
2026-06-13 10:37:33 +03:00
parent a1d1f1e5ab
commit 80f3d4392a
6 changed files with 78 additions and 18 deletions
+21
View File
@@ -50,6 +50,27 @@ Käytäntö:
- Jos `docker run` tarvitsee env-arvoja, välitä ne eksplisiittisesti `-e VAR`-lipulla
- `GITHUB_ENV` on validi tapa välittää arvoja stepien välille samassa jobissa, mutta ei leviä `docker run`-kontteihin ilman `-e`-lippua
### Cross-job config propagation (validated 2026-06-13)
Workflow `env:` on ainoa natiivi mekanismi, joka tekee arvoista näkyviä kaikissa jobeissa automaattisesti. Ketju:
```
feature-env.conf → config-provider.yml → env_json (single JSON string output)
ci.yml with: env_json
build-feature.yml workflow env:
fromJson(inputs.env_json).KEY
kaikki jobit → $KEY
```
Avainkomponentit:
- **config-provider.yml** — reusable workflow, lukee conf-tiedoston → yksi JSON output
- **`needs` + `with:`** — `jobs.<job_id>.with` tukee `needs`-kontekstia, joten `${{ needs.load-config.outputs.env_json }}` toimii
- **workflow `env:`** — ainoa tapa jakaa arvot kaikkiin jobeihin. `fromJson(inputs.env_json).KEY` purkaa yksittäiset arvot
- **Per-job `env:`** — sisältää vain secretit (`GITEA_TOKEN`, `GIT_PAGES_PUBLISH_TOKEN`), ei config-arvoja
## 5. Pipeline Provides All Dependencies
- Ei luottamusta runnerin esiasennettuihin työkaluihin