diff --git a/spread.yaml b/spread.yaml index 4e033b710..7b9931c05 100644 --- a/spread.yaml +++ b/spread.yaml @@ -11,6 +11,35 @@ exclude: - .github backends: + # We can switch back to using the official Spread LXD backend after + # https://github.com/snapcore/spread/pulls?q=is%3Apr+is%3Aopen+LXD+updated%3A%3C%3D2024-02-23+ + lxd: + type: adhoc + allocate: | + set -x + release=$(echo $SPREAD_SYSTEM | awk -F '-' '{print $2}') + + # Ideally, we would add the ubuntu-minimal remote + # e.g. https://cloud-images.ubuntu.com/minimal/releases/jammy/ + # but that would effectively change the host's LXC configurations. + + echo "Allocating $SPREAD_SYSTEM..." + lxc launch --ephemeral ubuntu:$release $SPREAD_SYSTEM + until lxc exec $SPREAD_SYSTEM -- pgrep sshd &>/dev/null + do + sleep 5 + done + lxc exec $SPREAD_SYSTEM -- sed -i 's/^\s*#\?\s*\(PermitRootLogin\|PasswordAuthentication\)\>.*/\1 yes/' /etc/ssh/sshd_config + lxc exec $SPREAD_SYSTEM -- bash -c "sed -i 's/^\s*\(PermitRootLogin\|PasswordAuthentication\)\>.*/# COMMENTED OUT BY SPREAD: \0/' /etc/ssh/sshd_config.d/* || true" + lxc exec $SPREAD_SYSTEM -- bash -c "test -d /etc/ssh/sshd_config.d && echo -e 'PermitRootLogin=yes\nPasswordAuthentication=yes' > /etc/ssh/sshd_config.d/00-spread.conf" + lxc exec $SPREAD_SYSTEM -- bash -c "echo root:${SPREAD_SYSTEM_PASSWORD} | chpasswd" + lxc exec $SPREAD_SYSTEM -- killall -HUP sshd + ADDRESS `lxc list --format=json $SPREAD_SYSTEM | jq -r '.[0].state.network.eth0.addresses[] | select(.family=="inet") | .address'` + discard: lxc stop $SPREAD_SYSTEM || true + systems: + - ubuntu-focal: + password: ubuntu + docker: type: adhoc allocate: | @@ -48,9 +77,8 @@ backends: password: ubuntu - ubuntu-20.04-s390x: password: ubuntu - # Re-enable risvc64 once we have re-enabled this arch for the Ubuntu container - # - ubuntu-20.04-riscv64: - # password: ubuntu + - ubuntu-20.04-riscv64: + password: ubuntu prepare: | # Deb arch to GOARCH @@ -68,8 +96,7 @@ prepare: | tar -xf $chisel_tar -C /usr/local/bin -prepare-each: - chisel version +prepare-each: chisel version suites: tests/spread/integration/: diff --git a/tests/spread/integration/openssl/task.yaml b/tests/spread/integration/openssl/task.yaml new file mode 100644 index 000000000..6fd4ce602 --- /dev/null +++ b/tests/spread/integration/openssl/task.yaml @@ -0,0 +1,9 @@ +summary: Integration tests for openssl + +execute: | + rootfs="$(install-slices openssl_bins)" + + chroot "$rootfs" openssl help + + test_sha1="4e1243bd22c66e76c2ba9eddc1f91394e57f9f83" + chroot "$rootfs" openssl sha1 <<< "test" | grep $test_sha1