-
Notifications
You must be signed in to change notification settings - Fork 0
128 lines (119 loc) · 4.93 KB
/
Copy pathci.yml
File metadata and controls
128 lines (119 loc) · 4.93 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
name: WrapCa CI
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
jobs:
stage-1-foundation:
name: "Stage 1 — Domain & Physics (grid, rothermel)"
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
with:
distribution: temurin
java-version: '21'
cache: maven
- name: Compile
run: mvn -B compile
- name: Unit test — grid + rothermel
run: mvn -B test -Dtest="com.victorkithinji.wrap.wrapca.grid.**,com.victorkithinji.wrap.wrapca.rothermel.**"
stage-2-config:
name: "Stage 2 — Configuration"
needs: stage-1-foundation
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
with:
distribution: temurin
java-version: '21'
cache: maven
- name: Compile
run: mvn -B compile
# No tests exist yet for `config` — tracked gap, not a failure.
# This stage still runs so it's positioned in the pipeline correctly
# once tests are added; today it just compiles and flags the gap.
- name: Flag coverage gap — config
run: echo "::warning title=No tests::config package has zero test coverage (SimulationConfig, CorsConfig)"
stage-3-ingestion:
name: "Stage 3 — Ingestion & CV Integration"
needs: stage-2-config
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
with:
distribution: temurin
java-version: '21'
cache: maven
- name: Unit test — ingestion
run: mvn -B test -Dtest="com.victorkithinji.wrap.wrapca.ingestion.**"
- name: Flag coverage gap — cvintegration
run: echo "::warning title=No tests::cvintegration package has zero test coverage (FirePerimeterData, CvApiClient)"
stage-4-grid-simulation:
name: "Stage 4 — Grid Init & CA Engine"
needs: stage-3-ingestion
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
with:
distribution: temurin
java-version: '21'
cache: maven
- name: Unit test — simulation engine
run: mvn -B test -Dtest="com.victorkithinji.wrap.wrapca.simulation.**"
stage-5-analysis:
name: "Stage 5 — Monte Carlo & CV Correction"
needs: stage-4-grid-simulation
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
with:
distribution: temurin
java-version: '21'
cache: maven
- name: Unit test — montecarlo
run: mvn -B test -Dtest="com.victorkithinji.wrap.wrapca.montecarlo.**"
- name: Flag coverage gap — correction
run: echo "::warning title=No tests::correction package has zero test coverage (SuppressedZoneRegistry, CvStateInjectorService)"
stage-6-output-persistence:
name: "Stage 6 — Output, History, DTOs"
needs: stage-5-analysis
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
with:
distribution: temurin
java-version: '21'
cache: maven
- name: Unit test — output
run: mvn -B test -Dtest="com.victorkithinji.wrap.wrapca.output.**"
- name: Flag coverage gap — history
run: echo "::warning title=No tests::history package has zero test coverage (RunLogWriterService, RunLogReaderService)"
- name: Flag coverage gap — dto
run: echo "::warning title=No tests::dto package has zero test coverage (request/response shapes)"
stage-7-integration:
name: "Stage 7 — Facade, API, CORS integration"
needs: stage-6-output-persistence
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
with:
distribution: temurin
java-version: '21'
cache: maven
- name: Full package build
run: mvn -B package
- name: Integration test — facade + api + CORS
run: mvn -B test -Dtest="com.victorkithinji.wrap.wrapca.facade.**,com.victorkithinji.wrap.wrapca.api.**"
- name: Upload jar artifact
uses: actions/upload-artifact@v4
with:
name: wrapca-jar
path: target/*.jar