This repository has been archived by the owner on Mar 11, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 4
140 lines (134 loc) · 4.08 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
129
130
131
132
133
134
135
136
137
138
139
140
name: CI
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
on:
workflow_dispatch:
push:
branches:
- master
pull_request:
branches:
- master
release:
types:
- created
# Sequence of patterns matched against refs/tags
tags:
- 'v*' # Push events to matching v*, i.e. v1.0, v20.15.10
jobs:
test:
name: test polars=${{ matrix.polars_version }} dagster=${{ matrix.dagster_version }} py=${{ matrix.py }} ${{ matrix.os }}
runs-on: ${{ matrix.os }}-latest
strategy:
fail-fast: false
matrix:
os:
- Ubuntu
# MacOs is commented out because: 1. For some reason it's very slow. 2. It never had OS-specific issues
# - MacOs
py:
- "3.11"
- "3.10"
- "3.9"
- "3.8"
dagster_version:
- "1.5.1"
- "1.6.0"
polars_version:
- "0.20"
steps:
- name: Setup python for test ${{ matrix.py }}
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.py }}
- uses: actions/checkout@v2
- name: Install and configure Poetry
uses: snok/install-poetry@v1
with:
version: 1.4.2
virtualenvs-create: false
virtualenvs-in-project: false
installer-parallel: true
- name: Install dependencies
run: poetry install --all-extras --sync
- name: Install matrix overrides
run: poetry add polars=~${{ matrix.polars_version }} dagster=~${{ matrix.dagster_version }} && poetry lock && poetry install --sync --all-extras
- name: Print polars info
run: python -c 'import polars; print(polars.show_versions())'
- name: Print dagster info
run: python -c 'import dagster; print(dagster.__version__)'
- name: Run tests
run: pytest -v .
lint:
name: lint polars=${{ matrix.polars_version }} dagster=${{ matrix.dagster_version }} py=${{ matrix.py }} ${{ matrix.os }}
runs-on: ${{ matrix.os }}-latest
strategy:
fail-fast: false
matrix:
os:
- Ubuntu
py:
- "3.11"
- "3.10"
- "3.9"
- "3.8"
dagster_version:
- "1.5.1"
- "1.6.0"
polars_version:
- "0.20"
steps:
- name: Setup python for test ${{ matrix.py }}
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.py }}
- uses: actions/checkout@v2
- name: Install and configure Poetry
uses: snok/install-poetry@v1
with:
version: 1.4.2
virtualenvs-create: false
virtualenvs-in-project: false
installer-parallel: true
- name: Install dependencies
run: poetry install --all-extras --sync
- name: Install matrix overrides
run: poetry add polars=~${{ matrix.polars_version }} dagster=~${{ matrix.dagster_version }} && poetry lock && poetry install --sync --all-extras
- name: Run pre-commit hooks
run: pre-commit run --all-files
qa_success:
name: QA Success
needs: [test, lint]
runs-on: ubuntu-latest
steps:
- name: Success
run: echo "QA Succeeded!"
publish:
needs: qa_success
if: contains(github.ref, 'refs/tags/')
name: Publish to PyPI
strategy:
fail-fast: false
runs-on: ubuntu-latest
steps:
- name: Setup Python
uses: actions/setup-python@v2
with:
python-version: 3.9
- uses: actions/checkout@v2
- name: Install and configure Poetry
uses: snok/install-poetry@v1
with:
version: 1.4.2
virtualenvs-create: false
virtualenvs-in-project: false
installer-parallel: true
- name: Install poetry-dynamic-versioning
run: poetry self add [email protected]
- name: Publish to PyPI
env:
PYPI_TOKEN: ${{ secrets.PYPI_TOKEN }}
run: |
poetry config pypi-token.pypi $PYPI_TOKEN
poetry publish --build