Skip to content

Remove upper pin for Sphinx (and adding newer sphinx and python version to CI testing) #1614

Remove upper pin for Sphinx (and adding newer sphinx and python version to CI testing)

Remove upper pin for Sphinx (and adding newer sphinx and python version to CI testing) #1614

Workflow file for this run

name: continuous-integration
on:
push:
branches: [master]
tags:
- 'v*'
pull_request:
schedule:
# run every Monday at 5am UTC
- cron: '0 5 * * 1'
workflow_dispatch:
jobs:
tests:
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest]
python-version: ["3.11", "3.12", "3.13", "3.14"]
sphinx: [""] # Newest Sphinx
myst-parser: [""] # Newest MyST Parser (any)
include:
# Just check the other platforms once
- os: windows-latest
python-version: "3.13"
sphinx: "~=8.0"
myst-parser: "~=4.0"
pillow: "==12.0.0"
- os: macos-latest
python-version: "3.13"
sphinx: "~=8.0"
myst-parser: "~=4.0"
pillow: "==12.0.0"
- os: ubuntu-latest
python-version: "3.13"
sphinx: "~=8.0"
myst-parser: "~=4.0"
pillow: "==12.0.0"
# Oldest known-compatible dependencies
- os: ubuntu-latest
python-version: "3.10"
sphinx: "==5.0.0"
myst-parser: "==1.0.0"
pillow: "==12.0.0"
# Mid-range dependencies
- os: ubuntu-latest
python-version: "3.11"
sphinx: "==7.0.0"
myst-parser: "==3.0.0"
pillow: "==12.0.0"
# Newest known-compatible dependencies
- os: ubuntu-latest
python-version: "3.14"
sphinx: "~=9.0"
myst-parser: "~=5.0"
pillow: "==12.0.0"
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v6
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v6
with:
python-version: ${{ matrix.python-version }}
allow-prereleases: true
cache: pip
- name: Install myst-nb with Sphinx ${{ matrix.sphinx }}
shell: bash
run: |
pip install --upgrade "Sphinx${{ matrix.sphinx }}" "myst-parser${{ matrix.myst-parser }}" "pillow${{ matrix.pillow }}" -e .[testing]
pip freeze
- name: Run pytest
run: pytest --durations=10
publish:
name: Publish to PyPI
needs: [tests]
if: github.event_name == 'push' && startsWith(github.event.ref, 'refs/tags')
runs-on: ubuntu-latest
steps:
- name: Checkout source
uses: actions/checkout@v6
- name: Set up Python
uses: actions/setup-python@v6
with:
python-version: "3.10"
- name: install flit
run: |
pip install flit~=3.4
- name: Build and publish
run: |
flit publish
env:
FLIT_USERNAME: __token__
FLIT_PASSWORD: ${{ secrets.PYPI_KEY }}