77 branches : [ main ]
88
99jobs :
10- test :
10+ lint :
1111 runs-on : ubuntu-latest
1212
1313 steps :
@@ -26,21 +26,79 @@ jobs:
2626 key : ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
2727 restore-keys : ${{ runner.os }}-m2
2828
29- - name : Run tests
30- run : ./mvnw clean test
31-
3229 - name : Run linting (Checkstyle)
3330 run : ./mvnw checkstyle:check
3431
32+ static-analysis :
33+ runs-on : ubuntu-latest
34+
35+ steps :
36+ - uses : actions/checkout@v4
37+
38+ - name : Set up JDK 17
39+ uses : actions/setup-java@v4
40+ with :
41+ java-version : ' 17'
42+ distribution : ' temurin'
43+
44+ - name : Cache Maven dependencies
45+ uses : actions/cache@v3
46+ with :
47+ path : ~/.m2
48+ key : ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
49+ restore-keys : ${{ runner.os }}-m2
50+
3551 - name : Run static analysis (SpotBugs)
3652 run : ./mvnw spotbugs:check
3753
54+ test :
55+ runs-on : ubuntu-latest
56+
57+ steps :
58+ - uses : actions/checkout@v4
59+
60+ - name : Set up JDK 17
61+ uses : actions/setup-java@v4
62+ with :
63+ java-version : ' 17'
64+ distribution : ' temurin'
65+
66+ - name : Cache Maven dependencies
67+ uses : actions/cache@v3
68+ with :
69+ path : ~/.m2
70+ key : ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
71+ restore-keys : ${{ runner.os }}-m2
72+
73+ - name : Run tests
74+ run : ./mvnw clean test
75+
76+ build :
77+ runs-on : ubuntu-latest
78+ needs : [lint, static-analysis, test]
79+
80+ steps :
81+ - uses : actions/checkout@v4
82+
83+ - name : Set up JDK 17
84+ uses : actions/setup-java@v4
85+ with :
86+ java-version : ' 17'
87+ distribution : ' temurin'
88+
89+ - name : Cache Maven dependencies
90+ uses : actions/cache@v3
91+ with :
92+ path : ~/.m2
93+ key : ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
94+ restore-keys : ${{ runner.os }}-m2
95+
3896 - name : Build application
3997 run : ./mvnw clean package -DskipTests
4098
4199 docker :
42100 runs-on : ubuntu-latest
43- needs : test
101+ needs : build
44102
45103 steps :
46104 - uses : actions/checkout@v4
0 commit comments