Surge.sh Preview #2024
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: Surge.sh Preview | |
on: | |
workflow_run: | |
workflows: ["Build"] | |
types: | |
- completed | |
jobs: | |
preview: | |
runs-on: ubuntu-latest | |
permissions: | |
actions: read | |
# needed to maintain comments | |
issues: write | |
pull-requests: write | |
if: github.event.workflow_run.event == 'pull_request' && github.event.workflow_run.conclusion == 'success' | |
steps: | |
- name: Download PR Artifact | |
uses: actions/download-artifact@v4 | |
with: | |
run-id: ${{ github.event.workflow_run.id }} | |
name: site | |
github-token: ${{ secrets.GITHUB_TOKEN }} | |
- name: Store PR id as variable | |
id: pr | |
run: | | |
pr=$(<pr-id.txt) | |
if ! [[ $pr =~ ^[0-9]+$ ]] ; then | |
echo "PR id extracted from pr-id.txt is not a number: $pr" | |
exit 1 | |
fi | |
echo "id=${pr}" >> $GITHUB_OUTPUT | |
rm -f pr-id.txt | |
- name: Publishing to surge for preview | |
id: deploy | |
run: npx surge ./ --domain https://quarkus-site-pr-${PR_ID}-preview.surge.sh --token ${{ secrets.SURGE_TOKEN }} | |
env: | |
PR_ID: ${{ steps.pr.outputs.id }} | |
- name: Update PR status comment on success | |
uses: actions-cool/[email protected] | |
with: | |
token: ${{ secrets.GITHUB_TOKEN }} | |
body: | | |
🎊 PR Preview ${{ github.sha }} has been successfully built and deployed to https://quarkus-site-pr-${{ steps.pr.outputs.id }}-preview.surge.sh | |
- Images of blog posts older than 3 months are not available. | |
- Newsletters older than 3 months are not available. | |
<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: Update PR status comment on failure | |
if: ${{ failure() }} | |
uses: actions-cool/[email protected] | |
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 }} |