Files
gitea-ci-library/docs/requirements.md
T
niko 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
consumer project käyttöönotossa tulleitea muutoksia (#12)
Co-authored-by: moilanik <niko.moilanen@tietoevry.com>
Reviewed-on: #12
2026-06-16 04:48:05 +03:00

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 |