123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- name: mailcow Integration Tests
- on:
- push:
- branches: [ "master", "staging" ]
- workflow_dispatch:
- permissions:
- contents: read
- jobs:
- integration_tests:
- runs-on: ubuntu-latest
- steps:
- - name: Setup Ansible
- run: |
- export DEBIAN_FRONTEND=noninteractive
- sudo apt-get update
- sudo apt-get install python3 python3-pip git
- sudo pip3 install ansible
- - name: Prepair Test Environment
- run: |
- git clone https://github.com/mailcow/mailcow-integration-tests.git --branch $(curl -sL https://api.github.com/repos/mailcow/mailcow-integration-tests/releases/latest | jq -r '.tag_name') --single-branch .
- ./fork_check.sh
- ./ci.sh
- ./ci-pip-requirements.sh
- env:
- VAULT_PW: ${{ secrets.MAILCOW_TESTS_VAULT_PW }}
- VAULT_FILE: ${{ secrets.MAILCOW_TESTS_VAULT_FILE }}
- - name: Start Integration Test Server
- run: |
- ./fork_check.sh
- ansible-playbook mailcow-start-server.yml --diff
- env:
- PY_COLORS: '1'
- ANSIBLE_FORCE_COLOR: '1'
- ANSIBLE_HOST_KEY_CHECKING: 'false'
- - name: Setup Integration Test Server
- run: |
- ./fork_check.sh
- sleep 30
- ansible-playbook mailcow-setup-server.yml --private-key id_ssh_rsa --diff
- env:
- PY_COLORS: '1'
- ANSIBLE_FORCE_COLOR: '1'
- ANSIBLE_HOST_KEY_CHECKING: 'false'
- - name: Run Integration Tests
- run: |
- ./fork_check.sh
- ansible-playbook mailcow-integration-tests.yml --private-key id_ssh_rsa --diff
- env:
- PY_COLORS: '1'
- ANSIBLE_FORCE_COLOR: '1'
- ANSIBLE_HOST_KEY_CHECKING: 'false'
- - name: Delete Integration Test Server
- if: always()
- run: |
- ./fork_check.sh
- ansible-playbook mailcow-delete-server.yml --diff
- env:
- PY_COLORS: '1'
- ANSIBLE_FORCE_COLOR: '1'
- ANSIBLE_HOST_KEY_CHECKING: 'false'
|