steps: backend: image: python:3-bookworm commands: - apt-get update - apt-get install -y ca-certificates curl gnupg tar wget libssl-dev python3-pip cython3 pipx apt-transport-https coreutils iputils-ping openssh-client libvirt-clients genisoimage - make ci.init - cat /tmp/ci-ssh-id - eval "$(ssh-agent -s)" - ssh-add /tmp/ci-ssh-id - ssh -o StrictHostKeyChecking=accept-new mcaptcha-ci@192.168.0.102 "echo f" - install -m 0755 -d /etc/apt/keyrings - curl -fsSL https://packages.opentofu.org/opentofu/tofu/gpgkey | gpg --no-tty --batch --dearmor -o /etc/apt/keyrings/opentofu.gpg - chmod a+r /etc/apt/keyrings/opentofu.gpg - echo "deb [signed-by=/etc/apt/keyrings/opentofu.gpg] https://packages.opentofu.org/opentofu/tofu/any/ any main" > /etc/apt/sources.list.d/opentofu.list echo "deb-src [signed-by=/etc/apt/keyrings/opentofu.gpg] https://packages.opentofu.org/opentofu/tofu/any/ any main" >> /etc/apt/sources.list.d/opentofu.list - apt-get update - apt-get install -y tofu - tofu -chdir=terraform/mcaptcha/ init - tofu -chdir=terraform/mcaptcha/ plan -var-file="ci.tfvars" -out="mcaptcha" - tofu -chdir=terraform/mcaptcha/ apply "mcaptcha" - cd ../../ - pipx install --include-deps ansible - pipx ensurepath && echo $SHELL - /root/.local/bin/ansible-galaxy install -r ./ansible/requirements.yml - /root/.local/bin/ansible-playbook --become --connection=local -i localhost, --limit 127.0.0.1 ./ansible/mcaptcha.yml - pipx install --include-deps pytest-testinfra - cd tests/cache/ && py.test --verbose base.py - cd tests/mcaptcha/ && py.test --verbose base.py - echo yes | tofu destroy \ -var-file="ci.tfvars" - make ci.clean secrets: [TEST_NODE_SSH_KEY]