1+ name : Java
2+
3+ on : [push]
4+
5+ env :
6+ time : 3
7+ time_windows : 5
8+
9+ jobs :
10+ format-check :
11+ name : Check Code Formatting
12+ continue-on-error : true
13+ runs-on : ubuntu-latest
14+ steps :
15+ - name : Checkout
16+ uses : actions/checkout@v6
17+ with :
18+ fetch-depth : 1
19+ - name : Check Format
20+ run : |
21+ mvn --batch-mode -Pverify-format clean compile
22+ shell : ' bash'
23+
24+ codecov :
25+ name : Codecov
26+ continue-on-error : true
27+ runs-on : ubuntu-latest
28+ steps :
29+ - name : Checkout
30+ uses : actions/checkout@v6
31+ - name : Set up JDK
32+ uses : actions/setup-java@v5
33+ with :
34+ java-version : 21
35+ distribution : ' temurin'
36+ # - name: Install dependencies
37+ # run: mvn install -DskipTests=true -Dmaven.javadoc.skip=true -B -V
38+ - name : Run tests and collect coverage
39+ timeout-minutes : ${{ fromJSON(env.time) }}
40+ run : mvn -B test
41+ - name : Upload coverage reports to Codecov
42+ uses : codecov/codecov-action@v5
43+ env :
44+ CODECOV_TOKEN : ${{ secrets.CODECOV_TOKEN }}
45+
46+ build :
47+ runs-on : ubuntu-latest
48+ strategy :
49+ matrix :
50+ # run different builds with the listed java versions
51+ java : [ 8, 21, 25 ]
52+ name : " build-ubuntu Java ${{ matrix.java }}"
53+ steps :
54+ - uses : actions/checkout@v6
55+ - name : Set up JDK
56+ uses : actions/setup-java@v5
57+ with :
58+ java-version : ${{ matrix.java }}
59+ distribution : ' temurin'
60+ - name : Build with Maven
61+ timeout-minutes : ${{ fromJSON(env.time) }}
62+ run : mvn --batch-mode --update-snapshots install
63+
64+
65+ build-windows :
66+ runs-on : windows-latest
67+ steps :
68+ - uses : actions/checkout@v6
69+ - name : Set up JDK
70+ uses : actions/setup-java@v5
71+ with :
72+ java-version : 8
73+ distribution : ' temurin'
74+ - name : Build with Maven
75+ timeout-minutes : ${{ fromJSON(env.time_windows) }}
76+ run : mvn --batch-mode --update-snapshots install
77+
78+
79+ build-macos :
80+ runs-on : macos-latest
81+ steps :
82+ - uses : actions/checkout@v6
83+ - name : Set up JDK
84+ uses : actions/setup-java@v5
85+ with :
86+ java-version : 17
87+ distribution : ' temurin'
88+ - name : Build with Maven
89+ timeout-minutes : ${{ fromJSON(env.time) }}
90+ run : mvn --batch-mode --update-snapshots install
0 commit comments