summaryrefslogtreecommitdiff
path: root/.gitlab-ci.yml
diff options
context:
space:
mode:
authorJochen Sprickerhof <git@jochen.sprickerhof.de>2022-12-22 08:42:57 +0100
committerJochen Sprickerhof <git@jochen.sprickerhof.de>2022-12-22 11:53:09 +0100
commit92f183a21ed6eca781bd337b082d584fbbc86528 (patch)
tree1d6eb85897970f566b0153517129eef4a2c674a0 /.gitlab-ci.yml
parent4aae40776a1cde3c1fc37fc8d26fd9a3c841cef9 (diff)
downloaddebvm-92f183a21ed6eca781bd337b082d584fbbc86528.tar.gz
Test different architectures
Diffstat (limited to '.gitlab-ci.yml')
-rw-r--r--.gitlab-ci.yml62
1 files changed, 44 insertions, 18 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 3b699fc..af85d5c 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -16,36 +16,62 @@ codespell:
- apt-get --no-install-recommends --yes install codespell
- codespell debvm-*
-simpletest:
- stage: test
- parallel:
- matrix:
- - RELEASE:
- - sid
- - bookworm
- - bullseye
- - buster
- - stretch
- - jessie
+.test_script:
script:
- - apt-get update
- - apt-get dist-upgrade --yes
- - apt-get --no-install-recommends --yes install e2fsprogs genext2fs mmdebstrap openssh-client qemu-kvm sleepenh
- - ssh-keygen -f ~/.ssh/id -N ''
- - ./debvm-create -k ~/.ssh/id.pub -r $RELEASE
- timeout 120s ./debvm-run -s 2222 &
- |
timeout=5
sshopt="-o StrictHostKeyChecking=no $(if test "$RELEASE" = jessie; then echo -o PubkeyAcceptedKeyTypes=+ssh-rsa; fi)"
ts=$(sleepenh 0 || [ $? -eq 1 ])
- for i in $(seq 10); do
+ for i in $(seq 30); do
rv=0
ssh $sshopt -o ConnectTimeout="$timeout" -i ~/.ssh/id -p 2222 root@localhost echo success || rv=$?
test $rv -eq 0 && break
ts=$(sleepenh "$ts" "$timeout" || [ $? -eq 1 ]);
- if test $i -eq 10; then
+ if test $i -eq 30; then
echo "timeout reached" >&2
exit 1
fi
done
- ssh $sshopt -i ~/.ssh/id -p 2222 root@localhost poweroff
+
+release_test:
+ extends: .test_script
+ stage: test
+ parallel:
+ matrix:
+ - RELEASE:
+ - sid
+ - bookworm
+ - bullseye
+ - buster
+ - stretch
+ - jessie
+ before_script:
+ - apt-get update
+ - apt-get dist-upgrade --yes
+ - apt-get --no-install-recommends --yes install e2fsprogs genext2fs mmdebstrap openssh-client sleepenh qemu-kvm
+ - ssh-keygen -f ~/.ssh/id -N ''
+ - ./debvm-create -k ~/.ssh/id.pub
+
+arch_test:
+ extends: .test_script
+ stage: test
+ parallel:
+ matrix:
+ - ARCHITECTURE:
+ - arm64
+ - armhf
+ - i386
+ - ppc64el
+ - s390x
+ before_script:
+ - |
+ if [ ! -e /proc/sys/fs/binfmt_misc/status ]; then
+ mount -t binfmt_misc binfmt_misc /proc/sys/fs/binfmt_misc
+ fi
+ - apt-get update
+ - apt-get dist-upgrade --yes
+ - apt-get --no-install-recommends --yes install e2fsprogs genext2fs mmdebstrap openssh-client sleepenh qemu-system binfmt-support arch-test qemu-user-static
+ - ssh-keygen -f ~/.ssh/id -N ''
+ - ./debvm-create -k ~/.ssh/id.pub -a $ARCHITECTURE