Skip to content

Separate CI workflows #2

Separate CI workflows

Separate CI workflows #2

Workflow file for this run

name: docs release
on:
pull_request:
branches:
- main
paths:
- .pre-commit-config.yaml
- .github/workflows/docs_release.yml
- '**.py'
- '**.ipynb'
- '**.html'
- '**.jinja'
- '**.js'
- poetry.lock
- pyproject.toml
- '**.rst'
- '**.md'
- docs/cyclops-webpage
types: [labeled, closed]
jobs:
build:
if: contains(github.event.pull_request.labels.*.name, 'release') || (github.event.action == 'closed' && github.event.pull_request.merged == true)
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4.1.7
with:
submodules: 'true'
- name: Install dependencies, run unit tests and coverage report
run: python3 -m pip install --upgrade pip && python3 -m pip install poetry
- name: Set up Python
uses: actions/setup-python@v5.1.0
with:
python-version: '3.10'
cache: 'poetry'
- name: Install dependencies, build docs with notebooks
run: |
python3 -m pip install --upgrade pip && python3 -m pip install poetry
# Install Pandoc
PANDOC_VERSION="2.19"
curl -sLo- "https://github.com/jgm/pandoc/releases/download/${PANDOC_VERSION}/pandoc-${PANDOC_VERSION}-linux-amd64.tar.gz" | tar xzf - --strip-components 2 -C /usr/local/bin --exclude="share"
poetry env use '3.10'
source $(poetry env info --path)/bin/activate
poetry install --with docs,test --all-extras
cd docs
rm -rf source/reference/api/_autosummary
make html
- name: Set up Node.js
uses: actions/setup-node@v4.0.2
with:
node-version: 18
cache: yarn
cache-dependency-path: '**/yarn.lock'
- name: Build webpage
run: |
cd docs/cyclops-webpage
yarn install --frozen-lockfile
yarn build
cp -r ../build/html build/api
- name: Deploy to GitHub Pages
if: github.event.action == 'closed' && github.event.pull_request.merged == true
uses: peaceiris/actions-gh-pages@v4.0.0
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_branch: github_pages
publish_dir: docs/cyclops-webpage/build