11name : " CI"
22on : [push, pull_request]
3+
4+ env :
5+ DEFAULT_JAVA_VERSION : 17
6+ DEFAULT_JAVA_DISTRIBUTION : ' microsoft'
7+
38jobs :
49 build :
510 name : Build
611 runs-on : ubuntu-latest
12+ strategy :
13+ fail-fast : false
14+ matrix :
15+ java :
16+ - 17
17+ - 18
18+ - 19
19+ - 20
20+ - 21
21+ - 22
22+ - 23
23+ distribution :
24+ - ' adopt-hotspot'
25+ include :
26+ - java : 17
27+ distribution : ' microsoft'
28+ - java : 21
29+ distribution : ' microsoft'
730 steps :
831 - name : ' Checkout'
932 uses : actions/checkout@v2
@@ -16,13 +39,11 @@ jobs:
1639 ~/.m2
1740 ~/.gradle
1841 key : ${{ runner.os }}-gradle-${{ hashFiles('build.gradle') }}
19- - name : Validate Gradle wrapper
20- uses : gradle/wrapper-validation-action@v1
2142 - name : ' Setup Java'
2243 uses : actions/setup-java@v1
2344 with :
24- java-version : 17
25- java-package : jdk
45+ distribution : ${{ matrix.distribution }}
46+ java-version : ${{ matrix.java }}
2647 - name : ' Mark tag as release'
2748 if : startsWith(github.ref, 'refs/tags/')
2849 run : echo "RELEASE=true" >> $GITHUB_ENV
@@ -55,33 +76,33 @@ jobs:
5576 if : ${{ env.COVERALLS_REPO_TOKEN }}
5677 run : ./gradlew test jacocoTestReport coveralls
5778 - name : ' Deploy to CurseForge'
58- if : startsWith(github.ref, 'refs/tags/')
79+ if : startsWith(github.ref, 'refs/tags/') && startsWith(matrix.java, env.DEFAULT_JAVA_VERSION) && startsWith(matrix.distribution, env.DEFAULT_JAVA_DISTRIBUTION)
5980 env :
6081 CURSEFORGE_KEY_SECRET : ${{ secrets.CURSEFORGE_KEY_SECRET }}
6182 run : ./gradlew curseforge
6283 - name : ' Deploy to Modrinth'
63- if : startsWith(github.ref, 'refs/tags/')
84+ if : startsWith(github.ref, 'refs/tags/') && startsWith(matrix.java, env.DEFAULT_JAVA_VERSION) && startsWith(matrix.distribution, env.DEFAULT_JAVA_DISTRIBUTION)
6485 env :
6586 MODRINTH_KEY_SECRET : ${{ secrets.MODRINTH_KEY_SECRET }}
6687 run : ./gradlew modrinth
6788 - name : ' Create GitHub release'
6889 id : create_release
69- if : startsWith(github.ref, 'refs/tags/')
90+ if : startsWith(github.ref, 'refs/tags/') && startsWith(matrix.java, env.DEFAULT_JAVA_VERSION) && startsWith(matrix.distribution, env.DEFAULT_JAVA_DISTRIBUTION)
7091 uses : actions/create-release@v1
7192 env :
7293 GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
7394 with :
7495 tag_name : ${{ github.ref }}
7596 release_name : ${{ github.ref }}
7697 - name : ' Deploy to Maven'
77- if : startsWith(github.ref, 'refs/heads/master')
98+ if : startsWith(github.ref, 'refs/heads/master') && startsWith(matrix.java, env.DEFAULT_JAVA_VERSION) && startsWith(matrix.distribution, env.DEFAULT_JAVA_DISTRIBUTION)
7899 env :
79100 MAVEN_URL : ${{ secrets.MAVEN_URL }}
80101 MAVEN_USERNAME : ${{ secrets.MAVEN_USERNAME }}
81102 MAVEN_KEY : ${{ secrets.MAVEN_KEY }}
82103 run : ./gradlew publish
83104 - name : ' Deploy JavaDoc to GitHub Pages'
84- if : startsWith(github.ref, 'refs/heads/master')
105+ if : startsWith(github.ref, 'refs/heads/master') && startsWith(matrix.java, env.DEFAULT_JAVA_VERSION) && startsWith(matrix.distribution, env.DEFAULT_JAVA_DISTRIBUTION)
8510686107 with :
87108 GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
0 commit comments