Skip to content

Test

Test #680

Workflow file for this run

name: Test
on:
push:
tags-ignore:
- '*'
branches:
- '*'
pull_request:
workflow_call:
workflow_dispatch:
inputs:
debug:
description: 'Open ssh debug session.'
required: true
default: false
type: boolean
schedule:
# Every Sunday at 9:00 AM Los Angeles time.
# GitHub cron is UTC; 09:00 PT == 17:00 UTC (PST).
- cron: '0 17 * * 0'
jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ['3.10', '3.11', '3.12', '3.13', '3.14']
sphinx-version:
- '6.0'
- '7.0'
- '8.0'
exclude:
- python-version: '3.12'
sphinx-version: '7.0'
- python-version: '3.12'
sphinx-version: '6.0'
- python-version: '3.13'
sphinx-version: '7.0'
- python-version: '3.13'
sphinx-version: '6.0'
- python-version: '3.14'
sphinx-version: '7.0'
- python-version: '3.14'
sphinx-version: '6.0'
steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
allow-prereleases: true
- name: Install uv
uses: astral-sh/setup-uv@v6
with:
enable-cache: true
- name: Upgrade all dependencies for our weekly runs
if: github.event_name == 'schedule'
run: uv lock --upgrade
- name: Install Just
uses: extractions/setup-just@v3
- name: Install Emacs
if: ${{ github.event.inputs.debug == 'on' }}
run: |
sudo apt install emacs
- name: Setup tmate session
if: ${{ github.event.inputs.debug == 'on' }}
uses: mxschmitt/action-tmate@v3
with:
detached: true
timeout-minutes: 60
- name: Install Release Dependencies
run: |
sudo apt-get install libopenblas-dev libxml2-dev libxslt1-dev zlib1g-dev
just test-lock "Sphinx~=${{ matrix.sphinx-version }}"
- name: Run Unit Tests
run: |
just test
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v4
with:
token: ${{ secrets.CODECOV_TOKEN }}
files: ./coverage.xml