activemq-artemis/.github/workflows/build.yml

99 lines
3.1 KiB
YAML

name: "Build"
on: [push, pull_request, workflow_dispatch]
jobs:
test:
name: Test (${{ matrix.java }})
runs-on: ubuntu-18.04
strategy:
fail-fast: false
matrix:
java: [ 8, 11, 17 ]
steps:
- uses: actions/checkout@v2
- name: Cache Maven Local Repo
if: ${{ !startsWith(github.ref, 'refs/tags/') }}
uses: actions/cache@v2
with:
path: |
~/.m2/repository/*/*/*/*/*
!~/.m2/repository/org/apache/activemq/**/*-SNAPSHOT
!~/.m2/repository/org/apache/activemq/examples
!~/.m2/repository/org/apache/activemq/tests
key: ${{ runner.os }}-maven-test-${{ hashFiles('**/pom.xml') }}
restore-keys: |
${{ runner.os }}-maven-test-
- name: Install JDK ${{ matrix.java }}
uses: actions/setup-java@v2
with:
java-version: ${{ matrix.java }}
distribution: 'temurin'
# use 'install' so smoke-tests will work
# By setting anything to org.apache.activemq.artemis.core.io.aio.AIOSequentialFileFactory.DISABLED we are disabling libaio loading on the testsuite
- name: Fast Tests
run: |
mvn -s .github/maven-settings.xml -Dorg.apache.activemq.artemis.core.io.aio.AIOSequentialFileFactory.DISABLED=AnythingNotNull -Pfast-tests -Ptests-CI install
checks:
name: Checks (${{ matrix.java }})
runs-on: ubuntu-18.04
strategy:
fail-fast: false
matrix:
java: [ 8, 11, 17 ]
steps:
- uses: actions/checkout@v2
- name: Cache Maven Local Repo
if: ${{ !startsWith(github.ref, 'refs/tags/') }}
uses: actions/cache@v2
with:
path: |
~/.m2/repository/*/*/*/*/*
!~/.m2/repository/org/apache/activemq/**/*-SNAPSHOT
!~/.m2/repository/org/apache/activemq/examples
!~/.m2/repository/org/apache/activemq/tests
key: ${{ runner.os }}-maven-checks-${{ hashFiles('**/pom.xml') }}
restore-keys: |
${{ runner.os }}-maven-checks-
${{ runner.os }}-maven-test-
- name: Install JDK ${{ matrix.java }}
uses: actions/setup-java@v2
with:
java-version: ${{ matrix.java }}
distribution: 'temurin'
- name: Build Main
run: |
mvn -s .github/maven-settings.xml -DskipTests -Derrorprone -Pdev -Pextra-tests -Pjmh install
- name: Build Examples (JDK8 / -Prelease)
if: matrix.java == '8'
run: |
cd examples
mvn -s ../.github/maven-settings.xml verify -Prelease
- name: Build Examples (JDK 11+ / -Pexamples,noRun)
if: matrix.java != '8'
run: |
cd examples
mvn -s ../.github/maven-settings.xml verify -Pexamples,noRun
- name: Javadoc Check (JDK8 / -Prelease)
if: matrix.java == '8'
run: |
mvn -s .github/maven-settings.xml javadoc:javadoc -Prelease
- name: Javadoc Check (JDK 11+)
if: matrix.java != '8'
run: |
mvn -s .github/maven-settings.xml javadoc:javadoc