Deploy docs #42
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# This workflow should be manually triggered to build and deploy neoscore.org | |
# Some care is needed since the doc site doesn't currently support version-specific docs, | |
# so docs for new features shouldn't be deployed until they're available to users. | |
name: Deploy docs | |
on: workflow_dispatch | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
timeout-minutes: 10 | |
steps: | |
#---------------------------------------------- | |
# check-out repo and set-up python | |
#---------------------------------------------- | |
- name: Check out repository | |
uses: actions/checkout@v2 | |
- name: Set up python | |
id: setup-python | |
uses: actions/setup-python@v4 | |
with: | |
python-version: '3.7' | |
#---------------------------------------------- | |
# ----- install & configure poetry ----- | |
#---------------------------------------------- | |
- name: Install Poetry | |
uses: snok/install-poetry@v1 | |
with: | |
# Poetry seems to have dropped official support for Python 3.7 | |
# but we need it for PyQt build artifacts. Pin poetry version. | |
# See https://github.com/snok/install-poetry/issues/131 | |
# and https://github.com/python-poetry/poetry/pull/7674 | |
version: 1.5.1 | |
virtualenvs-create: true | |
virtualenvs-in-project: true | |
installer-parallel: true | |
#---------------------------------------------- | |
# load cached venv if cache exists | |
#---------------------------------------------- | |
- name: Load cached venv | |
id: cached-poetry-dependencies | |
uses: actions/cache@v2 | |
with: | |
path: .venv | |
key: venv-${{ runner.os }}-${{ steps.setup-python.outputs.python-version }}-${{ hashFiles('**/poetry.lock') }} | |
#---------------------------------------------- | |
# install dependencies if cache does not exist | |
#---------------------------------------------- | |
- name: Install dependencies | |
if: steps.cached-poetry-dependencies.outputs.cache-hit != 'true' | |
run: poetry install --no-interaction --no-root | |
#---------------------------------------------- | |
# install your root project, if required | |
#---------------------------------------------- | |
- name: Install neoscore | |
run: poetry install --no-interaction | |
- name: Build docs site | |
working-directory: doc | |
env: | |
NEOSCORE_HEADLESS: True | |
run: | | |
sudo apt install graphviz | |
source ../.venv/bin/activate | |
make html | |
- name: Deploy docs site | |
working-directory: doc | |
env: | |
NETLIFY_SITE_ID: ${{ secrets.NETLIFY_SITE_ID }} | |
NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }} | |
run: | |
netlify deploy --dir=_build/html --prod |