Skip to content

Initialize

Initialize #4

on:
pull_request:
branches:
- main
push:
branches:
- main
workflow_dispatch:
name: Render and Publish
# you need these permissions to publish to GitHub pages
permissions:
contents: write
pages: write
jobs:
lint:
name: Lint with Prettier
runs-on: macos-latest
steps:
- name: Check out repository
uses: actions/checkout@v4
- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: '22'
- name: Install dependencies
run: npm install
- name: Check for linting errors
run: npm run check
build-deploy:
runs-on: macos-latest
steps:
- name: Check out repository
uses: actions/checkout@v4
- name: Set up Quarto
uses: quarto-dev/quarto-actions/setup@v2
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
# To install LaTeX to build PDF book outputs, uncomment below
tinytex: true
# uncomment below and fill to pin a version
# version: SPECIFIC-QUARTO-VERSION-HERE
- name: Install uv
uses: astral-sh/setup-uv@v4
with:
enable-cache: true
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version-file: '.python-version'
- name: Install the project
run: uv sync
- name: Activate the environment
run: source .venv/bin/activate
# From https://github.com/r-lib/actions/tree/v2-branch/setup-r
- name: Setup R
uses: r-lib/actions/setup-r@v2
- uses: r-lib/actions/setup-renv@v2
with:
cache-version: 1
# From https://github.com/julia-actions/setup-julia
# - name: Setup Julia
# uses: julia-actions/setup-julia@v1
# See more at https://github.com/quarto-dev/quarto-actions/blob/main/examples/example-03-dependencies.md
- name: Render Quarto Project
uses: quarto-dev/quarto-actions/render@v2
with:
path: .
to: html
- name: JamPack
if: github.event_name != 'pull_request'
run: |
npx @divriots/jampack .
# To publish to Netlify, RStudio Connect, or GitHub Pages, uncomment
# the appropriate block below
# - name: Publish to Netlify (and render)
# uses: quarto-dev/quarto-actions/publish@v2
# with:
# target: netlify
# NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }}
# - name: Publish to RStudio Connect (and render)
# uses: quarto-dev/quarto-actions/publish@v2
# with:
# target: connect
# CONNECT_SERVER: enter-the-server-url-here
# CONNECT_API_KEY: ${{ secrets.CONNECT_API_KEY }}
# NOTE: If Publishing to GitHub Pages, set the permissions correctly (see top of this yaml)
- name: Publish to GitHub Pages (and render)
if: github.event_name != 'pull_request'
uses: quarto-dev/quarto-actions/publish@v2
with:
target: gh-pages
path: _site
render: false
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # this secret is always available for github actions
# - name: Publish to confluence
# uses: quarto-dev/quarto-actions/publish@v2
# with:
# target: confluence
# env:
# CONFLUENCE_USER_EMAIL: ${{ secrets.CONFLUENCE_USER_EMAIL }}
# CONFLUENCE_AUTH_TOKEN: ${{ secrets.CONFLUENCE_AUTH_TOKEN }}
# CONFLUENCE_DOMAIN: ${{ secrets.CONFLUENCE_DOMAIN }}