bats moun non read only
This commit is contained in:
@@ -111,7 +111,43 @@ Avainkomponentit:
|
||||
- Jokainen testisetti omassa jobissaan
|
||||
- Finalize/build voi kerätä yhteenvedon (ei julkaista summarya jos kenelläkään ei ole linkkiä)
|
||||
|
||||
## 7. Inline Logic Threshold
|
||||
## 7. Commit Status Before Exit
|
||||
|
||||
Commit status (`ci-bats`, `ci-cucumber`) on asetettava **ennen** stepin
|
||||
`exit`-komentoa, samassa shell-prosessissa. Ei `GITHUB_ENV`-propagointiin
|
||||
luottamista stepien välillä — Gitea Actions ei välttämättä prosessoi
|
||||
`GITHUB_ENV`-tiedostoa epäonnistuneen stepin jälkeen.
|
||||
|
||||
Käytäntö testi-stepissä:
|
||||
|
||||
```
|
||||
testit_ajoon
|
||||
EXIT=$?
|
||||
|
||||
STATE="success"
|
||||
[ "${EXIT}" != "0" ] && STATE="failure"
|
||||
|
||||
# Jos raportti on kirjoitettu levylle → linkki git-pagesiin
|
||||
if [ -f "reports/${SHA8}/sute/index.html" ]; then
|
||||
bash .ci/scripts/report-status.sh "${STATE}" "Kuvaus" ci-{suite} {suite}
|
||||
else
|
||||
# Muuten linkki Gitea Actions logiin
|
||||
bash .ci/scripts/report-status.sh "${STATE}" "Kuvaus" ci-{suite}
|
||||
fi
|
||||
|
||||
exit ${EXIT}
|
||||
```
|
||||
|
||||
Tämä takaa:
|
||||
|
||||
- Aina commit status riippumatta siitä, onko kyseessä tool- vai test error
|
||||
- Oikea URL: raportti git-pagesissa (jos tiedosto on kirjoitettu) tai Gitea Actions logeissa
|
||||
- PR merge-esto toimii luotettavasti: branch protection näkee statuksen
|
||||
aina, koska se kirjoitetaan ennen stepin failaamista
|
||||
|
||||
Julkaisu (`publish-git-pages.sh`) jää edelleen omaksi stepikseen `if: always()`:lla.
|
||||
|
||||
## 8. Inline Logic Threshold
|
||||
|
||||
Logiikka workflow YAML:ssa on hauras: YAML:n sisennys, heredocit ja
|
||||
kenoviivat tuottavat helposti toimimattomia steppejä.
|
||||
|
||||
Reference in New Issue
Block a user