-
Notifications
You must be signed in to change notification settings - Fork 0
142 lines (130 loc) · 4.02 KB
/
lint.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
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/actions/freebsd-vm/**'
- '.github/actions/pdm.conf'
- '.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/actions/freebsd-vm/**'
- '.github/actions/pdm.conf'
- '.github/workflows/lint.yml'
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.sha }}
cancel-in-progress: true
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.1)
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Launch checks
timeout-minutes: 10
uses: ./.github/actions/freebsd-vm
with:
release: '14.1'
python-version: '3.11'
run: |
export TOX_WORK_DIR=/tmp/.tox
tox run -e mypy-full
type-hinting-openbsd:
# TODO: Add this when the workflow is stable.
# 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 (openbsd-7.6)
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Launch checks
timeout-minutes: 10
uses: ./.github/actions/openbsd-vm
with:
release: '7.6'
python-version: '3.11'
# FIXME: Cannot run tox (which uses tox-pdm) on OpenBSD: PDM crashes when installing packages
# c.f. https://github.com/pdm-project/dep-logic/issues/7
run: |
export PYTHONUNBUFFERED=1
export MYPY_CACHE_DIR=/tmp/.mypy_cache
python3.11 -m venv /tmp/.venv
. /tmp/.venv/bin/activate
pip install -r .github/requirements-mypy.txt -e .
mypy --config-file=pyproject.toml -p easynetwork
type-hinting-netbsd:
# TODO: Add this when the workflow is stable.
# 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 (netbsd-10.0)
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Launch checks
timeout-minutes: 10
uses: ./.github/actions/netbsd-vm
with:
release: '10.0'
python-version: '3.11'
run: |
export TOX_WORK_DIR=/tmp/.tox
tox run -e mypy-full