Skip to content

Workflow file for this run

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: quarto-website-${{ github.event_name != 'pull_request' || github.run_id }}
permissions:
contents: write
steps:
- name: "Check out repository"
uses: actions/checkout@v3
# 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 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"
- name: Render assign-template
uses: quarto-dev/quarto-actions/render@v2
with:
path: "demo/qassign-demo-document.qmd"
env:
QUARTO_PROFILE: assign
- name: Render solution-template
uses: quarto-dev/quarto-actions/render@v2
with:
path: "demo/qassign-demo-document.qmd"
env:
QUARTO_PROFILE: solution
- name: Render solution-template
uses: quarto-dev/quarto-actions/render@v2
with:
path: "demo/qassign-demo-document.qmd"
env:
QUARTO_PROFILE: rubric
# Collect the output into the staging/ directory
- name: Copy documentation portal & examples into the staging directory
run: |
mkdir -p staging/demo/{solution,assign,rubric} && \
cp -rp docs/_site/* staging/ && \
cp -rp demo/solution/* staging/demo/solution && \
cp -rp demo/assign/* staging/demo/assign && \
cp -rp demo/rubric/* staging/demo/rubric
# Remove symlinks
- name: Delete symlinks
run: |
rm -rf staging/*/_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.