init: always install deltachat via pip b/c it's a test dependency #105
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: deploy on staging.testrun.org, and run tests | |
on: | |
push: | |
branches: | |
- main | |
- staging-ci | |
jobs: | |
deploy: | |
name: deploy on staging.testrun.org, and run tests | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: prepare SSH | |
run: | | |
mkdir ~/.ssh | |
echo "${{ secrets.STAGING_SSH_KEY }}" >> ~/.ssh/id_ed25519 | |
chmod 600 ~/.ssh/id_ed25519 | |
ssh-keyscan staging.testrun.org > ~/.ssh/known_hosts | |
# rsync -avz root@staging.testrun.org:/var/lib/acme . || true | |
# rsync -avz root@staging.testrun.org:/var/lib/rspamd/dkim . || true | |
#- name: rebuild staging.testrun.org to have a clean VPS | |
# run: | | |
# curl -X POST \ | |
# -H "Authorization: Bearer ${{ secrets.HETZNER_API_TOKEN }}" \ | |
# -H "Content-Type: application/json" \ | |
# -d '{"image":"debian-12"}' \ | |
# "https://api.hetzner.cloud/v1/servers/${{ secrets.STAGING_SERVER_ID }}/actions/rebuild" | |
- run: scripts/initenv.sh | |
- name: append venv/bin to PATH | |
run: echo venv/bin >>$GITHUB_PATH | |
- name: run formatting checks | |
run: cmdeploy fmt -v | |
- name: run deploy-chatmail offline tests | |
run: pytest --pyargs cmdeploy | |
#- name: upload TLS cert after rebuilding | |
# run: | | |
# echo " --- wait until staging.testrun.org VPS is rebuilt --- " | |
# rm ~/.ssh/known_hosts | |
# while ! ssh -o ConnectTimeout=180 -o StrictHostKeyChecking=accept-new -v root@staging.testrun.org id -u ; do sleep 1 ; done | |
# ssh -o StrictHostKeyChecking=accept-new -v root@staging.testrun.org id -u | |
# rsync -avz acme root@staging.testrun.org:/var/lib/ || true | |
# rsync -avz dkim root@staging.testrun.org:/var/lib/rspamd/ || true | |
- run: cmdeploy init staging.testrun.org | |
- run: cmdeploy run | |
- name: set DNS entries | |
run: | | |
#ssh -o StrictHostKeyChecking=accept-new -v root@staging.testrun.org chown _rspamd:_rspamd -R /var/lib/rspamd/dkim | |
cmdeploy dns --zonefile staging-generated.zone | |
cat staging-generated.zone >> .github/workflows/staging.testrun.org-default.zone | |
cat .github/workflows/staging.testrun.org-default.zone | |
scp -o StrictHostKeyChecking=accept-new .github/workflows/staging.testrun.org-default.zone root@ns.testrun.org:/etc/nsd/staging.testrun.org.zone | |
ssh root@ns.testrun.org nsd-checkzone staging.testrun.org /etc/nsd/staging.testrun.org.zone | |
ssh root@ns.testrun.org systemctl reload nsd | |
- name: cmdeploy test | |
run: CHATMAIL_DOMAIN2=nine.testrun.org pytest -n4 --durations=5 -x -xrv --slow | |
- name: cmdeploy dns (try 3 times) | |
run: cmdeploy dns || cmdeploy dns || cmdeploy dns | |