Files
gitea-ci-library/docs/tickets/0013-ci-feature-report-publish.md
T
niko dacb8b4ef7
CI / feature (push) Has been skipped
CI / main (push) Failing after 0s
POC: test reusable workflow job visibility in Gitea Actions (#5)
Co-authored-by: moilanik <niko.moilanen@tietoevry.com>
Reviewed-on: #5
2026-06-13 09:37:47 +03:00

2.9 KiB

Ticket 0013: Raporttien julkaisu ci-feature.yml:ään

Vaihe: 13 (riippuu 0003 ja 0005) Status: pending Feature branch: feature/0013-ci-feature-report-publish TDD required: Yes Feature file required: Yes

Required context:

  • docs/test-plan/tdd-guide.md
  • tests/features/0013-ci-feature-report-publish.feature
  • Skills: tdd, implementation, clean-code

Pre-requisite (estotiketti):

  • Tiketti 0003 (push-reports.sh) — valmis
  • Tiketti 0005 (report-service/generate-index.sh) — valmis
  • Tiketti 0006 (ci-feature.yml) — valmis (perusstepit ilman raportteja)

TDD — Red-Green-Refactor

Red

Ennen muutoksia, kirjoita validointitestit (tests/workflows.bats):

  • publish-html-job lisätty ci-feature.yml:ään
  • push-reports.sh-kutsut oikeilla parametreilla
  • end-jobin URL-parametri sisältää raportti-URL:n
bats tests/workflows.bats
# FAIL: publish-html -steppiä ei ole

Green

Lisää publish-html-job ci-feature.yml:ään.

bats tests/workflows.bats
# PASS

DoD

  • Cucumber: @ticket-0013 and @mock → kaikki skenaariot GREEN
  • tests/workflows.bats — YAML-validointi läpi
  • publish-html-job puskaa raportit MinIO:hon
  • end-jobin statusviesti sisältää raportti-URL:n
  • ci-flow-values.yaml-skeema tukee raporttityyppejä (cucumber, jacoco, site)

Toiminto

Lisää ci-feature.yml:ään publish-html-job, joka kutsuu push-reports.sh:ta (Ticket 0003) jokaiselle raporttityypille. Raporttityypit konfiguroidaan ci-flow-values.yaml:ssa.

Muutokset ci-feature.yml:ään

Uusi steppijärjestys:

start → unit-test → code-coverage → publish-html → end
Job context Toiminto
start ci/start report-status.sh pending
unit-test ci/unit-test Projektin oma testiajo
code-coverage ci/code-coverage JaCoCo / vastaava
publish-html ci/publish-html push-reports.sh jokaiselle raporttityypille
end ci/end report-status.sh success/failure + raportti-URL

ci-flow-values.yaml-laajennus

build:
  ecosystem: maven
  java-version: "21"

test:
  unit: "mvn test"
  coverage: "mvn jacoco:report"

reports:
  - type: cucumber
    source: target/cucumber-report
  - type: jacoco
    source: target/site/jacoco
  - type: site
    source: target/site

Verifiointi

  1. push-reports.sh cucumber target/cucumber-report → onnistuu
  2. push-reports.sh jacoco target/site/jacoco → onnistuu
  3. end-jobin statusviestin URL osoittaa raporttiin

Viitteet

  • docs/tickets/0003-push-reports-sh.mdpush-reports.sh
  • docs/tickets/0005-report-service-index-generation.mdgenerate-index.sh
  • docs/tickets/0006-pipeline-as-conf.md — Pipeline as conf (perusstepit)
  • docs/report-hosting.md — Raporttien URL-rakenne