Skip to content

deploy-website

deploy-website #40

name: deploy-website
# Run this when the main 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:
- catalystbook/**
# Trigger the workflow manually
workflow_dispatch:
# Runs at 1am each day.
schedule:
- cron: '0 1 * * *'
# This job installs dependencies, builds the book, and pushes it to `gh-pages`
jobs:
deploy-book:
runs-on: ubuntu-latest
permissions:
pages: write
id-token: write
steps:
- name: Checkout repository and submodules
uses: actions/checkout@v3
with:
submodules: recursive
# Install dependencies
- name: Set up Python 3.11
uses: actions/setup-python@v4
with:
python-version: 3.11
- name: Install dependencies
run: |
pip install -r requirements.txt
# (optional) Cache your executed notebooks between runs
# if you have config:
# execute:
# execute_notebooks: cache
- name: Cache executed notebooks
uses: actions/cache@v3
with:
working-directory: ./catalystbook
path: _build/.jupyter_cache
key: jupyter-book-cache-${{ hashFiles('requirements.txt') }}
# Update git submodules
- name: Update git submodules
run: |
git submodule update --init --recursive
# Build the book
- name: Build the book
env:
GRAFANA_TOKEN: ${{ secrets.GRAFANA_TOKEN }}
run: |
jupyter-book build .
working-directory: ./catalystbook
# Upload the book's HTML as an artifact
- name: Upload artifact
uses: actions/upload-pages-artifact@v2
with:
path: "catalystbook/_build/html"
# Deploy the book's HTML to GitHub Pages
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v2