Skip to content
This repository has been archived by the owner on Aug 31, 2023. It is now read-only.

Commit

Permalink
ci: update preview action (#310)
Browse files Browse the repository at this point in the history
* Create preview-start.yml

* Create preview-build.yml

* Delete preview.yml

* Create preview-deploy.yml

* Update preview-deploy.yml
  • Loading branch information
xrkffgg committed Mar 19, 2021
1 parent aab98e0 commit 6237d17
Show file tree
Hide file tree
Showing 4 changed files with 145 additions and 17 deletions.
37 changes: 37 additions & 0 deletions .github/workflows/preview-build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
name: Preview Build

on:
pull_request:
types: [opened, synchronize, reopened]

jobs:
build-preview:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v2
with:
ref: ${{ github.event.pull_request.head.sha }}

- name: build
run: |
yarn --frozen-lockfile
yarn run build
- name: upload dist artifact
uses: actions/upload-artifact@v2
with:
name: dist
path: example/public/
retention-days: 5

- name: Save PR number
if: ${{ always() }}
run: echo ${{ github.event.number }} > ./pr-id.txt

- name: Upload PR number
if: ${{ always() }}
uses: actions/upload-artifact@v2
with:
name: pr
path: ./pr-id.txt
89 changes: 89 additions & 0 deletions .github/workflows/preview-deploy.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
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'
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://gatsby-theme-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.1.0
with:
token: ${{ secrets.GITHUB_TOKEN }}
body: |
🎊 PR Preview has been successfully built and deployed to https://gatsby-theme-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.1.0
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:
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.1.0
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 }}
19 changes: 19 additions & 0 deletions .github/workflows/preview-start.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
name: Preview Start

on: pull_request_target

jobs:
preview:
runs-on: ubuntu-latest
steps:
- name: create
uses: actions-cool/maintain-one-comment@v1.1.0
with:
token: ${{ secrets.GITHUB_TOKEN }}
body: |
⚡️ Deploying PR Preview...
<img src="https://user-images.githubusercontent.com/507615/90240294-8d2abd00-de5b-11ea-8140-4840a0b2d571.gif" width="300" />
<!-- Sticky Pull Request Comment -->
body-include: '<!-- Sticky Pull Request Comment -->'
17 changes: 0 additions & 17 deletions .github/workflows/preview.yml

This file was deleted.

0 comments on commit 6237d17

Please sign in to comment.