diff options
Diffstat (limited to '')
-rw-r--r-- | debian/salsa-ci.yml | 70 |
1 files changed, 55 insertions, 15 deletions
diff --git a/debian/salsa-ci.yml b/debian/salsa-ci.yml index f699166c..09788bc6 100644 --- a/debian/salsa-ci.yml +++ b/debian/salsa-ci.yml @@ -7,7 +7,11 @@ include: # Override Salsa-CI with MariaDB specific variations variables: BUILT_PACKAGES: "libmariadb-dev libmariadb-dev-compat libmariadb3 +<<<<<<< HEAD libmariadbd19 libmariadbd-dev mariadb-common mariadb-client-core +======= + mariadb-common mariadb-client-core +>>>>>>> a4925811 (Adding debian version 1:11.4.2-1.) mariadb-client mariadb-server-core mariadb-server mariadb-backup mariadb-plugin-connect mariadb-plugin-s3 mariadb-plugin-rocksdb mariadb-plugin-oqgraph mariadb-plugin-mroonga mariadb-plugin-spider @@ -98,6 +102,7 @@ packaging-fix-checks: except: variables: - $CI_COMMIT_TAG != null && $SALSA_CI_ENABLE_PIPELINE_ON_TAGS !~ /^(1|yes|true)$/ + allow_failure: true # 'debputy lint' is in active development and failures can be false # Buster only has libfmt 6.1 but 7.0 is required, so backport build for Buster # is not possible unless somebody packages libfmt7-dev for Buster. @@ -180,10 +185,15 @@ blhc: mysql --table -e "SHOW PLUGINS;" mysql .test-enable-sid-repos: &test-enable-sid-repos + - apt-get install -qq --yes --no-install-recommends ca-certificates curl + - curl -sS -O https://snapshot.debian.org/archive/debian/20240531T083821Z/pool/main/g/glibc/libc6_2.38-11_amd64.deb # Replace any old repos with just Sid - echo 'deb http://deb.debian.org/debian sid main' > /etc/apt/sources.list # Upgrade minimal stack first - apt-get update -qq + - apt-get -qq install --no-install-recommends --yes ./libc6_2.38-11_amd64.deb || export APT_STATUS="failed" + # Ensure upgrades past 2.38-11 are blocked so + - apt-mark hold libc6 # Complete upgrade of minimal stack - apt-get install -qq --yes apt || export APT_STATUS="failed" # Due to https://bugs.debian.org/993755 and #975077 upgrades from Buster or @@ -239,9 +249,13 @@ blhc: .test-install-all-libs: &test-install-all-libs - *test-enable-artifacts-repo - - apt-get install -yq --no-install-recommends libmariadb-dev-compat libmariadbd-dev + - apt-get install -yq --no-install-recommends libmariadb-dev-compat # Installs 31 packages, including: +<<<<<<< HEAD # libmariadb3 libmariadb-dev libmariadb-dev-compat libmariadbd19 libmariadbd-dev +======= + # libmariadb3 libmariadb-dev libmariadb-dev-compat +>>>>>>> a4925811 (Adding debian version 1:11.4.2-1.) .test-full-upgrade-libs: &test-full-upgrade-libs - *test-enable-artifacts-repo @@ -250,7 +264,7 @@ blhc: # library tests don't have the mariadb client nor server, so don't check them .test-verify-final: &test-verify-final | - dpkg -l | grep -e "mariadb-server.*10\.11" + dpkg -l | grep -e "mariadb-server.*11\.4" mkdir -p debug # Ensure dir exists before using it find /var/lib/mysql -ls > debug/var-lib-mysql.list || true # Ignore errors about "no such file or directory" cp -ra /etc/mysql debug/etc-mysql @@ -297,7 +311,7 @@ blhc: return 0; } EOF - apt-get install -qq --yes ./*.deb # Server must be installed for client to connect + apt-get install -q --yes ./*.deb # Server must be installed for client to connect echo "Testing -l mysqlclient" g++ b933063.cpp -l mysqlclient && ./a.out | tee result if grep --quiet latin result; then echo "ERROR: Charset latin found!"; exit 1; fi @@ -326,17 +340,16 @@ blhc: { MYSQL h; // Constants refer to server version - test_if_starts_with("1011", to_string(MARIADB_VERSION_ID), "MARIADB_VERSION_ID"); - test_if_starts_with("1011", to_string(MYSQL_VERSION_ID), "MYSQL_VERSION_ID"); + test_if_starts_with("1104", to_string(MARIADB_VERSION_ID), "MARIADB_VERSION_ID"); + test_if_starts_with("1104", to_string(MYSQL_VERSION_ID), "MYSQL_VERSION_ID"); // Client ABI returns connector version - test_if_starts_with("303", to_string(mysql_get_client_version()), "mysql_get_client_version()"); - test_if_starts_with("3.3", mysql_get_client_info(), "mysql_get_client_info()"); + test_if_starts_with("304", to_string(mysql_get_client_version()), "mysql_get_client_version()"); + test_if_starts_with("3.4", mysql_get_client_info(), "mysql_get_client_info()"); return 0; } EOF g++ b1031863.cpp -l mysqlclient && ./a.out - .salsa-ci-template-for-mariadb: stage: test needs: @@ -638,7 +651,7 @@ test basic features: password=asdf234 protocol=tcp EOF - export CERT_PATH=/usr/share/mysql/mysql-test/std_data + export CERT_PATH=/usr/share/mariadb/mariadb-test/std_data openssl verify -CAfile $CERT_PATH/cacert.pem $CERT_PATH/server-cert.pem openssl x509 -subject -issuer -noout -in $CERT_PATH/cacert.pem openssl x509 -subject -issuer -noout -in $CERT_PATH/server-cert.pem @@ -709,11 +722,15 @@ libmysql* to libmariadb* upgrade: - apt-get install -qq --yes libmariadb-dev-compat - pkg-config --cflags mysqlclient # mysqlclient.pc from compat package - pkg-config --list-all +<<<<<<< HEAD - apt-get install -qq --yes libmariadbd19 - pkg-config --list-all - apt-get install -qq --yes libmariadbd-dev - pkg-config --list-all - apt-get install -qq --yes default-libmysqlclient-dev default-libmysqld-dev +======= + - apt-get install -qq --yes default-libmysqlclient-dev +>>>>>>> a4925811 (Adding debian version 1:11.4.2-1.) - *test-verify-libs default-libmysqlclient-dev upgrade: @@ -721,7 +738,7 @@ default-libmysqlclient-dev upgrade: stage: upgrade MariaDB script: - *test-prepare-container - - apt-get install -qq --yes pkg-config default-libmysqlclient-dev default-libmysqld-dev + - apt-get install -qq --yes pkg-config default-libmysqlclient-dev - pkg-config --list-all - *test-full-upgrade-libs - *test-verify-libs @@ -735,6 +752,8 @@ default-libmysqlclient-dev and Bookworm upgrade: - apt-get install -qq --yes pkg-config default-libmysqlclient-dev - pkg-config --list-all - *test-enable-sid-repos + # Must be reinstalled as libc6 upgrade removes them: + - apt-get install -qq --yes pkg-config default-libmysqlclient-dev - *test-full-upgrade-libs - *test-verify-libs @@ -747,6 +766,14 @@ default-libmysqlclient-dev and Bullseye upgrade: - apt-get install -qq --yes pkg-config default-libmysqlclient-dev - pkg-config --list-all - *test-enable-sid-repos + # Don't use latest libc6-dev as trying to install it errors on: + # The current installation does not have a merged-/usr layout. + # This is unsupported and unpacking libc6 would break the system. + - curl -sS -O https://snapshot.debian.org/archive/debian/20240531T083821Z/pool/main/g/glibc/libc6-dev_2.38-11_amd64.deb + - curl -sS -O https://snapshot.debian.org/archive/debian/20240531T083821Z/pool/main/g/glibc/libc-dev-bin_2.38-11_amd64.deb + - apt-get -qq install --no-install-recommends --yes --allow-downgrades ./libc6-dev_2.38-11_amd64.deb ./libc-dev-bin_2.38-11_amd64.deb + # Must be reinstalled as libc6 upgrade removes them: + - apt-get install -qq --yes pkg-config default-libmysqlclient-dev # Due to usrmerge, full-upgrade from Bullseye to Trixie or newer cannot work - *test-install-all-libs - *test-verify-libs @@ -840,23 +867,36 @@ mysql-community-cluster-8.0 from MySQL.com with Bookworm upgrade: - sleep 5 # Give the mysql_upgrade a bit of time to complete before querying the server - *test-verify-final -mariadb.org-10.11 upgrade: +mariadb.org-11.4 upgrade: extends: .salsa-ci-template-for-mariadb-upgrade stage: upgrade MariaDB variant variables: - MARIADB_VERSION: "10.11" + MARIADB_VERSION: "11.4" script: - apt-get install -qq --yes mariadb-server - *test-verify-initial # Install MariaDB built in this commit - # Force downgrades so our version installs on top of upstream revision, e.g. 1:11.10.1-1 vs 1:11.10.1+mariadb~sid - - apt-get install -qq --yes --allow-downgrades ./*.deb + # Force downgrades so our version installs on top of upstream revision, e.g. 1:11.4.2-1 vs 1:11.4.2+mariadb~debsid + - apt-get install -q --yes --allow-downgrades ./*.deb # Verify installation of MariaDB built in this commit - dpkg -l | grep -iE 'maria|mysql|galera' || true # List installed - mariadb --version # Client version - service mariadb status # There is no init.d/mysql in MariaDB 10.5+ - *test-verify-final +mariadb.org-10.11 upgrade: + extends: .salsa-ci-template-for-mariadb-upgrade + stage: upgrade MariaDB variant + variables: + MARIADB_VERSION: "10.11" + script: + # this should not use Sid to begin with + - apt-get install -qq --yes mariadb-server=1:10.11.8+maria~debsid mariadb-client=1:10.11.8+maria~debsid + - *test-verify-initial + - *test-full-upgrade + - service mariadb status # There is no init.d/mysql in MariaDB 10.5+ + - *test-verify-final + mariadb.org-10.10 upgrade: extends: .salsa-ci-template-for-mariadb-upgrade stage: upgrade MariaDB variant @@ -915,7 +955,7 @@ mariadb.org-10.6 upgrade: script: # Package libmariadbclient-dev from mariadb.org conflicts with libmariadb-dev in Sid, so cannot use wildcard that would include it # Enable this line when there is a way to install them only from the mariadb.org repo - # - apt-get install -qq --yes 'mariadb*' libmariadb3 'libmariadb-*' 'libmariadbd*' + # - apt-get install -qq --yes 'mariadb*' libmariadb3 'libmariadb-*' - apt-get install -qq --yes mariadb-server-10.6 - *test-verify-initial - *test-install-all |