Skip to content

Merge pull request #2 from NilsEnevoldsen/patch-1 #39

Merge pull request #2 from NilsEnevoldsen/patch-1

Merge pull request #2 from NilsEnevoldsen/patch-1 #39

Workflow file for this run

name: deploy-book
# Only run this when the master branch changes
on:
push:
branches:
- main
# If your git repository has the Jupyter Book within some-subfolder next to
# unrelated files, you can make this run only if a file within that specific
# folder has been modified.
#
# paths:
# - some-subfolder/**
# This job installs dependencies, builds the book, and pushes it to `gh-pages`
jobs:
compile-jupyterbook:
runs-on: ubuntu-22.04
outputs:
bookurl: ${{ steps.artifact-upload-step1.outputs.artifact-url }}
steps:
- uses: actions/checkout@v2
# Install dependencies
- name: Set up Python 3.10
uses: actions/setup-python@v4
with:
python-version: '3.10'
cache: 'pip' # caching pip dependencies
- name: Install dependencies
run: |
pip install -r requirements.txt
# Build the book
- name: Build the book
run: |
jupyter-book build .
- name: Upload Artifact
id: artifact-upload-step1
uses: actions/upload-artifact@v4
with:
name: artifact-book
path: _build/html
retention-days: 1
compile-presentation:
runs-on: ubuntu-22.04
outputs:
presentationurl: ${{ steps.artifact-upload-step2.outputs.artifact-url }}
steps:
- uses: actions/checkout@v2
# Let's do the Quarto
- name: Set up Quarto
uses: quarto-dev/quarto-actions/setup@v2
- name: Install R
uses: r-lib/actions/setup-r@v2
with:
r-version: '4.4.0'
- name: Install R Dependencies
uses: r-lib/actions/setup-renv@v2
with:
cache-version: 1
working-directory: presentation
- name: Render Quarto Project
env:
QUARTO_PRINT_STACK: true
# uses: quarto-dev/quarto-actions/render@v2
# with:
# path: ./presentation
run: |
cd presentation
quarto render index.Rmd
- name: Upload Artifact
id: artifact-upload-step2
uses: actions/upload-artifact@v4
with:
name: artifact-presentation
path: |
presentation/index_files/
presentation/index.html
retention-days: 1
deploy-book:
runs-on: ubuntu-22.04
needs:
- compile-jupyterbook
- compile-presentation
steps:
# Pull down both artifacts
- name: Download Book Artifacts
uses: actions/download-artifact@v4
with:
path: .
pattern: artifact-book
- name: Download Pres Artifacts
uses: actions/download-artifact@v4
with:
path: .
pattern: artifact-presentation
- name: Move stuff
run: |
mv artifact-book website
mv artifact-presentation website/presentation
# Prepare the GitHub Pages action
- name: prepare GitHub Pages action
uses: actions/[email protected]
with:
path: ./website
# publish:
# needs: deploy-book
# runs-on: ubuntu-latest
# steps:
# # Push the book's HTML to github-pages
# - name: GitHub Pages action
# uses: peaceiris/[email protected]
# with:
# github_token: ${{ secrets.GITHUB_TOKEN }}
# publish_dir: ./_build/html
publish:
needs: deploy-book
# Grant GITHUB_TOKEN the permissions required to make a Pages deployment
permissions:
pages: write # to deploy to Pages
id-token: write # to verify the deployment originates from an appropriate source
# Deploy to the github-pages environment
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
# Specify runner + deployment step
runs-on: ubuntu-latest
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4