JBIDE-28870: Update build_test.yml #140
Workflow file for this run
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
name: Build and Test | |
on: | |
pull_request: | |
branches: [main] | |
jobs: | |
test: | |
runs-on: ${{ matrix.os }} # compiles and test on various OS | |
strategy: | |
matrix: | |
os: [ ubuntu-latest, macos-latest, windows-latest ] | |
java: [ 17, 18, 19, 20 ] #21 not released yet on temurin | |
fail-fast: false | |
steps: | |
- name: Checkout PR branch | |
uses: actions/checkout@v3 | |
with: | |
ref: ${{ github.event.pull_request.head.sha }} | |
fetch-depth: 0 | |
# Checkout global JBT settings.xml | |
- name: Checkout JBoss Tools Build CI | |
uses: actions/checkout@v3 | |
with: | |
repository: jbosstools/jbosstools-build-ci | |
path: build-ci | |
# Java JDK used for maven build | |
- name: Setup Java ${{ matrix.java }} | |
uses: actions/setup-java@v3 | |
with: | |
java-version: ${{ matrix.java }} | |
distribution: 'temurin' | |
cache: 'maven' | |
# Install Maven 3.9 | |
- name: Set up Maven | |
uses: stCarolas/setup-maven@07fbbe97d97ef44336b7382563d66743297e442f #v4.5 | |
with: | |
maven-version: 3.9.4 | |
# Try to find and apply jbosstools cache | |
- name: Cache local Maven repository for JBoss Tools components | |
uses: actions/cache@v3 | |
with: | |
path: ~/.m2/repository | |
key: jbosstools-${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} | |
restore-keys: | | |
jbosstools-${{ runner.os }}-maven- | |
# Build and compile using Maven | |
- name: Build/Compile and run unit tests (Linux) | |
run: xvfb-run -a mvn clean verify -U -fae -B --settings build-ci/maven-settings.xml -DskipITests=true -Dmaven.test.error.ignore=true -Dmaven.test.failure.ignore=true -ntp | |
if: ${{ matrix.os == 'ubuntu-latest' }} | |
- name: Build/Compile and run unit tests (Mac) | |
run: mvn clean verify -U -fae -B --settings build-ci/maven-settings.xml -DskipITests=true -Dmaven.test.error.ignore=true -Dmaven.test.failure.ignore=true -ntp | |
if: ${{ matrix.os == 'macos-latest' }} | |
# as below, do fail builds on errors | |
- name: Build/Compile and run unit tests (Windows) | |
run: mvn clean verify --% -U -fae -B --settings build-ci/maven-settings.xml -fae -DskipITests=true -ntp | |
if: ${{ matrix.os == 'windows-latest' }} | |
# Archive artifacts to be applied in Publish Reports workflow | |
- name: Archiving test artifacts | |
uses: actions/upload-artifact@v3 | |
if: ${{ matrix.os != 'windows-latest'}} # currently disabled because of https://github.com/actions/upload-artifact/issues/240, failing above if tests errors | |
with: | |
name: ${{ matrix.os }}-${{ matrix.java }}-test-reports | |
path: | | |
*tests/*/target/surefire-reports/ | |
*/*tests/*/target/surefire-reports/ | |
**/*.log |