14a411e340
CI Main / Load example-gitea-env.conf to pipeline env (push) Successful in 18s
CI Main / Check existing artifact (push) Successful in 12s
unit-tests Link to Bats reports
CI Main / Bats tests (push) Successful in 1m41s
acc-tests Link to Cucumber reports
CI Main / Cucumber tests (push) Successful in 1m7s
ci-docker-build-push Docker build & push 0.2.1 OK
CI Main / Build & Push Docker (push) Successful in 34s
CI Main / Report Summary (push) Successful in 4s
Co-authored-by: moilanik <niko.moilanen@tietoevry.com> Reviewed-on: #12
100 lines
3.4 KiB
Markdown
100 lines
3.4 KiB
Markdown
# Vaatimukset — Gitea Actions CI -kirjasto
|
|
|
|
> Funktionaaliset vaatimukset käyttäjän näkökulmasta. Muoto: käyttötapaukset (use cases).
|
|
|
|
---
|
|
|
|
## UC1: Kehittäjä näkee commitin build-statuksen
|
|
|
|
**Actor:** Kehittäjä
|
|
**Precondition:** Workflow on käynnissä tai päättynyt
|
|
|
|
**Main success:**
|
|
- Kehittäjä avaa commitin Giteassa
|
|
- Näkee job-statukset automaattisesti: spinner (käynnissä), checkmark (ok), risti (feilasi)
|
|
- Testijobit näyttävät statuksen linkillä: "unit-tests Link to Bats reports", "acc-tests Link to Cucumber reports"
|
|
- Klikkaamalla testistatusta kehittäjä pääsee suoraan HTML-raporttiin git-pagesissa
|
|
- Docker-build näyttää linkin konttirekisteriin
|
|
|
|
**Poikkeukset:**
|
|
- Statusviesti puuttuu (workflow kaatui ennen raportointia) → commitissa näkyy timeout/error
|
|
- Useampi workflow samalle commitille → statukset erottuvat `context`-avaimella
|
|
|
|
---
|
|
|
|
## UC2: Kehittäjä lukee testiraportteja selaimessa
|
|
|
|
**Actor:** Kehittäjä
|
|
**Precondition:** Build on valmistunut, raportit julkaistu git-pagesiin
|
|
|
|
**Main success:**
|
|
- Kehittäjä klikkaa commitin status-kuvaketta (esim. "unit-tests")
|
|
- Selain avautuu suoraan HTML-raporttiin git-pagesissa
|
|
- Bats-raportissa näkyy: testitulokset, code coverage
|
|
- Cucumber-raportissa näkyy: mitkä testit menivät läpi, mitkä epäonnistuivat, stack tracet
|
|
|
|
**Poikkeukset:**
|
|
- Raporttia ei ole (testit skipattiin, workflow kaatui ennen julkaisua) → 404
|
|
|
|
---
|
|
|
|
## UC3: Kehittäjä vertailee kahden buildin raportteja
|
|
|
|
**Actor:** Kehittäjä
|
|
**Precondition:** Projektilla on vähintään kaksi buildia
|
|
|
|
**Main success:**
|
|
- Kehittäjä avaa kaksi buildia Gitean Actions-näkymässä eri välilehtiin
|
|
- Voi verrata Cucumber-tuloksia: "build #42 vs #41 — mikä testi meni rikki?"
|
|
|
|
---
|
|
|
|
## UC4: Kehittäjä jäljittää kontin koko ketjun commitista (tuleva)
|
|
|
|
**Actor:** Kehittäjä
|
|
**Precondition:** Mikropalvelun commitista on ajettu deployment ja klusteritestit
|
|
|
|
**Main success:**
|
|
- Kehittäjä avaa mikropalvelun commitin
|
|
- Näkee statusviestit: "Build OK", "Deployed to staging", "Integration tests OK"
|
|
- Klikkaamalla statusta siirtyy toisen repon committiin
|
|
- Koko ketju on navigoitavissa edestakaisin commit-statuslinkkien kautta
|
|
|
|
---
|
|
|
|
## UC5: Kehittäjä näkee deployatun version ympäristössä (tuleva)
|
|
|
|
**Actor:** Kehittäjä
|
|
**Precondition:** Deployment on suoritettu
|
|
|
|
**Main success:**
|
|
- Avaa Helm-repon commitin
|
|
- Näkee suoraan mikä konttiversio on deployattu
|
|
- Voi verrata mikropalvelun uusimpaan commitiin — onko ympäristö ajan tasalla?
|
|
|
|
---
|
|
|
|
## UC6: Kehittäjä saa Gitea 1.27+ Summary-näkymän raporttilinkeistä (tuleva)
|
|
|
|
**Actor:** Kehittäjä
|
|
**Precondition:** Gitea 1.27+ ja päivitetty runner
|
|
|
|
**Main success:**
|
|
- Avaa workflow'n Gitea Actionsissa
|
|
- "Report Summary" -jobin Summary-välilehdellä näkyy taulukko linkeillä kaikkiin raportteihin
|
|
- Yhdellä silmäyksellä näkee mitä testejä ajettiin ja pääsee klikkaamalla raportteihin
|
|
|
|
---
|
|
|
|
## Ei-toiminnalliset vaatimukset
|
|
|
|
| Vaatimus | Toteutus |
|
|
|---|---|
|
|
| Raportit selailtavissa HTML:nä | git-pages static hosting |
|
|
| Linkki commitista suoraan raporttiin | Commit-status API:n `target_url` |
|
|
| Raporttien pysyvyys | git-pages retention sidecar |
|
|
| Virheiden propagointi | Gitea Actions `needs`-ketju |
|
|
| Pipeline-pysäytys virhetilanteessa | `needs` automaattinen skip |
|
|
| Exit-koodi ainoa totuus | ADR 0008 |
|
|
| Statusraportointi vain raporttilinkeille | ADR 0007 |
|