1111 IMAGE_NAME : springboilerplate
1212jobs :
1313 test :
14- runs-on : ubuntu-22.04
14+ strategy :
15+ matrix :
16+ java-version : ['21', '22', '23']
17+ runs-on : ubuntu-24.04
1518 steps :
1619 - uses : actions/checkout@v4
17- - name : Set up JDK 17
20+ - name : Set up JDK ${{ matrix.java-version }}
1821 uses : actions/setup-java@v4
1922 with :
20- java-version : 17
23+ java-version : ${{ matrix.java-version }}
2124 distribution : ' zulu'
25+ cache : ' gradle'
2226 - name : Grant execute permission for gradlew
2327 run : chmod +x gradlew
2428 - name : Build with Gradle
@@ -30,14 +34,17 @@ jobs:
3034 run : ./gradlew bootBuildImage --imageName=$IMAGE_NAME
3135 push :
3236 needs : test
33- runs-on : ubuntu-22.04
37+ runs-on : ubuntu-24.04
38+ strategy :
39+ matrix :
40+ java-version : ['21', '22', '23']
3441 if : github.event_name == 'push'
3542 steps :
3643 - uses : actions/checkout@v4
37- - name : Set up JDK 17
44+ - name : Set up JDK ${{ matrix.java-version }}
3845 uses : actions/setup-java@v4
3946 with :
40- java-version : 17
47+ java-version : ${{ matrix.java-version }}
4148 distribution : ' zulu'
4249 - name : Grant execute permission for gradlew
4350 run : chmod +x gradlew
6774 [[ "${{ github.ref }}" == "refs/tags/"* ]] && VERSION=$(echo $VERSION | sed -e 's/^v//')
6875 # Use Docker `latest` tag convention
6976 [ "$VERSION" == "main" ] && VERSION=latest
70- docker tag $IMAGE_NAME $IMAGE_ID_GITHUB:$VERSION
71- docker tag $IMAGE_NAME $IMAGE_ID_HUB:$VERSION
72- docker push $IMAGE_ID_GITHUB:$VERSION
73- docker push $IMAGE_ID_HUB:$VERSION
77+ docker tag $IMAGE_NAME $IMAGE_ID_GITHUB:$VERSION-jdk${{ matrix.java-version }}
78+ docker tag $IMAGE_NAME $IMAGE_ID_HUB:$VERSION-jdk${{ matrix.java-version }}
79+ docker push $IMAGE_ID_GITHUB:$VERSION-jdk${{ matrix.java-version }}
80+ docker push $IMAGE_ID_HUB:$VERSION-jdk${{ matrix.java-version }}
0 commit comments