2021-09-24 17:34:16 +02:00
|
|
|
name: Build
|
|
|
|
|
|
|
|
on: [push, pull_request]
|
|
|
|
|
2022-12-08 20:29:50 +01:00
|
|
|
permissions:
|
|
|
|
contents: read # to fetch code (actions/checkout)
|
|
|
|
|
2021-09-24 17:34:16 +02:00
|
|
|
jobs:
|
|
|
|
build:
|
2022-09-23 23:33:28 +02:00
|
|
|
name: "Build on JDK ${{ matrix.java }}"
|
|
|
|
strategy:
|
|
|
|
matrix:
|
|
|
|
java: [ 11, 17 ]
|
2021-09-24 17:34:16 +02:00
|
|
|
runs-on: ubuntu-latest
|
|
|
|
|
|
|
|
steps:
|
2022-08-28 19:51:31 +02:00
|
|
|
- uses: actions/checkout@v3
|
2022-09-23 23:33:28 +02:00
|
|
|
- name: "Set up JDK ${{ matrix.java }}"
|
2022-08-28 19:51:31 +02:00
|
|
|
uses: actions/setup-java@v3
|
2021-09-24 17:34:16 +02:00
|
|
|
with:
|
|
|
|
distribution: 'temurin'
|
2022-09-23 23:33:28 +02:00
|
|
|
java-version: ${{ matrix.java }}
|
2021-09-24 17:34:16 +02:00
|
|
|
cache: 'maven'
|
|
|
|
- name: Build with Maven
|
2022-09-07 01:26:53 +02:00
|
|
|
# This also runs javadoc:jar to detect any issues with the Javadoc generated during release
|
2022-09-28 08:05:49 +02:00
|
|
|
run: mvn --batch-mode --update-snapshots --no-transfer-progress verify javadoc:jar
|
2023-08-13 17:44:00 +02:00
|
|
|
|
|
|
|
native-image-test:
|
|
|
|
name: "GraalVM Native Image test"
|
|
|
|
runs-on: ubuntu-latest
|
|
|
|
|
|
|
|
steps:
|
|
|
|
- uses: actions/checkout@v3
|
|
|
|
- name: "Set up GraalVM"
|
|
|
|
uses: graalvm/setup-graalvm@v1
|
|
|
|
with:
|
|
|
|
java-version: '17'
|
|
|
|
distribution: 'graalvm'
|
|
|
|
# According to documentation in graalvm/setup-graalvm this is used to avoid rate-limiting issues
|
|
|
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
|
|
|
cache: 'maven'
|
|
|
|
- name: Build and run tests
|
|
|
|
# Only run tests in `graal-native-image-test` (and implicitly build and run tests in `gson`),
|
|
|
|
# everything else is covered already by regular build job above
|
|
|
|
run: mvn test --batch-mode --update-snapshots --no-transfer-progress --activate-profiles native-image-test --projects graal-native-image-test --also-make
|