name: Deploy to Production on: pull_request: types: [closed] branches: - release workflow_dispatch: jobs: deploy: if: github.event.pull_request.merged == true && github.event.pull_request.head.ref == 'staging' name: Deploy to Production runs-on: ubuntu-latest steps: - name: Pull latest code uses: appleboy/ssh-action@v1 with: host: ${{ vars.PRODUCTION_HOST }} username: ${{ secrets.SSH_USERNAME }} password: ${{ secrets.SSH_PASSWORD }} port: 22 script: | cd ~/docker/var-monorepo git checkout release git pull - name: Deploy migration to Database uses: appleboy/ssh-action@v1 with: host: ${{ vars.PRODUCTION_HOST }} username: ${{ secrets.SSH_USERNAME }} password: ${{ secrets.SSH_PASSWORD }} port: 22 script: | export NVM_DIR="$HOME/.nvm" source "$NVM_DIR/nvm.sh" cd ~/docker/var-monorepo/packages/database pnpm run deploy - name: Build and start containers uses: appleboy/ssh-action@v1 with: host: ${{ vars.STAGING_HOST }} username: ${{ secrets.SSH_USERNAME }} password: ${{ secrets.SSH_PASSWORD }} port: 22 script: | export NVM_DIR="$HOME/.nvm" source "$NVM_DIR/nvm.sh" cd ~/docker/var-monorepo pnpm staging-start