-
Notifications
You must be signed in to change notification settings - Fork 10
132 lines (100 loc) · 3.22 KB
/
python-package.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
name: CI
on:
push:
branches: [main, workflow]
pull_request:
branches: [main]
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
env:
PIP_DISABLE_PIP_VERSION_CHECK: 1
PIP_NO_PYTHON_VERSION_WARNING: 1
jobs:
build-27-buster:
# https://github.com/actions/setup-python/issues/672#issuecomment-1589120020
runs-on: ubuntu-latest
container:
image: python:2.7.18-buster
strategy:
fail-fast: false
matrix:
python-version: ["2.7"]
steps:
- name: Check out project
uses: actions/checkout@v4
- name: Install dependencies
run: python -m pip install -e .
- name: List installed packages
run: python -m pip list
- name: Run tests
run: python -m unittest discover
build-36-buster:
# https://github.com/actions/setup-python/issues/672#issuecomment-1589120020
runs-on: ubuntu-latest
container:
image: python:3.6.15-buster
strategy:
fail-fast: false
matrix:
python-version: ["3.6"]
steps:
- name: Check out project
uses: actions/checkout@v4
- name: Install dependencies
run: python -m pip install -e .
- name: List installed packages
run: python -m pip list
- name: Run tests
run: python -m unittest discover
build:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
python-version: ["3.7", "3.8", "3.9", "3.10", "3.11", "3.12", pypy-2.7, pypy-3.10]
steps:
- name: Check out project
uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: python -m pip install -e .
- name: List installed packages
run: python -m pip list
- name: Run tests
run: python -m unittest discover
type-check:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
python-version: ["3.9", "3.12"]
steps:
- name: Check out project
uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Get pip cache info
id: pip-cache
run: |
echo dir=$(python -m pip cache dir) >> $GITHUB_OUTPUT
echo py=$(python -c'import sys; print("%d.%d" % sys.version_info[:2])') >> $GITHUB_OUTPUT
echo dir=$(python -m pip cache dir)
echo py=$(python -c'import sys; print("%d.%d" % sys.version_info[:2])')
- name: Cache pip
uses: actions/cache@v4
with:
path: ${{ steps.pip-cache.outputs.dir }}
key: ${{ runner.os }}-pip-py${{ steps.pip-cache.outputs.py }}-${{ hashFiles('setup.cfg') }}
restore-keys: ${{ runner.os }}-pip-py${{ steps.pip-cache.outputs.py }}-
- name: Install dependencies
run: python -m pip install -e .[mypy]
- name: List installed packages
run: python -m pip list
- name: Run type checker
run: python -m mypy --strict --exclude lazy/tests lazy