Write generated features to target; add feature gen as a step for lib… #118
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# This workflow will build a Java project with Maven | |
# For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-maven | |
name: Java CI with Maven | |
on: | |
push: | |
branches: '**' | |
pull_request: | |
branches: [ main ] | |
env: | |
# server-config-props-it fix | |
MAVEN_HOME: $(which mvn) | |
jobs: | |
# UNIX BUILDS | |
build-unix: | |
runs-on: ubuntu-18.04 | |
strategy: | |
fail-fast: false | |
matrix: | |
# test against latest update of each major Java version, as well as specific updates of LTS versions: | |
RUNTIME: [ol, wlp] | |
RUNTIME_VERSION: [22.0.0.6, 22.0.0.3] | |
java: [17, 11, 8] | |
exclude: | |
- java: 8 | |
RUNTIME_VERSION: 22.0.0.3 | |
- java: 17 | |
RUNTIME_VERSION: 22.0.0.3 | |
name: ${{ matrix.RUNTIME }} ${{ matrix.RUNTIME_VERSION }}, Java ${{ matrix.java }}, Linux | |
steps: | |
# Checkout repos | |
- name: Checkout ci.maven | |
uses: actions/checkout@v2 | |
- name: Setup Java ${{ matrix.java }} | |
uses: actions/setup-java@v2 | |
with: | |
distribution: 'temurin' | |
java-version: ${{ matrix.java }} | |
cache: 'maven' | |
- name: Checkout ci.common | |
uses: actions/checkout@v2 | |
with: | |
repository: OpenLiberty/ci.common | |
path: ci.common | |
- name: Checkout ci.ant | |
uses: actions/checkout@v2 | |
with: | |
repository: OpenLiberty/ci.ant | |
path: ci.ant | |
- name: Set up Maven | |
uses: stCarolas/[email protected] | |
with: | |
maven-version: 3.8.1 | |
- name: Cache maven packages | |
uses: actions/cache@v2 | |
with: | |
path: ~/.m2 | |
key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }} | |
restore-keys: ${{ runner.os }}-m2 | |
# Install dependencies | |
- name: Install ci.ant and ci.common | |
run: | | |
cd ./ci.ant | |
mvn clean install | |
cd ../ci.common | |
mvn clean install | |
cd .. | |
# Run tests | |
- name: Run tests | |
run: mvn verify -Ponline-its -D"invoker.streamLogs"=true -Druntime=${{ matrix.RUNTIME }} -DruntimeVersion="${{ matrix.RUNTIME_VERSION }}" | |
# Additionally run dev-it if not Java 17 | |
- name: Run dev-it tests | |
if: ${{ matrix.java != 17 }} | |
run: mvn verify -Ponline-its -Dinvoker.test="dev-it" -Druntime=${{ matrix.RUNTIME }} -DruntimeVersion="${{ matrix.RUNTIME_VERSION }}" | |
# WINDOWS BUILD | |
build-windows: | |
runs-on: windows-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
# test against latest update of each major Java version, as well as specific updates of LTS versions: | |
RUNTIME: [ol, wlp] | |
RUNTIME_VERSION: [22.0.0.6, 22.0.0.3] | |
java: [17, 11, 8] | |
exclude: | |
- java: 8 | |
RUNTIME_VERSION: 22.0.0.3 | |
- java: 17 | |
RUNTIME_VERSION: 22.0.0.3 | |
name: ${{ matrix.RUNTIME }} ${{ matrix.RUNTIME_VERSION }}, Java ${{ matrix.java }}, Windows | |
steps: | |
# Checkout repos | |
- name: Checkout ci.maven | |
uses: actions/checkout@v2 | |
- name: Setup Java ${{ matrix.java }} | |
uses: actions/setup-java@v2 | |
with: | |
distribution: 'temurin' | |
java-version: ${{ matrix.java }} | |
cache: 'maven' | |
# Move and cloning to C: drive for Windows for more disk space | |
- name: Clone ci.ant, ci.common, ci.maven repos to C drive | |
run: | | |
cp -r D:/a/ci.maven/ci.maven C:/ci.maven | |
git clone https://github.com/OpenLiberty/ci.common.git C:/ci.common | |
git clone https://github.com/OpenLiberty/ci.ant.git C:/ci.ant | |
- name: Set up Maven | |
uses: stCarolas/[email protected] | |
with: | |
maven-version: 3.8.1 | |
- name: Cache maven packages | |
uses: actions/cache@v2 | |
with: | |
path: ~/.m2 | |
key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }} | |
restore-keys: ${{ runner.os }}-m2 | |
# Install dependencies | |
- name: Install ci.ant and ci.common | |
run: | | |
cd C:/ci.ant | |
mvn clean install | |
cd C:/ci.common | |
mvn clean install | |
# Run tests | |
- name: Run tests | |
working-directory: C:/ci.maven | |
run: mvn verify -Ponline-its -D"invoker.streamLogs"=true -Druntime=${{ matrix.RUNTIME }} -DruntimeVersion="${{ matrix.RUNTIME_VERSION }}" | |
# Additionally run dev-it if not Java 17 | |
# - name: Run dev-it tests | |
# working-directory: C:/ci.maven | |
# if: ${{ matrix.java != 17 }} | |
# run: mvn verify -Ponline-its -D"invoker.test"="dev-it" -Druntime=${{ matrix.RUNTIME }} -DruntimeVersion="${{ matrix.RUNTIME_VERSION }}" |