Skip to content

Commit b81bca6

Browse files
lsetiawanandersy005dcherian
authored
Setup PR Preview workflow (#175)
* Setup PR Preview workflow * Fix trailing whitespace * Update .github/workflows/preview.yaml Co-authored-by: Anderson Banihirwe <[email protected]> * Fix syntax error * Fix another indent * Add step summary * Add preview url formatting and manual PR comment * Remove trying to do PR comment, looks like it doesn't work for fork PR * Remove trailing whitespace --------- Co-authored-by: Anderson Banihirwe <[email protected]> Co-authored-by: Deepak Cherian <[email protected]>
1 parent e8f9e18 commit b81bca6

File tree

1 file changed

+60
-0
lines changed

1 file changed

+60
-0
lines changed

.github/workflows/preview.yaml

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
name: PR Preview
2+
3+
on: [pull_request]
4+
5+
permissions:
6+
pull-requests: write # allow surge-preview to create/update PR comments
7+
8+
jobs:
9+
preview:
10+
runs-on: ubuntu-latest
11+
steps:
12+
- name: Checkout repository
13+
uses: actions/checkout@v3
14+
15+
- name: Setup JupyterBook Cache
16+
uses: actions/cache@v3
17+
with:
18+
path: _build
19+
# NOTE: change key to "jupyterbook-DATE" to force rebuilding cache
20+
key: jupyterbook-20230613
21+
22+
- name: Install Conda environment with Micromamba
23+
uses: mamba-org/setup-micromamba@v1
24+
with:
25+
environment-file: conda/conda-lock.yml
26+
environment-name: xarray-tutorial
27+
cache-environment: true
28+
29+
- name: Build JupyterBook
30+
# NOTE: login shell activates conda environment
31+
shell: bash -l {0}
32+
run: |
33+
jupyter-book build ./ --warningiserror --keep-going
34+
35+
- name: Dump Build Logs
36+
if: always()
37+
run: |
38+
if (test -a _build/html/reports/*log); then cat _build/html/reports/*log ; fi
39+
40+
- name: Publish to Surge
41+
id: preview_step
42+
uses: afc163/surge-preview@v1
43+
with:
44+
surge_token: ${{ secrets.SURGE_TOKEN }}
45+
github_token: ${{ secrets.GITHUB_TOKEN }}
46+
dist: _build/html
47+
build: |
48+
npm install surge
49+
50+
- name: Format preview url
51+
id: format_url
52+
run: |
53+
echo "url_text=:rocket: Preview deployed at https://${{ steps.preview_step.outputs.preview_url }}" >> $GITHUB_OUTPUT
54+
55+
- name: Get the preview_url
56+
run: echo "${{ steps.format_url.outputs.url_text }}"
57+
58+
- name: Generate summary
59+
run: |
60+
echo "#### ${{ steps.format_url.outputs.url_text }}" >> $GITHUB_STEP_SUMMARY

0 commit comments

Comments
 (0)