Use a different blocklist for fedora/ubuntu qt6 builds

This commit is contained in:
Nyall Dawson 2025-08-25 07:49:17 +10:00
parent 4d207b8871
commit cfb80176e5
4 changed files with 65 additions and 12 deletions

View File

@ -0,0 +1,18 @@
# block list
test_gui_queryresultwidget
# code layout tests are run on separate build
qgis_spelling
qgis_sipify
qgis_sip_include
qgis_sip_uptodate
# Need a local postgres installation
PyQgsAuthManagerOgrPostgresTest
PyQgsDbManagerPostgis
# Needs an OpenCL device, the library is not enough
test_core_openclutils
# Relies on a broken/unreliable 3rd party service
test_core_layerdefinition

View File

@ -10,7 +10,7 @@ cd ${SRCDIR}
git config --global --add safe.directory ${SRCDIR}
usage() {
echo "Usage; $(basename $0) [<TEST_BATCHNAME>]"
echo "Usage; $(basename $0) [<TEST_BATCHNAME>] [<TEST_BLOCKLIST_FILE>]"
echo "TEST_BATCHNAME can be any of:"
echo " HANA Test the HANA provider"
echo " POSTGRES Test the PostgreSQL provider"
@ -20,23 +20,23 @@ usage() {
echo " ALL (default) Run all tests"
}
if [ $# -eq 1 ] && [ $1 = "HANA" ]; then
if [ $# -ge 1 ] && [ $1 = "HANA" ]; then
LABELS_TO_RUN="HANA"
RUN_HANA=YES
elif [ $# -eq 1 ] && [ $1 = "POSTGRES" ]; then
elif [ $# -ge 1 ] && [ $1 = "POSTGRES" ]; then
LABELS_TO_RUN="POSTGRES"
RUN_POSTGRES=YES
elif [ $# -eq 1 ] && [ $1 = "ORACLE" ]; then
elif [ $# -ge 1 ] && [ $1 = "ORACLE" ]; then
LABELS_TO_RUN="ORACLE"
RUN_ORACLE=YES
elif [ $# -eq 1 ] && [ $1 = "SQLSERVER" ]; then
elif [ $# -ge 1 ] && [ $1 = "SQLSERVER" ]; then
LABELS_TO_RUN="SQLSERVER"
RUN_SQLSERVER=YES
elif [ $# -eq 1 ] && [ $1 = "ALL_BUT_PROVIDERS" ]; then
elif [ $# -ge 1 ] && [ $1 = "ALL_BUT_PROVIDERS" ]; then
LABELS_TO_EXCLUDE="HANA|POSTGRES|ORACLE|SQLSERVER"
elif [ $# -gt 0 ] && [ $1 != "ALL" ]; then
@ -51,6 +51,10 @@ else
RUN_SQLSERVER=YES
fi
if [ $# -ge 2 ]; then
BLOCKLIST=${SRCDIR}/$2
fi
# Debug env
echo "::group::Print env"
env
@ -270,10 +274,15 @@ fi
###########
# Run tests
###########
EXCLUDE_TESTS="^$(cat ${SRCDIR}/.ci/test_blocklist_qt${QT_VERSION}.txt | sed -r '/^(#.*?)?$/d' | paste -sd '~' | sed -r 's/~/\$|^/g' -)\$"
if [[ -n ${BLOCKLIST} ]]; then
EXCLUDE_TESTS="^$(cat ${BLOCKLIST} | sed -r '/^(#.*?)?$/d' | paste -sd '~' | sed -r 's/~/\$|^/g' -)\$"
fi
if ! [[ ${RUN_FLAKY_TESTS} == true ]]; then
echo "Flaky tests are skipped!"
EXCLUDE_TESTS=${EXCLUDE_TESTS}"|^"$(cat ${SRCDIR}/.ci/test_flaky.txt | sed -r '/^(#.*?)?$/d' | paste -sd '~' | sed -r 's/~/\$|^/g' -)"$"
if [[ -n ${EXCLUDE_TESTS} ]]; then
EXCLUDE_TESTS=${EXCLUDE_TESTS}"|"
fi
EXCLUDE_TESTS=${EXCLUDE_TESTS}"^"$(cat ${SRCDIR}/.ci/test_flaky.txt | sed -r '/^(#.*?)?$/d' | paste -sd '~' | sed -r 's/~/\$|^/g' -)"$"
else
echo "Flaky tests are run!"
fi

View File

@ -90,7 +90,6 @@ jobs:
experimental: false
unity-builds: ON
fail-fast: false
outputs:
@ -263,17 +262,42 @@ jobs:
strategy:
matrix:
qt-version: [6]
test-batch: [ALL_BUT_PROVIDERS, POSTGRES, HANA, SQLSERVER]
include:
- qt-version: 6
distro-version: '24.10'
docker-target: binary-only
test-blocklist-file: .ci/test_blocklist_qt6_ubuntu.txt
test-batch: ALL_BUT_PROVIDERS
- qt-version: 6
distro-version: '39'
docker-target: binary-only
test-blocklist-file: .ci/test_blocklist_qt6_fedora.txt
test-batch: ALL_BUT_PROVIDERS
- qt-version: 6
distro-version: '24.10'
test-batch: POSTGRES
test-blocklist-file: .ci/test_blocklist_qt6_ubuntu.txt
docker-target: binary-only
- qt-version: 6
distro-version: '24.10'
test-batch: HANA
test-blocklist-file: .ci/test_blocklist_qt6_ubuntu.txt
docker-target: binary-only
- qt-version: 6
distro-version: '24.10'
test-batch: SQLSERVER
test-blocklist-file: .ci/test_blocklist_qt6_ubuntu.txt
docker-target: binary-only
- qt-version: 6
distro-version: '24.10'
test-batch: ORACLE
test-blocklist-file: .ci/test_blocklist_qt6_ubuntu.txt
docker-target: binary-for-oracle
fail-fast: false
@ -358,6 +382,7 @@ jobs:
TEST_BATCH: ${{matrix.test-batch}}
QGIS_COMMON_GIT_DIR: ${{ github.workspace }}
GITHUB_SHA: ${{ github.sha }}
TEST_BLOCKLIST_FILE: ${{matrix.test-blocklist-file}}
run: |
DOCKERFILE=$( ( [[ ${{ matrix.test-batch }} == "ORACLE" ]] && echo "docker-compose-testing-oracle.yml" ) \
|| ( [[ ${{ matrix.test-batch }} == "POSTGRES" ]] && echo "docker-compose-testing-postgres.yml" ) \
@ -366,9 +391,10 @@ jobs:
[[ ${{ matrix.test-batch }} == "ORACLE" ]] && sudo rm -rf /usr/share/dotnet/sdk
echo "TEST_BATCH=$TEST_BATCH"
echo "DOCKERFILE=$DOCKERFILE"
echo "TEST_BLOCKLIST_FILE=$TEST_BLOCKLIST_FILE"
mkdir -p /tmp/webdav_tests && chmod 777 /tmp/webdav_tests
mkdir -p /tmp/minio_tests/test-bucket && chmod -R 777 /tmp/minio_tests
docker compose -f .docker/$DOCKERFILE run -e GITHUB_SHA=$GITHUB_SHA qgis-deps /root/QGIS/.docker/docker-qgis-test.sh $TEST_BATCH
docker compose -f .docker/$DOCKERFILE run -e GITHUB_SHA=$GITHUB_SHA qgis-deps /root/QGIS/.docker/docker-qgis-test.sh $TEST_BATCH $TEST_BLOCKLIST_FILE
- name: Fix permissions on test report
if: ${{ failure() }}