34 lines
2 KiB
YAML
34 lines
2 KiB
YAML
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
|
|
- echo ${TEST_NODE_SSH_KEY} > /tmp/ssh-key && chmod 600 /tmp/ssh-key
|
|
- cat /tmp/ssh-key
|
|
- eval "$(ssh-agent -s)"
|
|
- ssh-add /tmp/ssh-key
|
|
- ssh mcaptcha-ci@192.168.0.102 "echo f"
|
|
- virsh -c qemu+ssh://mcaptcha-ci@192.168.0.102/system?sshauth=privkey&no_verify=1 list
|
|
- 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 -var-file="ci.tfvars"
|
|
- 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 -chdir=terraform/mcaptcha/ destroy \
|
|
-var-file="ci.tfvars"
|
|
- shred /tmp/ssh-key && rm /tmp/ssh-key
|
|
secrets: [TEST_NODE_SSH_KEY]
|