diff options
Diffstat (limited to '.gitlab-ci.yml')
-rw-r--r-- | .gitlab-ci.yml | 64 |
1 files changed, 46 insertions, 18 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 5f6030a..af85d5c 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -16,7 +16,27 @@ codespell: - apt-get --no-install-recommends --yes install codespell - codespell debvm-* -simpletest: +.test_script: + script: + - 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 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 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: @@ -26,24 +46,32 @@ simpletest: - bullseye - buster - stretch - script: + - jessie + before_script: - apt-get update - apt-get dist-upgrade --yes - - apt-get --no-install-recommends --yes install e2fsprogs genext2fs mmdebstrap openssh-client qemu-kvm sleepenh + - 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 -r $RELEASE - - timeout 120s ./debvm-run -s 2222 & + - ./debvm-create -k ~/.ssh/id.pub + +arch_test: + extends: .test_script + stage: test + parallel: + matrix: + - ARCHITECTURE: + - arm64 + - armhf + - i386 + - ppc64el + - s390x + before_script: - | - timeout=5 - ts=$(sleepenh 0 || [ $? -eq 1 ]) - for i in $(seq 10); do - rv=0 - ssh -o StrictHostKeyChecking=no -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 - echo "timeout reached" >&2 - exit 1 - fi - done - - ssh -o StrictHostKeyChecking=no -i ~/.ssh/id -p 2222 root@localhost poweroff + 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 |