-
-
Notifications
You must be signed in to change notification settings - Fork 19
86 lines (73 loc) · 2.7 KB
/
publish-demo.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
on:
push:
branches: [main, master]
release:
types: [published]
workflow_dispatch:
name: demo-website
jobs:
demo-website:
runs-on: ubuntu-latest
# Only restrict concurrency for non-PR jobs
concurrency:
group: pkgdown-${{ github.event_name != 'pull_request' || github.run_id }}
permissions:
contents: write
steps:
- name: "Check out repository"
uses: actions/checkout@v4
# To render using knitr, we need a few more setup steps...
# If we didn't want the examples to use `engine: knitr`, we could
# skip a few of the setup steps.
- name: "Setup pandoc"
uses: r-lib/actions/setup-pandoc@v2
- name: "Setup R"
uses: r-lib/actions/setup-r@v2
- name: "Setup R dependencies for Quarto's knitr engine"
uses: r-lib/actions/setup-r-dependencies@v2
with:
packages:
any::knitr
any::rmarkdown
any::downlit
any::xml2
# Back to our regularly scheduled Quarto output
- name: "Set up Quarto"
uses: quarto-dev/quarto-actions/setup@v2
# Generate the documentation website
- name: Render Documentation website
uses: quarto-dev/quarto-actions/render@v2
with:
path: "docs"
# Attempt to render the nested deployment template Quarto projects
- name: Render sample deployment HTML document template
uses: quarto-dev/quarto-actions/render@v2
with:
path: "examples/html-document/index.qmd"
- name: Render sample deployment website template
uses: quarto-dev/quarto-actions/render@v2
with:
path: "examples/website"
- name: Render sample deployment book template
uses: quarto-dev/quarto-actions/render@v2
with:
path: "examples/book"
# Collect the output into the staging/ directory
- name: Copy documentation portal & examples into the staging directory
run: |
mkdir -p staging/examples && \
cp -rp docs/_site/* staging/ && \
cp -rp examples/book/_book staging/examples/book && \
cp -rp examples/website/_site staging/examples/website && \
cp -rp examples/html-document/ staging/examples/html-document
# Remove symlinks
- name: Delete symlinks
run: |
rm -rf staging/examples/html-document/_extensions && \
rm -rf staging/examples/website/_extensions && \
rm -rf staging/examples/book/_extensions
# Publish the docs directory onto gh-pages
- name: Deploy 🚀
uses: JamesIves/github-pages-deploy-action@v4
with:
folder: staging # The folder the action should deploy.