set -eux
cd "${0%/*}/../.."
PLAN="$1"
nproc
free -h
rpm -qa | grep cockpit
mkdir -p /root/.ssh
curl https://raw.githubusercontent.com/cockpit-project/bots/main/machine/identity.pub >> /root/.ssh/authorized_keys
chmod 600 /root/.ssh/authorized_keys
if [ ! -e /sysroot/ostree ]; then
if rpm -q setroubleshoot-server; then
dnf remove -y --setopt=clean_requirements_on_remove=False setroubleshoot-server
fi
if rpm -q amazon-ec2-utils; then
rpm -e --verbose amazon-ec2-utils
udevadm trigger /dev/nvme* || true
fi
if [ "$PLAN" != "main" ] && rpm -q cockpit-packagekit; then
dnf remove -y cockpit-packagekit
fi
fi
main_builds_repo="$(ls /etc/yum.repos.d/*cockpit*main-builds* 2>/dev/null || true)"
if [ -n "$main_builds_repo" ]; then
echo 'priority=0' >> "$main_builds_repo"
dnf distro-sync --setopt=allow_vendor_change=1 -y 'cockpit*'
fi
sed -ie 's/#SHA_CRYPT_MAX_ROUNDS 5000/SHA_CRYPT_MAX_ROUNDS 5000/' /etc/login.defs
printf 'dictcheck = 0\nminlen = 6\n' >> /etc/security/pwquality.conf
echo root:foobar | chpasswd
if ! id admin 2>/dev/null; then
useradd -c Administrator -G wheel admin
echo admin:foobar | chpasswd
fi
echo core > /proc/sys/kernel/core_pattern
systemctl start firewalld
while ! firewall-cmd --state; do sleep 1; done
firewall-cmd --add-service=cockpit --permanent
firewall-cmd --add-service=cockpit
if [ -e /etc/login.defs ]; then
sed -i '/^SUB_.ID_COUNT/ s/\b0/65536/' /etc/login.defs
fi
. /usr/lib/os-release
export TEST_OS="${ID}-${VERSION_ID/./-}"
if [ -e /sysroot/ostree ]; then
TEST_OS="${TEST_OS}-bootc"
mount -t tmpfs tmpfs /usr/local
fi
if [ "${VARIANT_ID:-}" = "eln" ]; then
TEST_OS="fedora-eln"
fi
if [ "$TEST_OS" = "centos-10-bootc" ]; then
setenforce 0
fi
CONTAINER="$(cat .cockpit-ci/container)"
exec podman \
run \
--rm \
--shm-size=1024m \
--security-opt=label=disable \
--env='TEST_*' \
--volume="${TMT_TEST_DATA}":/logs:rw,U --env=LOGS=/logs \
--volume="$(pwd)":/source:rw,U --env=SOURCE=/source \
"${CONTAINER}" \
sh /source/test/browser/run-test.sh "$@"