Skip to content

CI: install bokeh for GitHub Pages workflows only (#62) #300

CI: install bokeh for GitHub Pages workflows only (#62)

CI: install bokeh for GitHub Pages workflows only (#62) #300

Workflow file for this run

name: GH-Pages
on:
push:
branches: [master]
paths-ignore:
- '.github/workflows/ci.yml'
jobs:
build-docs-and-deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Install cabal/ghc
uses: haskell/actions/setup@v1
id: setup-haskell
with:
ghc-version: '9.2.4'
cabal-version: '3.10.1.0'
- name: Set PATH for cabal-installed executables
run: |
echo "$HOME/.cabal/bin" >> $GITHUB_PATH
- name: Set Cabal options
# Overwriting prevent cabal from raising an error when installing
# an executable that is already present (because of caching)
# Some of these options are superfluous for this workflow,
# but I'm keeping them in sync with ci.yml so that caching is
# shared
run: |
cabal update
cabal user-config update -f -a "overwrite-policy: always"
cabal user-config update -f -a "install-method: copy"
cabal user-config update -f -a "split-sections: True"
cabal user-config update -f -a "executable-stripping: True"
- uses: actions/setup-python@v2
with:
python-version: '3.10'
- name: Cache cabal work
uses: actions/cache@v2
with:
path: |
dist-newstyle
${{ steps.setup-haskell.outputs.cabal-store }}
key: ${{ runner.os }}-${{ hashFiles('cabal.project.freeze') }}-cabal-install-v2
- uses: actions/cache@v3
name: Cache Python build artifacts
with:
path: ~/.cache/pip
key: ${{ runner.os }}-${{ hashFiles('.github/workflows/gh_pages_requirements.txt') }}
- name: Install pandoc-plot and other dependencies
run: |
cabal install pandoc-cli
cabal install exe:pandoc-plot
- name: Install Python dependencies
run: |
python -m pip install --upgrade pip
pip install -r .github/workflows/gh_pages_requirements.txt
- name: Build documentation
run: source tools/mkmanual.sh
- name: Build website
run: |
cd docs
pandoc-plot clean index.md
VERSION=$(pandoc-plot --version)
mkdir build
pandoc --standalone \
--css=theme.css \
--filter pandoc-plot \
--metadata title="pandoc-plot $VERSION" \
-i index.md \
-o build/index.html
mv -v MANUAL.html theme.css plots build
- name: Deploy
uses: JamesIves/github-pages-deploy-action@v4
with:
token: ${{ secrets.GITHUB_TOKEN }}
branch: gh-pages
folder: docs/build
clean: true