Skip to content

A Change Is Gonna Come #189

A Change Is Gonna Come

A Change Is Gonna Come #189

Workflow file for this run

on:
push:
branches: [main, master]
release:
types: [published]
workflow_dispatch: {}
name: doc-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
with:
version: "pre-release"
# 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 README demo
uses: quarto-dev/quarto-actions/render@v2
with:
path: "examples/readme/index.qmd"
- name: Render sample deployment RevealJS presentation template
uses: quarto-dev/quarto-actions/render@v2
with:
path: "examples/revealjs/index.qmd"
- 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 blog template
uses: quarto-dev/quarto-actions/render@v2
with:
path: "examples/blog"
- name: Render sample deployment book template
uses: quarto-dev/quarto-actions/render@v2
with:
path: "examples/book"
- name: Render test suite
uses: quarto-dev/quarto-actions/render@v2
with:
path: "tests"
# Collect the output into the staging/ directory
- name: Copy documentation portal & examples into the staging directory
run: |
mkdir -p staging/{examples,tests} && \
cp -rp docs/_site/* staging/ && \
cp -rp tests/_site/* staging/tests/ && \
cp -rp examples/book/_book staging/examples/book && \
cp -rp examples/website/_site staging/examples/website && \
cp -rp examples/blog/_site staging/examples/blog && \
cp -rp examples/html-document/ staging/examples/html-document && \
cp -rp examples/revealjs/ staging/examples/revealjs && \
cp -rp examples/readme/ staging/examples/readme
# Remove symlinks
- name: Delete symlinks
run: |
rm -rf staging/examples/*/_extensions && \
rm -rf staging/tests/_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.