66 pull_request :
77 branches : [ master ]
88
9+ # Add permissions for test reporting
10+ permissions :
11+ contents : read
12+ checks : write
13+ pull-requests : write
14+
915jobs :
1016 test :
11- name : Test on Java ${{ matrix.java-version }}
17+ name : Test on Java 21
1218 runs-on : ubuntu-latest
1319
14- strategy :
15- matrix :
16- java-version : [17, 21]
17-
1820 steps :
1921 - name : Checkout repository
2022 uses : actions/checkout@v4
2123
22- - name : Set up JDK ${{ matrix.java-version }}
24+ - name : Set up JDK 21
2325 uses : actions/setup-java@v4
2426 with :
25- java-version : ${{ matrix.java-version }}
27+ java-version : ' 21 '
2628 distribution : ' temurin'
2729
2830 - name : Setup Gradle
@@ -33,94 +35,20 @@ jobs:
3335 - name : Run tests
3436 run : ./gradlew test --no-daemon
3537
36- - name : Generate test report
37- uses : dorny/ test-reporter@v1
38- if : success() || failure ()
38+ - name : Publish Test Results
39+ uses : EnricoMi/publish-unit- test-result-action@v2
40+ if : always ()
3941 with :
40- name : Test Results (Java ${{ matrix.java-version }})
41- path : build/test-results/test/*.xml
42- reporter : java-junit
42+ files : |
43+ build/test-results/test/*.xml
44+ check_name : " Test Results (Java 21)"
45+ comment_title : " Test Results (Java 21)"
4346
4447 - name : Upload test results
4548 uses : actions/upload-artifact@v4
4649 if : always()
4750 with :
48- name : test-results-java-${{ matrix.java-version }}
51+ name : test-results-java-21
4952 path : |
5053 build/reports/tests/
5154 build/test-results/
52-
53- build :
54- name : Build Application
55- runs-on : ubuntu-latest
56- needs : test
57-
58- steps :
59- - name : Checkout repository
60- uses : actions/checkout@v4
61-
62- - name : Set up JDK 17
63- uses : actions/setup-java@v4
64- with :
65- java-version : ' 17'
66- distribution : ' temurin'
67-
68- - name : Setup Gradle
69- uses : gradle/gradle-build-action@v2
70- with :
71- gradle-version : wrapper
72-
73- - name : Build application
74- run : ./gradlew build --no-daemon
75-
76- - name : Upload build artifacts
77- uses : actions/upload-artifact@v4
78- with :
79- name : build-artifacts
80- path : |
81- build/libs/*.jar
82- build/distributions/*
83-
84- # Only run on master branch pushes
85- release :
86- name : Create Release
87- runs-on : ubuntu-latest
88- needs : [test, build]
89- if : github.ref == 'refs/heads/master' && github.event_name == 'push'
90-
91- steps :
92- - name : Checkout repository
93- uses : actions/checkout@v4
94-
95- - name : Set up JDK 17
96- uses : actions/setup-java@v4
97- with :
98- java-version : ' 17'
99- distribution : ' temurin'
100-
101- - name : Setup Gradle
102- uses : gradle/gradle-build-action@v2
103- with :
104- gradle-version : wrapper
105-
106- - name : Build release
107- run : ./gradlew build --no-daemon
108-
109- - name : Get version
110- id : version
111- run : echo "VERSION=$(date +'%Y.%m.%d')-${{ github.run_number }}" >> $GITHUB_OUTPUT
112-
113- - name : Create Release
114- uses : actions/create-release@v1
115- env :
116- GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
117- with :
118- tag_name : v${{ steps.version.outputs.VERSION }}
119- release_name : Release v${{ steps.version.outputs.VERSION }}
120- body : |
121- Automated release from main branch
122-
123- Changes in this release:
124- ${{ github.event.head_commit.message }}
125- draft : false
126- prerelease : false
0 commit comments