]> nmode's Git Repositories - signal-cli/blob - .github/workflows/ci.yml
fd5a938ddcb1fd8087ed15c64273f4a8e77e071a
[signal-cli] / .github / workflows / ci.yml
1 name: signal-cli CI
2
3 on:
4 push:
5 branches:
6 - '**'
7 pull_request:
8 workflow_call:
9
10 permissions:
11 contents: read # to fetch code (actions/checkout)
12
13 jobs:
14 build:
15
16 runs-on: ubuntu-latest
17 strategy:
18 matrix:
19 java: [ '17', '21' ]
20
21 steps:
22 - uses: actions/checkout@v4
23 - name: Set up JDK
24 uses: actions/setup-java@v3
25 with:
26 distribution: 'zulu'
27 java-version: ${{ matrix.java }}
28 - name: Setup Gradle
29 uses: gradle/gradle-build-action@v2
30 with:
31 dependency-graph: generate-and-submit
32 - name: Build with Gradle
33 run: ./gradlew --no-daemon build
34 - name: Compress archive
35 run: gzip -n -9 build/distributions/signal-cli-*.tar
36 - name: Archive production artifacts
37 uses: actions/upload-artifact@v3
38 with:
39 name: signal-cli-archive-${{ matrix.java }}
40 path: build/distributions/signal-cli-*.tar.gz
41
42 build-graalvm:
43
44 runs-on: ubuntu-latest
45
46 steps:
47 - uses: actions/checkout@v4
48 - uses: graalvm/setup-graalvm@v1
49 with:
50 version: 'latest'
51 java-version: '17'
52 cache: 'gradle'
53 components: 'native-image'
54 github-token: ${{ secrets.GITHUB_TOKEN }}
55 - name: Build with Gradle
56 run: ./gradlew --no-daemon nativeCompile
57 - name: Archive production artifacts
58 uses: actions/upload-artifact@v3
59 with:
60 name: signal-cli-native
61 path: build/native/nativeCompile/signal-cli