name: Preview Deploy on: workflow_run: workflows: ["Preview Build"] types: - completed jobs: success: runs-on: ubuntu-latest if: github.event.workflow_run.event == 'pull_request' && github.event.workflow_run.conclusion == 'success' && github.repository == 'doocs/md' steps: - name: Download PR artifact uses: dawidd6/action-download-artifact@v2 with: workflow: ${{ github.event.workflow_run.workflow_id }} name: pr - name: Save PR id id: pr run: echo "id=$(> "$GITHUB_OUTPUT" - name: Download dist artifact uses: dawidd6/action-download-artifact@v2 with: workflow: ${{ github.event.workflow_run.workflow_id }} workflow_conclusion: success name: dist - name: Upload surge service id: deploy run: | export DEPLOY_DOMAIN=https://doocs-md-preview-pr-${{ steps.pr.outputs.id }}.surge.sh npx surge --project ./ --domain $DEPLOY_DOMAIN --token ${{ secrets.SURGE_TOKEN }} - name: Upload status comment uses: actions-cool/maintain-one-comment@v2 with: token: ${{ secrets.GITHUB_TOKEN }} body: | 🎊 PR Preview has been successfully built and deployed to https://doocs-md-preview-pr-${{ steps.pr.outputs.id }}.surge.sh body-include: '' number: ${{ steps.pr.outputs.id }} - name: The job failed if: ${{ failure() }} uses: actions-cool/maintain-one-comment@v2 with: token: ${{ secrets.GITHUB_TOKEN }} body: | 😭 Deploy PR Preview failed. body-include: '' number: ${{ steps.pr.outputs.id }} failed: runs-on: ubuntu-latest if: github.event.workflow_run.event == 'pull_request' && github.event.workflow_run.conclusion == 'failure' && github.repository == 'doocs/md' steps: - name: Download PR artifact uses: dawidd6/action-download-artifact@v2 with: workflow: ${{ github.event.workflow_run.workflow_id }} name: pr - name: Save PR id id: pr run: echo "id=$(> "$GITHUB_OUTPUT" - name: The job failed uses: actions-cool/maintain-one-comment@v2 with: token: ${{ secrets.GITHUB_TOKEN }} body: | 😭 Deploy PR Preview failed. body-include: '' number: ${{ steps.pr.outputs.id }}