blob: b481fdf2d650d3493332e0a21a5f6dfd5770341b [file] [log] [blame]
name: Java CI
on:
push:
pull_request:
branches:
- master
jobs:
test:
name: Test on Java ${{ matrix.java_version }} and OS ${{ matrix.os }}
runs-on: ${{ matrix.os }}
strategy:
matrix:
java_version: ['11', '13']
os: [ubuntu-latest, windows-latest, macOS-latest]
steps:
- uses: actions/checkout@v1
- name: Set up JDK ${{ matrix.java_version }}
uses: actions/setup-java@v1.3.0
with:
java-version: ${{ matrix.java_version }}
- name: Main build using Felix
run: ./mvnw clean install -B -Pfelix -Pjava8
- name: Main build using Equinox
run: ./mvnw clean install -B -Pequinox -Pjava8
- name: Build Android App
if: matrix.java_version == '11' && matrix.os == 'ubuntu-latest'
run: |
cp atomos.examples/atomos.examples.index/target/org.apache.felix.atomos.examples.index-*.jar atomos.examples/atomos.examples.android/app/libs
atomos.examples/atomos.examples.android/gradlew -b atomos.examples/atomos.examples.android/build.gradle build
- name: Setup GraalVM environment
if: matrix.os == 'ubuntu-latest'
uses: DeLaGuardo/setup-graalvm@2.0
with:
# The GraalVM version to make available on the path.
graalvm-version: '20.2.0.java11'
- name: Install substrate native-image support
if: matrix.os == 'ubuntu-latest'
run: gu install native-image
- name: Build Equinox substrate example
if: matrix.os == 'ubuntu-latest'
run: ./mvnw clean package -f atomos.examples/atomos.examples.substrate.lib/pom.xml