ci kontin testiohje
CI Feature / Load example-gitea-env.conf to pipeline env (push) Successful in 24s
acc-tests Cucumber test report
CI Feature / Cucumber tests (push) Successful in 1m5s
unit-tests Bats test report
CI Feature / Bats tests (push) Successful in 1m23s
CI Feature / Report Summary (push) Successful in 4s
CI Feature / Load example-gitea-env.conf to pipeline env (push) Successful in 24s
acc-tests Cucumber test report
CI Feature / Cucumber tests (push) Successful in 1m5s
unit-tests Bats test report
CI Feature / Bats tests (push) Successful in 1m23s
CI Feature / Report Summary (push) Successful in 4s
This commit is contained in:
@@ -182,6 +182,42 @@ vain build-vaiheessa — `apk del curl` poistaa työkalun ennen runtimea.
|
|||||||
Tapa C pre-cacheaa kielikohtaiset riippuvuudet ja tuottaa täysin
|
Tapa C pre-cacheaa kielikohtaiset riippuvuudet ja tuottaa täysin
|
||||||
offline-runtime-kontin.
|
offline-runtime-kontin.
|
||||||
|
|
||||||
|
## Testaus ennen julkaisua
|
||||||
|
|
||||||
|
Konttia ei saa pushata registryyn ennen kuin se on validoitu.
|
||||||
|
|
||||||
|
### 1. Aja testit kontin sisällä
|
||||||
|
|
||||||
|
Testit on ajettava **kontin sisällä**, ei suoraan lokaalilla koneella.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# OIKEIN — kontin sisällä
|
||||||
|
docker build -t ci-tyokalu:test .
|
||||||
|
docker run --rm -v "$(pwd):/repo" -w /repo ci-tyokalu:test bash -c 'bats tests/'
|
||||||
|
|
||||||
|
# VÄÄRIN — lokaalit binäärit vs kontti
|
||||||
|
bats tests/ # eri bash/työkalut kuin kontissa
|
||||||
|
bashcov -- bats tests/ # eri ruby-versio kuin kontissa
|
||||||
|
```
|
||||||
|
|
||||||
|
Lokaali ympäristö (macOS, eri kirjastoversiot) poikkeaa aina kontista.
|
||||||
|
Testi voi mennä läpi lokaalissa mutta failata CI:ssä, tai päinvastoin.
|
||||||
|
|
||||||
|
### 2. Fragile-testien seulonta (10x ajo)
|
||||||
|
|
||||||
|
Aja koko testipaketti **10 kertaa peräkkäin** kontin sisällä ennen pushausta:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
for i in $(seq 1 10); do
|
||||||
|
echo "=== RUN $i ==="
|
||||||
|
docker run --rm -v "$(pwd):/repo" -w /repo ci-tyokalu:test \
|
||||||
|
bash -c 'bats tests/' || exit 1
|
||||||
|
done
|
||||||
|
```
|
||||||
|
|
||||||
|
Jos yksikin ajo failaa, kontissa on fragile testi — korjaa ennen pushausta.
|
||||||
|
Fragile testit syövät devaukseen käytettyä aikaa turhilla uusinta-ajoilla.
|
||||||
|
|
||||||
## Mitä EI kannata tehdä
|
## Mitä EI kannata tehdä
|
||||||
|
|
||||||
- Älä lisää `workflow_call`-triggariä — CI-konttia ei koskaan buildata automaattisesti
|
- Älä lisää `workflow_call`-triggariä — CI-konttia ei koskaan buildata automaattisesti
|
||||||
|
|||||||
Reference in New Issue
Block a user