]> nmode's Git Repositories - signal-cli/blobdiff - .github/workflows/ci.yml
Run CI with Java 23
[signal-cli] / .github / workflows / ci.yml
index 5a1fd42a5bbe486aa1077ff1c32b474c0bd55198..75d892a8e06c404e0c45697d748f5978ab16c3a7 100644 (file)
@@ -1,6 +1,14 @@
 name: signal-cli CI
 
-on: [ push, pull_request, workflow_call ]
+on:
+  push:
+    branches:
+      - '**'
+  pull_request:
+  workflow_call:
+
+permissions:
+  contents: write # to fetch code (actions/checkout) and submit dependency graph (gradle/gradle-build-action)
 
 jobs:
   build:
@@ -8,22 +16,25 @@ jobs:
     runs-on: ubuntu-latest
     strategy:
       matrix:
-        java: [ '17', '19' ]
+        java: [ '21', '23' ]
 
     steps:
-      - uses: actions/checkout@v3
+      - uses: actions/checkout@v4
       - name: Set up JDK
         uses: actions/setup-java@v3
         with:
-          distribution: 'adopt'
+          distribution: 'zulu'
           java-version: ${{ matrix.java }}
-          cache: 'gradle'
+      - name: Setup Gradle
+        uses: gradle/gradle-build-action@v2
+        with:
+          dependency-graph: generate-and-submit
       - name: Build with Gradle
         run: ./gradlew --no-daemon build
       - name: Compress archive
         run: gzip -n -9 build/distributions/signal-cli-*.tar
       - name: Archive production artifacts
-        uses: actions/upload-artifact@v3
+        uses: actions/upload-artifact@v4
         with:
           name: signal-cli-archive-${{ matrix.java }}
           path: build/distributions/signal-cli-*.tar.gz
@@ -33,18 +44,17 @@ jobs:
     runs-on: ubuntu-latest
 
     steps:
-      - uses: actions/checkout@v3
+      - uses: actions/checkout@v4
       - uses: graalvm/setup-graalvm@v1
         with:
           version: 'latest'
-          java-version: '17'
+          java-version: '21'
           cache: 'gradle'
-          components: 'native-image'
           github-token: ${{ secrets.GITHUB_TOKEN }}
       - name: Build with Gradle
         run: ./gradlew --no-daemon nativeCompile
       - name: Archive production artifacts
-        uses: actions/upload-artifact@v3
+        uses: actions/upload-artifact@v4
         with:
           name: signal-cli-native
           path: build/native/nativeCompile/signal-cli