Conditionally run Quarkus tests (#29157)

Closes #29118

Signed-off-by: Václav Muzikář <vmuzikar@redhat.com>
This commit is contained in:
Václav Muzikář 2024-05-07 15:26:59 +02:00 committed by GitHub
parent d2c5fc86a9
commit 11a35e708e
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 37 additions and 21 deletions

View file

@ -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 }}

View file

@ -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

View file

@ -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()