diff --git a/debian/gitlab-ci.yml b/debian/gitlab-ci.yml index 9150f20cbae2a838185e872dd76f56cf9725ecf6..b3218b24fbfb6db703231c660833db5cd6642ef6 100644 --- a/debian/gitlab-ci.yml +++ b/debian/gitlab-ci.yml @@ -2,15 +2,15 @@ variables: DEBFULLNAME: "Salsa Pipeline" DEBEMAIL: "" DEBIAN_FRONTEND: noninteractive - WORKING_DIR: ./debian/output + WORKING_DIR: $CI_PROJECT_DIR/debian/output DEB_BUILD_OPTIONS: "nocheck noautodbgsym" - RELEASE: unstable + RELEASE: stretch stages: - build - test -build package: +.build: &build stage: build image: registry.salsa.debian.org/salsa-ci-team/images/gbp services: @@ -19,13 +19,18 @@ build package: expire_in: 180 day name: "$CI_BUILD_NAME" paths: - - ${WORKING_DIR}/ + - ${WORKING_DIR}/ script: - gbp pull --ignore-branch --pristine-tar --track-missing - while true; do sleep 600; echo "10 minutes passed" >&2; done & # Progress keeper since build is long and silent - - gbp buildpackage --git-ignore-branch --git-export-dir=${WORKING_DIR} -us -uc --git-builder="docker-build.sh registry.salsa.debian.org/salsa-ci-team/images/base:${RELEASE}" | tail -n 10000 # Keep log under 4 MB + - gbp buildpackage --git-ignore-branch --git-export-dir=${WORKING_DIR} -us -uc --git-builder="docker-build.sh registry.salsa.debian.org/salsa-ci-team/images/dockerbuilder:${RELEASE}" | tail -n 10000 # Keep log under 4 MB - du -shc ${WORKING_DIR}/* # Show total file size of artifacts. Must stay are under 100 MB. +build package stretch: + <<: *build + variables: + RELEASE: stretch + # Autopkgtest must be disabled, because the test 'upstream' will be skipped and # thus the command returns exit code 2 and is considered failed by Gitlab CI. # Removing 'breaks-testbed' stanza from tests/control will result in that the @@ -38,14 +43,21 @@ build package: # - apt-get update && apt-get install autopkgtest eatmydata -y --no-install-recommends # - eatmydata autopkgtest ${WORKING_DIR}/*.deb -- null -run lintian: +.run_lintian: &run_lintian stage: test - image: registry.salsa.debian.org/salsa-ci-team/images/lintian + image: registry.salsa.debian.org/salsa-ci-team/images/lintian:${RELEASE} script: - apt-get update - apt-get install -y dpkg-dev - lintian -iI ${WORKING_DIR}/*.changes +run lintian stretch: + <<: *run_lintian + dependencies: + - build package stretch + variables: + RELEASE: stretch + # Reprotest exceeds the 2 hour timeout limit on Github CI, so results in failure # and must be disabled until a quicker (times two) build is possible. #run reprotest: @@ -82,3 +94,32 @@ run lintian: # - piuparts --hard-link -e ${CHROOT_PATH} ${WORKING_DIR}/*.deb # tags: # - privileged + +test upgrade stretch: + stage: test + dependencies: + - build package stretch + image: debian:stretch + artifacts: + when: always + name: "$CI_BUILD_NAME" + paths: + - ${WORKING_DIR}/debug + script: + - cd ${WORKING_DIR} # Don't repeat this step, it's just cd ./debian/output + - mkdir debug + - dpkg -l | grep -iE '"'"'maria|mysql|galera'"'"' || true + - apt-get update + - apt-get install -y mariadb-server-10.1 # Debian Stretch has this and other -10.1 packages + - service mysql status || true # Always proceed even if init failed + - service mysql restart || true + - mariadb --skip-column-names -e "select @@version, @@version_comment" + - apt-get install -y ./*.deb + - mariadb --version + - find /var/lib/mysql -ls > debug/var-lib-mysql.list + - cp -ra /etc/mysql debug/etc-mysql + - service mysql restart || true # Always proceed even if init failed + - service mysql status || true + - cp -ra /var/log/mysql debug/var-log-mysql + - mariadb --skip-column-names -e "select @@version, @@version_comment" + - mariadb -e "create database test; use test; create table t(a int primary key) engine=innodb; insert into t values (1); select * from t; drop table t; drop database test;" diff --git a/debian/libmariadbclient18.lintian-overrides b/debian/libmariadbclient18.lintian-overrides new file mode 100644 index 0000000000000000000000000000000000000000..ebb95c2c003ec0f3d8f4b0a38f3184ebd06864d9 --- /dev/null +++ b/debian/libmariadbclient18.lintian-overrides @@ -0,0 +1,2 @@ +# OK for legacy reasons +libmariadbclient18: symbols-file-contains-current-version-with-debian-revision on symbol THR_KEY_mysys@libmysqlclient_16 and 396 others