name: Deploy Production on: workflow_dispatch: concurrency: group: deploy-prod cancel-in-progress: false jobs: deploy: runs-on: ubuntu-latest environment: production steps: - name: Deploy over SSH uses: appleboy/ssh-action@v1.2.0 with: host: ${{ secrets.PROD_DEPLOY_HOST }} username: ${{ secrets.PROD_DEPLOY_USER }} key: ${{ secrets.PROD_DEPLOY_SSH_KEY }} port: ${{ secrets.PROD_DEPLOY_PORT || 22 }} script: | set -e REPO_URL="git@github.com:${{ github.repository }}.git" DEPLOY_DIR="${{ secrets.PROD_DEPLOY_PATH }}" if [ ! -d "$DEPLOY_DIR/.git" ]; then git clone "$REPO_URL" "$DEPLOY_DIR" fi cd "$DEPLOY_DIR" git fetch --all --prune git checkout main || git checkout -b main origin/main git reset --hard origin/main RUN_DJANGO_CHECK=1 ./scripts/deploy_stack.sh .env.prod docker-compose.prod.yml