Skip to content

Commit

Permalink
Merge pull request #34 from andgoldschmidt/docs_ci
Browse files Browse the repository at this point in the history
Docs ci
  • Loading branch information
andgoldschmidt authored May 6, 2023
2 parents a8de2e7 + 9583097 commit c030108
Show file tree
Hide file tree
Showing 5 changed files with 91 additions and 62 deletions.
55 changes: 55 additions & 0 deletions .github/workflows/pull-docs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
name: Docs

on: [pull_request]

jobs:
docs:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: [ "3.7" ]
poetry-version: [ "1.2.1" ]
steps:
# ======
# Checkout, set up python
# ======
- name: Check out
uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
# ======
# Install and configure poetry from cache
# ======
- name: Load cached Poetry installation
id: cached-poetry
uses: actions/cache@v3
with:
path: ~/.local # the path depends on the OS
key: poetry-${{ matrix.poetry-version }}
# ======
# Load cached venv if cache exists
# Install dependencies if cache does not exist
# ======
- name: Load cached venv
id: cached-poetry-dependencies-docs
uses: actions/cache@v3
with:
path: .venv
key: docs-${{ matrix.python-version }}-${{ matrix.poetry-version }}-${{ hashFiles('**/poetry.lock') }}
- name: Install dependencies
if: steps.cached-poetry-dependencies.outputs.cache-hit != 'true'
run: poetry install --no-interaction --no-root -E docs
# ======
# Install Pandoc
# ======
- name: Use pandoc (external to Poetry)
uses: nikeee/setup-pandoc@v1
# uses: docker://pandoc/latex:2.9
- run: pip install pandoc
# ======
# Run test suite
# ======
- name: Make docs
run: poetry run sphinx-build docs docs/_build
14 changes: 7 additions & 7 deletions .github/workflows/push-test.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
name: Test

# Push/pull overlap if PR is from the same repo,
# but pull_request is nec. for forks, etc.
on: [push, pull_request]

jobs:
Expand Down Expand Up @@ -38,23 +40,21 @@ jobs:
virtualenvs-in-project: true
# ======
# Load cached venv if cache exists
# Install dependencies if cache does not exist
# ======
- name: Load cached venv
id: cached-poetry-dependencies
id: cached-poetry-dependencies-dev
uses: actions/cache@v3
with:
path: .venv
key: venv-${{ matrix.python-version }}-${{ matrix.poetry-version }}-${{ hashFiles('**/poetry.lock') }}
# ======
# Install dependencies if cache does not exist
# ======
key: dev-${{ matrix.python-version }}-${{ matrix.poetry-version }}-${{ hashFiles('**/poetry.lock') }}
- name: Install dependencies
if: steps.cached-poetry-dependencies.outputs.cache-hit != 'true'
if: steps.cached-poetry-dependencies-dev.outputs.cache-hit != 'true'
run: poetry install --no-interaction --no-root -E dev
# ======
# Run test suite
# TODO: output code coverage, --cov=<project-dir> --cov-report=xml
# https://github.com/marketplace/actions/install-poetry-action#codecov-upload
# ======
- name: Run tests
run: poetry run pytest
run: poetry run pytest
36 changes: 26 additions & 10 deletions .readthedocs.yaml
Original file line number Diff line number Diff line change
@@ -1,15 +1,31 @@
# .readthedocs.yaml
# Read the Docs configuration file
# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details

# Required
version: 2

# Set the version of Python and other tools you might need
build:
image: latest

python:
version: 3.7
install:
- method: pip
path: .
extra_requirements:
- docs
os: ubuntu-22.04
tools:
python: "3.7"
jobs:
post_create_environment:
- pip install poetry==1.2.1
- poetry config virtualenvs.create false
post_install:
- poetry install -E docs

# Build documentation in the docs/ directory with Sphinx
sphinx:
configuration: docs/conf.py
configuration: docs/conf.py

# If using Sphinx, optionally build your docs in additional formats such as PDF
# formats:
# - pdf

## Optionally declare the Python requirements required to build your docs
#python:
# install:
# - requirements: docs/requirements.txt
46 changes: 2 additions & 44 deletions poetry.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ ipykernel = {version = "^5.2.1", optional = true}
jupyter_client = {version = "^6.1.3", optional = true}
sphinx_rtd_theme = {version = "^1", optional = true}
matplotlib = {version = "^3.2.1", optional = true}
pandoc = {version = "^2.2", optional = true}
#pandoc = {version = "^2.2", optional = true}

# dev
pytest = {version = "^7", optional = true}
Expand Down

0 comments on commit c030108

Please sign in to comment.