-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
create a github action workflow for preview deployments (#3)
- Loading branch information
1 parent
c28f68a
commit 21d2afe
Showing
3 changed files
with
146 additions
and
0 deletions.
There are no files selected for viewing
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,50 @@ | ||
name: Preview Build | ||
|
||
on: | ||
pull_request: | ||
types: [opened, synchronize, reopened] | ||
|
||
jobs: | ||
build-preview: | ||
runs-on: ubuntu-latest | ||
|
||
steps: | ||
- uses: actions/checkout@v4 | ||
with: | ||
ref: ${{ github.event.pull_request.head.sha }} | ||
submodules: recursive | ||
fetch-depth: 0 | ||
|
||
- name: Setup Hugo | ||
uses: peaceiris/actions-hugo@v2 | ||
with: | ||
hugo-version: '0.101.0' | ||
extended: true | ||
|
||
- name: Setup Node | ||
uses: actions/setup-node@v4 | ||
with: | ||
node-version: '16' | ||
|
||
- name: Install and Build | ||
run: | | ||
npm ci | ||
hugo --gc --minify | ||
- name: Upload dist artifact | ||
uses: actions/upload-artifact@v4 | ||
with: | ||
name: dist | ||
path: ./public | ||
retention-days: 7 | ||
|
||
- name: Save PR number | ||
if: ${{ always() }} | ||
run: echo ${{ github.event.number }} > ./pr-id.txt | ||
|
||
- name: Upload PR number | ||
if: ${{ always() }} | ||
uses: actions/upload-artifact@v4 | ||
with: | ||
name: pr | ||
path: ./pr-id.txt |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,80 @@ | ||
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@v3 | ||
with: | ||
workflow: ${{ github.event.workflow_run.workflow_id }} | ||
name: pr | ||
|
||
- name: Save the PR ID | ||
id: pr | ||
run: echo "::set-output name=id::$(<pr-id.txt)" | ||
|
||
- name: Download dist artifact | ||
uses: dawidd6/action-download-artifact@v3 | ||
with: | ||
workflow: ${{ github.event.workflow_run.workflow_id }} | ||
workflow_conclusion: success | ||
name: dist | ||
|
||
- name: Upload on Surge | ||
id: deploy | ||
run: | | ||
export DEPLOY_DOMAIN=https://localstack-snowflake-docs-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/[email protected] | ||
with: | ||
token: ${{ secrets.GITHUB_TOKEN }} | ||
body: | | ||
🎊 PR Preview has been successfully built and deployed to https://localstack-snowflake-docs-preview-pr-${{ steps.pr.outputs.id }}.surge.sh 🎊 | ||
<!-- Sticky Pull Request Comment --> | ||
body-include: '<!-- Sticky Pull Request Comment -->' | ||
number: ${{ steps.pr.outputs.id }} | ||
|
||
- name: Job failure | ||
if: ${{ failure() }} | ||
uses: actions-cool/[email protected] | ||
with: | ||
token: ${{ secrets.GITHUB_TOKEN }} | ||
body: | | ||
Deploy PR Preview failed. | ||
<!-- 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@v3 | ||
with: | ||
workflow: ${{ github.event.workflow_run.workflow_id }} | ||
name: pr | ||
|
||
- name: Save the PR ID | ||
id: pr | ||
run: echo "::set-output name=id::$(<pr-id.txt)" | ||
|
||
- name: Job failure | ||
uses: actions-cool/[email protected] | ||
with: | ||
token: ${{ secrets.GITHUB_TOKEN }} | ||
body: | | ||
Deploy PR Preview failed. | ||
<!-- Sticky Pull Request Comment --> | ||
body-include: '<!-- Sticky Pull Request Comment -->' | ||
number: ${{ steps.pr.outputs.id }} |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
name: Preview Start | ||
|
||
on: pull_request_target | ||
|
||
jobs: | ||
preview: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: create | ||
uses: actions-cool/[email protected] | ||
with: | ||
token: ${{ secrets.GITHUB_TOKEN }} | ||
body: | | ||
⚡️ Deploying PR Preview... | ||
<!-- Sticky Pull Request Comment --> | ||
body-include: '<!-- Sticky Pull Request Comment -->' |