Commit 250d7409 authored by Otto Kekäläinen's avatar Otto Kekäläinen
Browse files

Build for Stretch in gitlab-ci.yml

Also migrate to using dockerbuilder following upstream Salsa-CI changes.
parent 0c3eba82
...@@ -2,15 +2,15 @@ variables: ...@@ -2,15 +2,15 @@ variables:
DEBFULLNAME: "Salsa Pipeline" DEBFULLNAME: "Salsa Pipeline"
DEBEMAIL: "<salsa-pipeline@debian.org>" DEBEMAIL: "<salsa-pipeline@debian.org>"
DEBIAN_FRONTEND: noninteractive DEBIAN_FRONTEND: noninteractive
WORKING_DIR: ./debian/output WORKING_DIR: $CI_PROJECT_DIR/debian/output
DEB_BUILD_OPTIONS: "nocheck noautodbgsym" DEB_BUILD_OPTIONS: "nocheck noautodbgsym"
RELEASE: unstable RELEASE: stretch
stages: stages:
- build - build
- test - test
build package: .build: &build
stage: build stage: build
image: registry.salsa.debian.org/salsa-ci-team/images/gbp image: registry.salsa.debian.org/salsa-ci-team/images/gbp
services: services:
...@@ -19,13 +19,18 @@ build package: ...@@ -19,13 +19,18 @@ build package:
expire_in: 180 day expire_in: 180 day
name: "$CI_BUILD_NAME" name: "$CI_BUILD_NAME"
paths: paths:
- ${WORKING_DIR}/ - ${WORKING_DIR}/
script: script:
- gbp pull --ignore-branch --pristine-tar --track-missing - 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 - 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. - 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 # 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. # 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 # Removing 'breaks-testbed' stanza from tests/control will result in that the
...@@ -38,14 +43,21 @@ build package: ...@@ -38,14 +43,21 @@ build package:
# - apt-get update && apt-get install autopkgtest eatmydata -y --no-install-recommends # - apt-get update && apt-get install autopkgtest eatmydata -y --no-install-recommends
# - eatmydata autopkgtest ${WORKING_DIR}/*.deb -- null # - eatmydata autopkgtest ${WORKING_DIR}/*.deb -- null
run lintian: .run_lintian: &run_lintian
stage: test stage: test
image: registry.salsa.debian.org/salsa-ci-team/images/lintian image: registry.salsa.debian.org/salsa-ci-team/images/lintian:${RELEASE}
script: script:
- apt-get update - apt-get update
- apt-get install -y dpkg-dev - apt-get install -y dpkg-dev
- lintian -iI ${WORKING_DIR}/*.changes - 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 # 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. # and must be disabled until a quicker (times two) build is possible.
#run reprotest: #run reprotest:
...@@ -82,3 +94,32 @@ run lintian: ...@@ -82,3 +94,32 @@ run lintian:
# - piuparts --hard-link -e ${CHROOT_PATH} ${WORKING_DIR}/*.deb # - piuparts --hard-link -e ${CHROOT_PATH} ${WORKING_DIR}/*.deb
# tags: # tags:
# - privileged # - 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;"
# OK for legacy reasons
libmariadbclient18: symbols-file-contains-current-version-with-debian-revision on symbol THR_KEY_mysys@libmysqlclient_16 and 396 others
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment