name: "Build" on: [push, pull_request, workflow_dispatch] jobs: test: name: Test (${{ matrix.java }}) runs-on: ubuntu-20.04 strategy: fail-fast: false matrix: java: [ 11, 17, 19 ] steps: - uses: actions/checkout@v3 - name: Cache Maven Local Repo if: ${{ !startsWith(github.ref, 'refs/tags/') }} uses: actions/cache@v3 with: path: | ~/.m2/repository/ key: ${{ runner.os }}-mvn-${{ hashFiles('**/pom.xml') }} restore-keys: | ${{ runner.os }}-mvn- - name: Install JDK ${{ matrix.java }} uses: actions/setup-java@v3 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 install - name: Clean Up Before Caching run: | rm -rf ~/.m2/repository/org/apache/activemq/tests rm -rf ~/.m2/repository/org/apache/activemq/examples if [ -d ~/.m2/repository/org/apache/activemq ]; then find ~/.m2/repository/org/apache/activemq -name "*-SNAPSHOT" -type d -prune -exec rm -r '{}' \; ; fi checks: name: Checks (${{ matrix.java }}) runs-on: ubuntu-20.04 strategy: fail-fast: false matrix: java: [ 11, 17, 19 ] steps: - uses: actions/checkout@v3 - name: Cache Maven Local Repo if: ${{ !startsWith(github.ref, 'refs/tags/') }} uses: actions/cache@v3 with: path: | ~/.m2/repository/ key: ${{ runner.os }}-mvn-${{ hashFiles('**/pom.xml') }} restore-keys: | ${{ runner.os }}-mvn- - name: Install JDK ${{ matrix.java }} uses: actions/setup-java@v3 with: java-version: ${{ matrix.java }} distribution: 'temurin' - name: Build Main run: | mvn -s .github/maven-settings.xml -DskipTests -Derrorprone -Pdev -Pjmh install - name: Build Examples (JDK11 / -Prelease) if: matrix.java == '11' run: | cd examples mvn -s ../.github/maven-settings.xml install -Prelease - name: Build Examples (JDK >11 / -Pexamples,noRun) if: matrix.java != '11' run: | cd examples mvn -s ../.github/maven-settings.xml install -Pexamples,noRun - name: Javadoc Check (JDK11 / -Prelease) if: matrix.java == '11' run: | mvn -s .github/maven-settings.xml javadoc:javadoc -Prelease -DskipWebsiteDocGeneration=true -DskipWebsiteJavadocGeneration=true - name: Javadoc Check (JDK >11) if: matrix.java != '11' run: | mvn -s .github/maven-settings.xml javadoc:javadoc - name: Website Content Check (JDK11 only / -Prelease) if: matrix.java == '11' run: | mvn -s .github/maven-settings.xml clean install -DskipTests -Prelease -am -pl "artemis-website" - name: Clean Up Before Caching run: | rm -rf ~/.m2/repository/org/apache/activemq/tests rm -rf ~/.m2/repository/org/apache/activemq/examples if [ -d ~/.m2/repository/org/apache/activemq ]; then find ~/.m2/repository/org/apache/activemq -name "*-SNAPSHOT" -type d -prune -exec rm -r '{}' \; ; fi