workflow_call:
permissions:
- contents: read # to fetch code (actions/checkout)
+ contents: write # to fetch code (actions/checkout) and submit dependency graph (gradle/gradle-build-action)
jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
- java: [ '17', '21' ]
+ java: [ '21', '23' ]
steps:
- uses: actions/checkout@v4
uses: gradle/gradle-build-action@v2
with:
dependency-graph: generate-and-submit
+ - name: Install asciidoc
+ run: sudo apt --no-install-recommends install -y asciidoc-base
- name: Build with Gradle
run: ./gradlew --no-daemon build
+ - name: Build man page
+ run: |
+ cd man
+ make install
+ - name: Add man page to archive
+ run: |
+ version=$(tar tf build/distributions/signal-cli-*.tar | head -n1 | sed 's|signal-cli-\([^/]*\)/.*|\1|')
+ echo $version
+ tar --transform="flags=r;s|man|signal-cli-${version}/man|" -rf build/distributions/signal-cli-${version}.tar man/man{1,5}
- 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
- 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