Versionless feature updates and prep 3.11.0 release #254
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-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: [24.0.0.10] | |
java: [21, 17, 11, 8] | |
exclude: | |
- java: 8 | |
RUNTIME: wlp | |
- java: 11 | |
RUNTIME: ol | |
name: ${{ matrix.RUNTIME }} ${{ matrix.RUNTIME_VERSION }}, Java ${{ matrix.java }}, Linux | |
steps: | |
# Checkout repos | |
- name: Checkout ci.maven | |
uses: actions/checkout@v3 | |
- name: Setup Java ${{ matrix.java }} | |
uses: actions/setup-java@v3 | |
with: | |
distribution: 'temurin' | |
java-version: ${{ matrix.java }} | |
cache: 'maven' | |
- name: Free disk space ubuntu | |
uses: jlumbroso/free-disk-space@main | |
with: | |
tool-cache: false | |
large-packages: false | |
- name: Checkout ci.common | |
uses: actions/checkout@v3 | |
with: | |
repository: cherylking/ci.common | |
ref: changeMinVersionForVersionlessFeatures | |
path: ci.common | |
- name: Checkout ci.ant | |
uses: actions/checkout@v3 | |
with: | |
repository: OpenLiberty/ci.ant | |
path: ci.ant | |
- name: Set up Maven | |
uses: stCarolas/[email protected] | |
with: | |
maven-version: 3.9.2 | |
# Install dependencies | |
- name: Install ci.ant and ci.common | |
run: | | |
./mvnw -V clean install -f ci.ant --batch-mode --no-transfer-progress --errors -DtrimStackTrace=false -DskipTests | |
./mvnw -V clean install -f ci.common --batch-mode --no-transfer-progress --errors -DtrimStackTrace=false -DskipTests | |
# Run tests that require a minimum of Java 17 or later | |
- name: Run tests that require a minimum of Java 17 or later | |
if: ${{ matrix.java == '17' || matrix.java == '21'}} | |
run: ./mvnw -V verify --batch-mode --no-transfer-progress --errors -DtrimStackTrace=false -Ponline-its -D"invoker.streamLogsOnFailures"=true -D"invoker.test"="*setup*,*springboot-3-*,*compile-jsp-source-17-*" -Druntime=${{ matrix.RUNTIME }} -DruntimeVersion="${{ matrix.RUNTIME_VERSION }}" | |
# Run tests | |
- name: Run tests | |
run: ./mvnw -V verify --batch-mode --no-transfer-progress --errors -DtrimStackTrace=false -Ponline-its -D"invoker.streamLogsOnFailures"=true -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: [24.0.0.10] | |
java: [21, 17, 11, 8] | |
exclude: | |
- java: 8 | |
RUNTIME: ol | |
- java: 11 | |
RUNTIME: wlp | |
name: ${{ matrix.RUNTIME }} ${{ matrix.RUNTIME_VERSION }}, Java ${{ matrix.java }}, Windows | |
steps: | |
# Checkout repos | |
- name: Checkout ci.maven | |
uses: actions/checkout@v3 | |
- name: Setup Java ${{ matrix.java }} | |
uses: actions/setup-java@v3 | |
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/cherylking/ci.common.git --branch changeMinVersionForVersionlessFeatures --single-branch 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.9.2 | |
# Install ci.ant | |
- name: Install ci.ant | |
working-directory: C:/ci.ant | |
run: .\mvnw.cmd -V clean install --batch-mode --no-transfer-progress --errors -DtrimStackTrace=false -DskipTests | |
# Install ci.common | |
- name: Install ci.common | |
working-directory: C:/ci.common | |
run: .\mvnw.cmd -V clean install --batch-mode --no-transfer-progress --errors -DtrimStackTrace=false -DskipTests | |
# Run tests that require a minimum of Java 17 or later | |
- name: Run tests that require a minimum of Java 17 or later | |
if: ${{ matrix.java == '17' || matrix.java == '21'}} | |
run: .\mvnw.cmd -V verify -Ponline-its --batch-mode --no-transfer-progress --errors -DtrimStackTrace=false -D"invoker.streamLogsOnFailures"=true -D"invoker.test"="*setup*,*springboot-3-*,*compile-jsp-source-17-*" -Druntime=${{ matrix.RUNTIME }} -DruntimeVersion="${{ matrix.RUNTIME_VERSION }}" | |
# Run tests | |
- name: Run tests | |
working-directory: C:/ci.maven | |
run: .\mvnw.cmd -V verify -Ponline-its --batch-mode --no-transfer-progress --errors -DtrimStackTrace=false -D"invoker.streamLogsOnFailures"=true -Druntime=${{ matrix.RUNTIME }} -DruntimeVersion="${{ matrix.RUNTIME_VERSION }}" |