name: Deploy to production concurrency: production on: push: branches: [master] workflow_run: workflows: [Sith3 CI] types: [completed] workflow_dispatch: jobs: # Runs only if Unit tests are successful deployment: runs-on: ubuntu-latest if: ${{github.event.workflow_run.conclusion == 'success'}} environment: production timeout-minutes: 30 steps: - name: SSH Remote Commands uses: appleboy/ssh-action@dce9d565de8d876c11d93fa4fe677c0285a66d78 with: # Proxy proxy_host : ${{secrets.PROXY_HOST}} proxy_port : ${{secrets.PROXY_PORT}} proxy_username : ${{secrets.PROXY_USER}} proxy_passphrase: ${{secrets.PROXY_PASSPHRASE}} proxy_key: ${{secrets.PROXY_KEY}} # Serveur web host: ${{secrets.HOST}} port : ${{secrets.PORT}} username : ${{secrets.USER}} key: ${{secrets.KEY}} script_stop: true # See https://github.com/ae-utbm/sith3/wiki/GitHub-Actions#deployment-action script: | export PATH="$HOME/.poetry/bin:$PATH" pushd ${{secrets.SITH_PATH}} VERSION_LAST=$(git rev-parse HEAD) git pull poetry update poetry run ./manage.py migrate echo "yes" | poetry run ./manage.py collectstatic poetry run ./manage.py compilestatic poetry run ./manage.py compilemessages sudo systemctl restart uwsgi