Skip to content

Option to preserve file mtime on save #177

Option to preserve file mtime on save

Option to preserve file mtime on save #177

Workflow file for this run

name: test
on: [push, pull_request]
jobs:
test:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
python-version: [3.8, 3.9, '3.10', 3.11, '3.12', 'pypy-3.9']
exclude:
# hangs
- os: macos-latest
python-version: pypy-3.9
- os: windows-latest
python-version: pypy-3.9
include:
- os: ubuntu-latest
pip-cache: ~/.cache/pip
poetry-cache: ~/.cache/pypoetry
- os: macos-latest
pip-cache: ~/Library/Caches/pip
poetry-cache: ~/Library/Caches/pypoetry
- os: windows-latest
pip-cache: ~\AppData\Local\pip\Cache
poetry-cache: ~\AppData\Local\pypoetry\Cache
- os: ubuntu-latest
python-version: 3.8
build-docs: true
- os: ubuntu-latest
python-version: 3.11
build-docs: true
steps:
- uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
allow-prereleases: true
- uses: actions/cache@v3
with:
path: |
${{ matrix.pip-cache }}
${{ matrix.poetry-cache }}
key: ${{ runner.os }}-${{ hashFiles('**/pyproject.toml') }}
restore-keys: |
${{ runner.os }}-
- name: Install dependencies
run: |
python -m pip install --upgrade poetry
poetry install
- name: Run tests
run: |
poetry run coverage run --branch setup.py test
poetry run coverage xml -i
- name: Run mypy
# mypy is too slow there
if: matrix.python-version != 'pypy-3.9'
run: |
poetry run mypy .
- name: Run flake8
run: |
poetry run flake8
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v3
- name: Build docs
if: matrix.build-docs
run: |
poetry run sphinx-build -W -a -E -b html -n docs docs/_build