blob: f3d0a8278630230cadc1ed210e5f0099a1fe3501 [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.0.0.java8'
- 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.equinox/pom.xml
- name: Upload Atomos Index Executable JAR
if: matrix.java_version == '11' && matrix.os == 'ubuntu-latest'
uses: actions/upload-artifact@v1
with:
name: org.apache.felix.atomos.examples.index-0.0.1-SNAPSHOT.jar
path: atomos.examples/atomos.examples.index/target/org.apache.felix.atomos.examples.index-0.0.1-SNAPSHOT.jar
- name: Upload Atomos Spring Loader Executable JAR
if: matrix.java_version == '11' && matrix.os == 'ubuntu-latest'
uses: actions/upload-artifact@v1
with:
name: org.apache.felix.atomos.examples.springloader-0.0.1-SNAPSHOT.jar
path: atomos.examples/atomos.examples.springloader/target/org.apache.felix.atomos.examples.springloader-0.0.1-SNAPSHOT.jar
- name: Upload Atomos Android App
if: matrix.java_version == '11' && matrix.os == 'ubuntu-latest'
uses: actions/upload-artifact@v1
with:
name: atomos-app.apk
path: atomos.examples/atomos.examples.android/app/build/outputs/apk/debug/app-debug.apk