-
Notifications
You must be signed in to change notification settings - Fork 8
128 lines (120 loc) · 3.17 KB
/
ci.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
name: "Python CI"
on:
push:
branches:
- "main"
tags:
- "*"
pull_request:
paths:
- ".github/**"
- "Makefile"
- "constraints.txt"
- "examples/**"
- "inngest/**"
- "pyproject.toml"
- "tests/**"
jobs:
format-check:
runs-on: "ubuntu-latest"
strategy:
matrix:
python-version: ["3.9"]
steps:
- uses: "actions/checkout@v2"
- name: "Set up Python ${{ matrix.python-version }}"
uses: "actions/setup-python@v2"
with:
python-version: "${{ matrix.python-version }}"
- name: "Install"
run: "make install"
- name: "Format check"
run: "make format-check"
itest:
runs-on: "ubuntu-latest"
strategy:
matrix:
python-version: ["3.9", "3.12"]
steps:
- uses: "actions/checkout@v2"
- name: "Set up Python ${{ matrix.python-version }}"
uses: "actions/setup-python@v2"
with:
python-version: "${{ matrix.python-version }}"
- name: "Install"
run: "make install"
- name: "Integration test"
run: "make itest"
lint:
runs-on: "ubuntu-latest"
strategy:
matrix:
python-version: ["3.9", "3.12"]
steps:
- uses: "actions/checkout@v2"
- name: "Set up Python ${{ matrix.python-version }}"
uses: "actions/setup-python@v2"
with:
python-version: "${{ matrix.python-version }}"
- name: "Install"
run: "make install"
- name: "Lint"
run: "make lint"
publish-pypi:
runs-on: "ubuntu-latest"
needs:
- "format-check"
- "itest"
- "lint"
- "type-check"
- "utest"
# Only publish tagged versions.
# TODO: Add a check to ensure that the git tag matches the version.
if: "startsWith(github.ref, 'refs/tags/')"
permissions:
id-token: write
strategy:
matrix:
python-version: ["3.9"]
steps:
- uses: "actions/checkout@v2"
- name: "Set up Python ${{ matrix.python-version }}"
uses: "actions/setup-python@v2"
with:
python-version: "${{ matrix.python-version }}"
- name: "Install"
run: "make install"
- name: "Install"
run: "make build"
- name: "Upload package to PyPI"
uses: "pypa/gh-action-pypi-publish@release/v1"
type-check:
runs-on: "ubuntu-latest"
strategy:
matrix:
python-version: ["3.9", "3.12"]
steps:
- uses: "actions/checkout@v2"
- name: "Set up Python ${{ matrix.python-version }}"
uses: "actions/setup-python@v2"
with:
python-version: "${{ matrix.python-version }}"
- name: "Install"
run: "make install"
- name: "Type check"
run: "make type-check"
utest:
runs-on: "ubuntu-latest"
strategy:
matrix:
python-version: ["3.9", "3.12"]
steps:
- uses: "actions/checkout@v2"
- name: "Set up Python ${{ matrix.python-version }}"
uses: "actions/setup-python@v2"
with:
python-version: "${{ matrix.python-version }}"
- name: "Install"
run: "make install"
- name: "Unit test"
run: "make utest"