Conditionally run Quarkus tests (#29157)
Closes #29118 Signed-off-by: Václav Muzikář <vmuzikar@redhat.com>
This commit is contained in:
parent
d2c5fc86a9
commit
11a35e708e
3 changed files with 37 additions and 21 deletions
3
.github/actions/conditional/action.yml
vendored
3
.github/actions/conditional/action.yml
vendored
|
@ -10,6 +10,9 @@ outputs:
|
|||
ci:
|
||||
description: Should "ci.yml" execute
|
||||
value: ${{ steps.changes.outputs.ci }}
|
||||
ci-quarkus:
|
||||
description: Should "ci.yml" execute
|
||||
value: ${{ steps.changes.outputs.ci-quarkus }}
|
||||
ci-store:
|
||||
description: Should "ci.yml" execute
|
||||
value: ${{ steps.changes.outputs.ci-store }}
|
||||
|
|
16
.github/actions/conditional/conditions
vendored
16
.github/actions/conditional/conditions
vendored
|
@ -2,27 +2,29 @@
|
|||
#
|
||||
# To test a pattern run '.github/actions/conditional/conditional.sh <remote name> <branch>'
|
||||
|
||||
.github/actions/ ci ci-store ci-sssd operator js codeql-java codeql-themes guides documentation
|
||||
.github/scripts/ ci ci-sssd
|
||||
.github/actions/ ci ci-quarkus ci-store ci-sssd operator js codeql-java codeql-themes guides documentation
|
||||
.github/scripts/ ci ci-quarkus ci-sssd
|
||||
.github/scripts/ansible/ ci-store
|
||||
.github/scripts/aws/ ci-store
|
||||
|
||||
.github/workflows/ci.yml ci ci-store ci-sssd
|
||||
.github/workflows/ci.yml ci ci-quarkus ci-store ci-sssd
|
||||
.github/workflows/operator-ci.yml operator
|
||||
.github/workflows/js-ci.yml js
|
||||
.github/workflows/codeql-analysis.yml codeql-java codeql-themes
|
||||
.github/workflows/guides.yml guides
|
||||
.github/workflows/documentation.yml documentation
|
||||
|
||||
.mvn/ ci ci-store ci-sssd operator js codeql-java codeql-themes guides documentation
|
||||
mvnw ci ci-store ci-sssd operator js codeql-java codeql-themes guides documentation
|
||||
mvnw.cmd ci ci-store ci-sssd operator js codeql-java codeql-themes guides documentation
|
||||
.mvn/ ci ci-quarkus ci-store ci-sssd operator js codeql-java codeql-themes guides documentation
|
||||
mvnw ci ci-quarkus ci-store ci-sssd operator js codeql-java codeql-themes guides documentation
|
||||
mvnw.cmd ci ci-quarkus ci-store ci-sssd operator js codeql-java codeql-themes guides documentation
|
||||
|
||||
*/src/main/ ci operator
|
||||
*/src/test/ ci operator
|
||||
pom.xml ci ci-store operator
|
||||
pom.xml ci ci-quarkus ci-store operator
|
||||
federation/sssd/ ci ci-sssd
|
||||
|
||||
quarkus/ ci-quarkus guides
|
||||
|
||||
model/ ci-store
|
||||
operator/ operator
|
||||
|
||||
|
|
39
.github/workflows/ci.yml
vendored
39
.github/workflows/ci.yml
vendored
|
@ -29,6 +29,7 @@ jobs:
|
|||
runs-on: ubuntu-latest
|
||||
outputs:
|
||||
ci: ${{ steps.conditional.outputs.ci }}
|
||||
ci-quarkus: ${{ steps.conditional.outputs.ci-quarkus }}
|
||||
ci-store: ${{ steps.conditional.outputs.ci-store }}
|
||||
ci-sssd: ${{ steps.conditional.outputs.ci-sssd }}
|
||||
ci-store-matrix: ${{ steps.conditional-stores.outputs.matrix }}
|
||||
|
@ -174,7 +175,8 @@ jobs:
|
|||
|
||||
quarkus-unit-tests:
|
||||
name: Quarkus UT
|
||||
needs: build
|
||||
needs: [build, conditional]
|
||||
if: needs.conditional.outputs.ci-quarkus == 'true'
|
||||
timeout-minutes: 15
|
||||
strategy:
|
||||
matrix:
|
||||
|
@ -204,21 +206,28 @@ jobs:
|
|||
|
||||
quarkus-integration-tests:
|
||||
name: Quarkus IT
|
||||
needs: build
|
||||
needs: [build, conditional]
|
||||
timeout-minutes: 115
|
||||
strategy:
|
||||
matrix:
|
||||
os: [ubuntu-latest, windows-latest]
|
||||
server: [sanity-check-zip, zip, container, storage]
|
||||
os: [ubuntu-latest]
|
||||
suite: [zip, container, storage, smoke]
|
||||
full-testsuite:
|
||||
- ${{ needs.conditional.outputs.ci-quarkus == 'true' }}
|
||||
# Win runs always as includes are evaluated after excludes
|
||||
include:
|
||||
- os: windows-latest
|
||||
suite: win
|
||||
# Either run smoke tests, or full testsuite
|
||||
exclude:
|
||||
- os: windows-latest
|
||||
server: zip
|
||||
- os: windows-latest
|
||||
server: container
|
||||
- os: windows-latest
|
||||
server: storage
|
||||
- os: ubuntu-latest
|
||||
server: sanity-check-zip
|
||||
- full-testsuite: false
|
||||
suite: zip
|
||||
- full-testsuite: false
|
||||
suite: container
|
||||
- full-testsuite: false
|
||||
suite: storage
|
||||
- full-testsuite: true
|
||||
suite: smoke
|
||||
fail-fast: false
|
||||
runs-on: ${{ matrix.os }}
|
||||
env:
|
||||
|
@ -231,16 +240,18 @@ jobs:
|
|||
uses: ./.github/actions/unit-test-setup
|
||||
|
||||
# Not sure why, but needs to re-build otherwise there's some failures starting up
|
||||
# Smoke tests should cover scenarios that could be broken by changes in other modules that quarkus
|
||||
- name: Run Quarkus integration Tests
|
||||
run: |
|
||||
declare -A PARAMS
|
||||
PARAMS["sanity-check-zip"]="-Dtest=StartCommandDistTest,StartDevCommandDistTest,BuildAndStartDistTest,ImportAtStartupDistTest"
|
||||
PARAMS["win"]="-Dtest=StartCommandDistTest,StartDevCommandDistTest,BuildAndStartDistTest,ImportAtStartupDistTest"
|
||||
PARAMS["zip"]=""
|
||||
PARAMS["container"]="-Dkc.quarkus.tests.dist=docker"
|
||||
PARAMS["storage"]="-Ptest-database -Dtest=PostgreSQLDistTest,MariaDBDistTest#testSuccessful,MySQLDistTest#testSuccessful,DatabaseOptionsDistTest,JPAStoreDistTest,HotRodStoreDistTest,MixedStoreDistTest,TransactionConfigurationDistTest,ExternalInfinispanTest"
|
||||
PARAMS["smoke"]="-Dtest=ClusterConfigDistTest,CustomJpaEntityProviderDistTest,ExportDistTest,FeaturesDistTest,ImportAtStartupDistTest,ImportDistTest,JaxRsDistTest,TruststoreDistTest"
|
||||
|
||||
./mvnw install -pl quarkus/tests/integration -am -DskipTests
|
||||
./mvnw test -pl quarkus/tests/integration ${PARAMS["${{ matrix.server }}"]} 2>&1 | misc/log/trimmer.sh
|
||||
./mvnw test -pl quarkus/tests/integration ${PARAMS["${{ matrix.suite }}"]} 2>&1 | misc/log/trimmer.sh
|
||||
|
||||
- name: Upload JVM Heapdumps
|
||||
if: always()
|
||||
|
|
Loading…
Reference in a new issue