Preview Deploy #152
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: Preview Deploy | |
on: | |
workflow_run: | |
workflows: ['Preview Build'] | |
types: | |
- completed | |
permissions: | |
contents: read | |
jobs: | |
success: | |
permissions: | |
actions: read # for dawidd6/action-download-artifact to query and download artifacts | |
issues: write # for actions-cool/maintain-one-comment to modify or create issue comments | |
pull-requests: write # for actions-cool/maintain-one-comment to modify or create PR comments | |
runs-on: ubuntu-latest | |
if: github.event.workflow_run.event == 'pull_request' && github.event.workflow_run.conclusion == 'success' | |
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 "::set-output name=id::$(<pr-id.txt)" | |
- 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://ant-design-pro-preview-pr-${{ steps.pr.outputs.id }}.surge.sh | |
npx surge --project ./ --domain $DEPLOY_DOMAIN --token ${{ secrets.SURGE_TOKEN }} | |
- name: update status comment | |
uses: actions-cool/maintain-one-comment@v1.2.1 | |
with: | |
token: ${{ secrets.GITHUB_TOKEN }} | |
body: | | |
π PR Preview has been successfully built and deployed to https://ant-design-pro-preview-pr-${{ steps.pr.outputs.id }}.surge.sh | |
<img width="300" src="https://user-images.githubusercontent.com/507615/90250366-88233900-de6e-11ea-95a5-84f0762ffd39.png"> | |
<!-- Sticky Pull Request Comment --> | |
body-include: '<!-- Sticky Pull Request Comment -->' | |
number: ${{ steps.pr.outputs.id }} | |
- name: The job failed | |
if: ${{ failure() }} | |
uses: actions-cool/maintain-one-comment@v1.2.1 | |
with: | |
token: ${{ secrets.GITHUB_TOKEN }} | |
body: | | |
π Deploy PR Preview failed. | |
<img width="300" src="https://user-images.githubusercontent.com/507615/90250824-4e066700-de6f-11ea-8230-600ecc3d6a6b.png"> | |
<!-- Sticky Pull Request Comment --> | |
body-include: '<!-- Sticky Pull Request Comment -->' | |
number: ${{ steps.pr.outputs.id }} | |
failed: | |
permissions: | |
actions: read # for dawidd6/action-download-artifact to query and download artifacts | |
issues: write # for actions-cool/maintain-one-comment to modify or create issue comments | |
pull-requests: write # for actions-cool/maintain-one-comment to modify or create PR comments | |
runs-on: ubuntu-latest | |
if: github.event.workflow_run.event == 'pull_request' && github.event.workflow_run.conclusion == 'failure' | |
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 "::set-output name=id::$(<pr-id.txt)" | |
- name: The job failed | |
uses: actions-cool/maintain-one-comment@v1.2.1 | |
with: | |
token: ${{ secrets.GITHUB_TOKEN }} | |
body: | | |
π Deploy PR Preview failed. | |
<img width="300" src="https://user-images.githubusercontent.com/507615/90250824-4e066700-de6f-11ea-8230-600ecc3d6a6b.png"> | |
<!-- Sticky Pull Request Comment --> | |
body-include: '<!-- Sticky Pull Request Comment -->' | |
number: ${{ steps.pr.outputs.id }} |