-
Notifications
You must be signed in to change notification settings - Fork 7
65 lines (60 loc) · 1.54 KB
/
workflow.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
name: Main
on:
push: { branches: [main] }
pull_request: { branches: [main] }
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
env:
NO_VENV: true
jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v4
with:
python-version: "3.11"
cache: pip
- name: "lint: isort"
run: make isort
- name: "lint: black"
run: make black
- name: "lint: ruff"
run: make ruff
- name: "lint: pylint"
run: make pylint
- name: "lint: mypy"
run: make mypy
- name: "lint: bandit"
run: make bandit
test:
name: test (Python ${{ matrix.target.python }}, ClickHouse ${{ matrix.clickhouse }})
needs: lint
strategy:
fail-fast: false
matrix:
target:
- python: "3.6"
ubuntu: "20.04"
- python: "3.10"
ubuntu: "22.04"
- python: "3.11"
ubuntu: "latest"
clickhouse:
- "21.8.15.7"
- "22.3.20.29"
- "22.8.20.11"
- "23.3.8.21"
- "23.6.2.18"
runs-on: ubuntu-${{ matrix.target.ubuntu }}
steps:
- uses: actions/checkout@v3
- name: set up python ${{ matrix.target.python }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.target.python }}
- name: run unit tests
run: make test-unit
- name: run integration tests
run: CLICKHOUSE_VERSION=${{ matrix.clickhouse }} make test-integration