summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarsten Leonhardt <leo@debian.org>2020-08-30 15:44:27 +0200
committerCarsten Leonhardt <leo@debian.org>2020-08-30 15:44:27 +0200
commit40aa938173b254716347d5c36f7ed14d41993a4c (patch)
tree2b82eaa8781ac76f539a4a845ea8379adf8320a8
parent8b0cfce0bae559b9cc4589e1413ffccf68f8121c (diff)
Revert "Use same gitlab CI config as current master"debian/9.4.2-2+deb10u1
This reverts commit 57b90f50479ec8fc5813e333ad05bffa7f132c3f.
-rw-r--r--debian/.gitlab-ci.yml121
1 files changed, 115 insertions, 6 deletions
diff --git a/debian/.gitlab-ci.yml b/debian/.gitlab-ci.yml
index 0613e0b1..027db83d 100644
--- a/debian/.gitlab-ci.yml
+++ b/debian/.gitlab-ci.yml
@@ -1,10 +1,38 @@
-include:
- - https://salsa.debian.org/salsa-ci-team/pipeline/raw/master/salsa-ci.yml
- - https://salsa.debian.org/salsa-ci-team/pipeline/raw/master/pipeline-jobs.yml
-
variables:
- RELEASE: 'testing'
- REGISTRY_BASE_URL: "registry.salsa.debian.org/salsa-ci-team/images"
+ DEBFULLNAME: "Salsa Pipeline"
+ DEBEMAIL: "<salsa-pipeline@debian.org>"
+ DEBIAN_FRONTEND: noninteractive
+ WORKING_DIR: ${CI_PROJECT_DIR}/debian/output
+ REGISTRY_BASE_URL: "registry.salsa.debian.org/bacula-team/images"
+ RELEASE: 'unstable'
+
+stages:
+ - build
+ - test
+
+build full:
+ stage: build
+ image: ${REGISTRY_BASE_URL}/gbp
+ services:
+ - docker:dind
+ artifacts:
+ name: "$CI_JOB_NAME:$CI_COMMIT_REF_NAME"
+ paths:
+ - ${WORKING_DIR}/
+ cache:
+ paths:
+ - ${CCACHE_WORK_DIR}
+ variables:
+ CCACHE_TMP_DIR: ${CI_PROJECT_DIR}/../.ccache
+ CCACHE_WORK_DIR: ${WORKING_DIR}/.ccache
+ script:
+ - |
+ curl https://prittiau.debian.net/post -X POST --data "{\"project_id\":$CI_PROJECT_ID, \"pipeline_id\":$CI_PIPELINE_ID}" --header "Content-Type: application/json"
+ - mkdir -p ${CCACHE_WORK_DIR}
+ - mv ${CCACHE_WORK_DIR} ${CCACHE_TMP_DIR}
+ - gbp pull --ignore-branch --pristine-tar --track-missing
+ - gbp buildpackage --git-ignore-branch --git-export-dir=${WORKING_DIR} --git-builder="docker-build.sh ${REGISTRY_BASE_URL}/dockerbuilder:${RELEASE} --build=full"
+ - mv ${CCACHE_TMP_DIR} ${CCACHE_WORK_DIR}
build arch:
stage: build
@@ -46,6 +74,22 @@ build indep:
- gbp buildpackage --git-ignore-branch --git-export-dir=${WORKING_DIR} --git-builder="docker-build.sh ${REGISTRY_BASE_URL}/dockerbuilder:${RELEASE} --build=all"
- mv ${CCACHE_TMP_DIR} ${CCACHE_WORK_DIR}
+lintian:
+ stage: test
+ image: ${REGISTRY_BASE_URL}/lintian:${RELEASE}
+ variables:
+ GIT_STRATEGY: none
+ script:
+ - lintian -EIL +pedantic --no-tag-display-limit --profile debian/main ${WORKING_DIR}/*.changes
+
+build log scanner:
+ stage: test
+ image: ${REGISTRY_BASE_URL}/blhc
+ variables:
+ GIT_STRATEGY: none
+ script:
+ - blhc --debian --line-numbers --color ${WORKING_DIR}/*.build
+
autopkgtest sqlite3:
stage: test
image: ${REGISTRY_BASE_URL}/autopkgtest:${RELEASE}
@@ -64,3 +108,68 @@ autopkgtest pgsql:
script:
- eatmydata autopkgtest --override-control=debian/tests/control-pgsql -U ${WORKING_DIR}/*.changes -- null || [ $? -eq 8 ]
+reprotest:
+ stage: test
+ image: ${REGISTRY_BASE_URL}/reprotest
+ artifacts:
+ name: "$CI_JOB_NAME:$CI_COMMIT_REF_NAME"
+ paths:
+ - ./reprotest.log
+ when: always
+ script:
+ - apt-get update
+ - eatmydata apt-get build-dep -y .
+ - export DEB_BUILD_OPTIONS=nocheck
+ - eatmydata reprotest --min-cpus $(nproc --all) . -- null |& tee "${CI_PROJECT_DIR}/reprotest.log"
+
+piuparts sqlite3:
+ stage: test
+ image: ${REGISTRY_BASE_URL}/piuparts
+ variables:
+ GIT_STRATEGY: none
+ services:
+ - docker:dind
+ script:
+ - CHROOT_PATH=/tmp/debian-chroot
+ - CONTAINER_ID=$(docker run --rm -d debian:${RELEASE} sleep infinity)
+ - docker exec ${CONTAINER_ID} bash -c "apt-get update && apt-get install eatmydata -y"
+ - mkdir -p ${CHROOT_PATH}
+ - docker export ${CONTAINER_ID} | tar -C ${CHROOT_PATH} -xf -
+ - mknod -m 666 ${CHROOT_PATH}/dev/urandom c 1 9
+ - TESTDEBS=$(ls ${WORKING_DIR}/*.deb | egrep -v "pgsql|mysql")
+ - piuparts --keep-sources-list --scriptsdir /etc/piuparts/scripts --allow-database --warn-on-leftovers-after-purge -d ${RELEASE} --distupgrade-to-testdebs --hard-link -e ${CHROOT_PATH} ${TESTDEBS}
+
+piuparts mysql:
+ stage: test
+ image: ${REGISTRY_BASE_URL}/piuparts
+ variables:
+ GIT_STRATEGY: none
+ services:
+ - docker:dind
+ script:
+ - CHROOT_PATH=/tmp/debian-chroot
+ - CONTAINER_ID=$(docker run --rm -d debian:${RELEASE} sleep infinity)
+ - docker exec ${CONTAINER_ID} bash -c "apt-get update && apt-get install eatmydata -y"
+ - mkdir -p ${CHROOT_PATH}
+ - docker export ${CONTAINER_ID} | tar -C ${CHROOT_PATH} -xf -
+ - mknod -m 666 ${CHROOT_PATH}/dev/urandom c 1 9
+ - TESTDEBS=$(ls ${WORKING_DIR}/*.deb | egrep -v "pgsql|sqlite3")
+ - piuparts --keep-sources-list --scriptsdir /etc/piuparts/scripts --allow-database --warn-on-leftovers-after-purge -d ${RELEASE} --distupgrade-to-testdebs --hard-link -e ${CHROOT_PATH} ${TESTDEBS}
+
+piuparts pgsql:
+ stage: test
+ image: ${REGISTRY_BASE_URL}/piuparts
+ variables:
+ GIT_STRATEGY: none
+ services:
+ - docker:dind
+ script:
+ - CHROOT_PATH=/tmp/debian-chroot
+ - CONTAINER_ID=$(docker run --rm -d debian:${RELEASE} sleep infinity)
+ - docker exec ${CONTAINER_ID} bash -c "apt-get update && apt-get install eatmydata -y"
+ - mkdir -p ${CHROOT_PATH}
+ - docker export ${CONTAINER_ID} | tar -C ${CHROOT_PATH} -xf -
+ - mknod -m 666 ${CHROOT_PATH}/dev/urandom c 1 9
+ - TESTDEBS=$(ls ${WORKING_DIR}/*.deb | egrep -v "mysql|sqlite3")
+ - piuparts --keep-sources-list --scriptsdir /etc/piuparts/scripts --allow-database --warn-on-leftovers-after-purge -d ${RELEASE} --distupgrade-to-testdebs --hard-link -e ${CHROOT_PATH} ${TESTDEBS}
+