docs #94
Workflow file for this run
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
name: docs | |
on: | |
push: | |
tags: | |
- 'v[0-9]+.[0-9]+.[0-9]+' | |
- 'v[0-9]+.[0-9]+.[0-9]+a[0-9]+' | |
- 'v[0-9]+.[0-9]+.[0-9]+b[0-9]+' | |
- 'v[0-9]+.[0-9]+.[0-9]+rc[0-9]+' | |
workflow_dispatch: | |
inputs: | |
target: | |
description: 'Site to build and deploy' | |
type: choice | |
options: | |
- dev | |
- main | |
- dryrun | |
required: true | |
default: dryrun | |
schedule: | |
- cron: '0 2 1 */2 SUN' # every two months on Sunday at 2 am | |
jobs: | |
pre_commit: | |
name: Run pre-commit hooks | |
runs-on: 'ubuntu-latest' | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
fetch-depth: "1" | |
- name: set PY | |
run: echo "PY=$(python -VV | sha256sum | cut -d' ' -f1)" >> $GITHUB_ENV | |
- uses: actions/cache@v3 | |
with: | |
path: ~/.cache/pre-commit | |
key: pre-commit|${{ env.PY }}|${{ hashFiles('.pre-commit-config.yaml') }} | |
- name: pre-commit | |
uses: pre-commit/action@v3.0.0 | |
build_docs: | |
name: Documentation | |
needs: [pre_commit] | |
runs-on: 'ubuntu-latest' | |
timeout-minutes: 120 | |
defaults: | |
run: | |
shell: bash -l {0} | |
env: | |
MPLBACKEND: "Agg" | |
MOZ_HEADLESS: 1 | |
DISPLAY: ":99.0" | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
fetch-depth: "100" | |
- uses: conda-incubator/setup-miniconda@v2 | |
with: | |
miniconda-version: "latest" | |
- name: Fetch unshallow | |
run: git fetch --prune --tags --unshallow -f | |
- name: Set output | |
id: vars | |
run: echo "tag=${GITHUB_REF#refs/*/}" >> $GITHUB_OUTPUT | |
- name: conda setup | |
run: | | |
conda config --set solver libmamba | |
conda install anaconda-project | |
- name: prepare | |
run: anaconda-project prepare --directory examples | |
- name: conda list | |
run: anaconda-project run --directory examples conda_list | |
- name: generate rst | |
run: anaconda-project run --directory examples doc_rst | |
- name: build docs | |
run: anaconda-project run --directory examples doc_build | |
- name: git status | |
run: | | |
git status | |
git diff | |
- name: Deploy dev | |
uses: peaceiris/actions-gh-pages@v3 | |
if: | | |
(github.event_name == 'workflow_dispatch' && github.event.inputs.target == 'dev') || | |
(github.event_name == 'push' && (contains(steps.vars.outputs.tag, 'a') || contains(steps.vars.outputs.tag, 'b') || contains(steps.vars.outputs.tag, 'rc'))) | |
with: | |
personal_token: ${{ secrets.ACCESS_TOKEN }} | |
external_repository: holoviz-dev/holoviz | |
publish_dir: ./builtdocs | |
force_orphan: true | |
- name: Deploy main | |
if: | | |
(github.event_name == 'workflow_dispatch' && github.event.inputs.target == 'main') || | |
(github.event_name == 'push' && !(contains(steps.vars.outputs.tag, 'a') || contains(steps.vars.outputs.tag, 'b') || contains(steps.vars.outputs.tag, 'rc'))) | |
uses: peaceiris/actions-gh-pages@v3 | |
with: | |
github_token: ${{ secrets.GITHUB_TOKEN }} | |
publish_dir: ./builtdocs | |
cname: holoviz.org | |
force_orphan: true |