name: signal-cli CI
-on: [ push, pull_request ]
+on:
+ push:
+ branches:
+ - '**'
+ pull_request:
+ workflow_call:
+
+permissions:
+ contents: read # to fetch code (actions/checkout)
jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
- java: [ '17' ]
+ java: [ '17', '20' ]
steps:
- - uses: actions/checkout@v1
+ - uses: actions/checkout@v3
- name: Set up JDK
- uses: actions/setup-java@v1
+ uses: actions/setup-java@v3
with:
+ distribution: 'temurin'
java-version: ${{ matrix.java }}
+ cache: 'gradle'
- name: Build with Gradle
- run: ./gradlew build
+ 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@v2
+ uses: actions/upload-artifact@v3
with:
name: signal-cli-archive-${{ matrix.java }}
path: build/distributions/signal-cli-*.tar.gz
+
+ build-graalvm:
+
+ runs-on: ubuntu-latest
+
+ steps:
+ - uses: actions/checkout@v3
+ - uses: graalvm/setup-graalvm@v1
+ with:
+ version: 'latest'
+ java-version: '17'
+ 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
+ with:
+ name: signal-cli-native
+ path: build/native/nativeCompile/signal-cli