NO-JIRA: split various checks out to their own sub jobs on GHA
- Ensures tests start and complete as fast as possible, speeding things up overall. - Makes the checks happen earlier, and doesnt prevent the tests running if they fail, and vice versa. Also tweaks build and cache config to avoid caching unintended build output as it has been.
This commit is contained in:
parent
5a1449d812
commit
20e66a2063
|
@ -3,7 +3,8 @@ name: "Build"
|
|||
on: [push, pull_request, workflow_dispatch]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
test:
|
||||
name: Test (${{ matrix.java }})
|
||||
runs-on: ubuntu-18.04
|
||||
strategy:
|
||||
fail-fast: false
|
||||
|
@ -17,9 +18,11 @@ jobs:
|
|||
path: |
|
||||
~/.m2/repository
|
||||
!~/.m2/repository/org/apache/activemq/artemis-*
|
||||
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
|
||||
!~/.m2/repository/org/apache/activemq/*-artemis
|
||||
!~/.m2/repository/org/apache/activemq/examples
|
||||
key: ${{ runner.os }}-maven-test-${{ hashFiles('**/pom.xml') }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-maven-
|
||||
${{ runner.os }}-maven-test-
|
||||
|
||||
- name: Install JDK ${{ matrix.java }}
|
||||
uses: actions/setup-java@v2
|
||||
|
@ -28,23 +31,55 @@ jobs:
|
|||
distribution: 'adopt'
|
||||
|
||||
# use 'install' so smoke-tests will work
|
||||
# use '-Pextra-tests' to ensure extra-tests compiles even though they won't actually run
|
||||
# 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, 16 ]
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/cache@v2
|
||||
with:
|
||||
path: |
|
||||
~/.m2/repository
|
||||
!~/.m2/repository/org/apache/activemq/artemis-*
|
||||
!~/.m2/repository/org/apache/activemq/*-artemis
|
||||
!~/.m2/repository/org/apache/activemq/examples
|
||||
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: 'adopt'
|
||||
|
||||
- name: Build Main
|
||||
run: |
|
||||
mvn -s .github/maven-settings.xml -Dorg.apache.activemq.artemis.core.io.aio.AIOSequentialFileFactory.DISABLED=AnythingNotNull -Derrorprone -Pdev -Pfast-tests -Pextra-tests -Ptests-CI -Pjmh install
|
||||
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 install -Prelease
|
||||
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 install -Pexamples,noRun
|
||||
mvn -s ../.github/maven-settings.xml verify -Pexamples,noRun
|
||||
|
||||
- name: Javadoc Check (JDK8 / -Prelease)
|
||||
if: matrix.java == '8'
|
||||
|
|
Loading…
Reference in New Issue