Updated pdm, dev dependencies, and pre-commit pinned versions (#376) #927
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Lint | |
on: | |
workflow_dispatch: | |
pull_request: | |
types: | |
- opened | |
- synchronize | |
- converted_to_draft | |
- ready_for_review | |
branches: | |
- main | |
paths: | |
- 'benchmark_server/**.py' | |
- 'docs/**.py' | |
- 'micro_benchmarks/**.py' | |
- 'src/**.pyi?' | |
- 'tests/**.pyi?' | |
- 'tox.ini' | |
- 'pyproject.toml' | |
- 'pdm.lock' | |
- '.github/actions/setup-tox/**' | |
- '.github/workflows/lint.yml' | |
push: | |
branches: | |
- main | |
tags-ignore: | |
- '*' | |
paths: | |
- 'benchmark_server/**.py' | |
- 'docs/**.py' | |
- 'micro_benchmarks/**.py' | |
- 'src/**.pyi?' | |
- 'tests/**.pyi?' | |
- 'tox.ini' | |
- 'pyproject.toml' | |
- 'pdm.lock' | |
- '.github/actions/setup-tox/**' | |
- '.github/workflows/lint.yml' | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.sha }} | |
cancel-in-progress: true | |
env: | |
PDM_VERSION: '2.20.1' # Used by FreeBSD VM | |
jobs: | |
type-hinting: | |
if: | | |
(github.event_name != 'push' || !startsWith(github.event.head_commit.message, 'Bump version:')) | |
&& (github.event_name != 'pull_request' || github.event.pull_request.draft != true) | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [ubuntu-24.04, windows-2022, macos-14] | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Setup tox | |
uses: ./.github/actions/setup-tox | |
with: | |
python-version: '3.11' | |
- name: Launch checks | |
run: tox run -f mypy | |
type-hinting-freebsd: | |
if: | | |
(github.event_name != 'push' || !startsWith(github.event.head_commit.message, 'Bump version:')) | |
&& (github.event_name != 'pull_request' || github.event.pull_request.draft != true) | |
runs-on: ubuntu-24.04 | |
name: type-hinting (freebsd-14) | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Launch checks | |
uses: vmactions/freebsd-vm@v1 | |
with: | |
release: '14.1' | |
usesh: true | |
prepare: | | |
set -e | |
pkg install -y curl git python311 py311-sqlite3 | |
curl -sSL https://pdm-project.org/install-pdm.py | python3.11 - --version=${{ env.PDM_VERSION }} --path=/usr/local | |
pdm config check_update false | |
pdm config install.cache true | |
run: | | |
set -e | |
pdm install --frozen-lockfile --global --project=. --no-self --no-default --dev --group=tox | |
tox --version | |
tox --workdir /tmp/.tox run -e mypy-full |