Skip to content

Stop configuring ttt-defs.h with CMake #124

Stop configuring ttt-defs.h with CMake

Stop configuring ttt-defs.h with CMake #124

Workflow file for this run

name: Build documentation and deploy
on:
pull_request:
branches: [main]
push:
branches: [main]
workflow_dispatch:
inputs:
debug_enabled:
type: boolean
description: 'Run the build with tmate debugging enabled'
required: false
default: false
env:
# Increase to reset cache manually
CACHE_NUMBER: 0
MYLIB_ENV: /usr/share/miniconda/envs/mylib-dev
jobs:
docs:
runs-on: ubuntu-latest
defaults:
run:
shell: bash -l {0}
env:
PUSH_ON_MAIN: ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' }}
steps:
- name: Setup GitHub actions
id: setup_actions
uses: actions/checkout@v3
- name: Setup tmate session
id: setup_tmate
uses: mxschmitt/[email protected]
if: ${{ inputs.debug_enabled }}
- name: Setup a new project
id: setup_new_project
run: |
./setup.sh -r mylib -n
- name: Setup conda environment
id: setup_conda
uses: conda-incubator/setup-miniconda@v2
with:
activate-environment: mylib-dev
use-mamba: false
# https://dev.to/epassaro/caching-anaconda-environments-in-github-actions-5hde
- name: Cache conda environment
id: cache_conda
uses: actions/cache@v3
with:
path: ${{ env.MYLIB_ENV }}
key: conda-${{ runner.os }}-${{ hashFiles('environment-dev.yml') }}-${{ hashFiles('requirements-dev.txt') }}-${{ env.CACHE_NUMBER }}
- name: Update conda environment
id: update_env
run: |
conda env update -n mylib-dev -f environment-dev.yml
if: steps.cache.outputs.cache-hit != 'true'
- name: Build documentation
id: build_docs
run: |
./mylibcfg -enable-docs
./mylib -docs -install
# https://github.blog/2009-12-29-bypassing-jekyll-on-github-pages/
- name: Bypass Jekyll
id: bypass_jekyll
if: ${{ fromJSON(env.PUSH_ON_MAIN) }}
run: |
cd build/docs/sphinx && touch .nojekyll
- name: Deploy to gh-pages
id: deploy_to_gh_pages
if: ${{ fromJSON(env.PUSH_ON_MAIN) }}
uses: JamesIves/github-pages-deploy-action@releases/v3
with:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
BRANCH: gh-pages
FOLDER: build/docs/sphinx
- name: Block to allow inspecting failures
id: block_for_tmate
run: sleep 30m
if: ${{ failure() && inputs.debug_enabled }}