-
Notifications
You must be signed in to change notification settings - Fork 0
132 lines (107 loc) · 3.07 KB
/
tests.yml
File metadata and controls
132 lines (107 loc) · 3.07 KB
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
name: "Tests"
on:
push:
branches: [ main ]
pull_request: ~
# Allow job to be triggered manually.
workflow_dispatch:
# Run job each night after CrateDB nightly has been published.
schedule:
- cron: '0 4 * * *'
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
test-cpython:
name: "
CPython ${{ matrix.python-version }}
"
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: ['ubuntu-latest']
python-version: ['3.13']
env:
OS: ${{ matrix.os }}
PYTHON: ${{ matrix.python-version }}
UV_SYSTEM_PYTHON: true
services:
cratedb:
image: crate/crate:nightly
ports:
- 4200:4200
steps:
- name: Acquire sources
uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Set up uv
uses: astral-sh/setup-uv@v5
with:
cache-dependency-glob: |
pyproject.toml
requirements*.txt
cache-suffix: ${{ matrix.python-version }}
enable-cache: true
version: "latest"
- name: Set up project requirements and tools
run: uv pip install --requirement=requirements.txt --requirement=requirements-dev.txt
- name: Run linters and software tests
run: poe check-cpython
# https://github.com/codecov/codecov-action
- name: Upload coverage results to Codecov
uses: codecov/codecov-action@v5
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
with:
files: ./coverage.xml
flags: cpython
env_vars: OS,PYTHON
name: codecov-umbrella
fail_ci_if_error: true
test-micropython:
name: "
MicroPython ${{ matrix.micropython-version }}
"
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: ['ubuntu-latest']
micropython-version: [
'v1.20.0',
'v1.24.0',
'v1.25.0-preview',
]
env:
OS: ${{ matrix.os }}
MICROPYTHON: ${{ matrix.micropython-version }}
UV_SYSTEM_PYTHON: true
services:
cratedb:
image: crate/crate:nightly
ports:
- 4200:4200
steps:
- name: Acquire sources
uses: actions/checkout@v4
- name: Set up CPython
uses: actions/setup-python@v5
with:
python-version: '3.13'
- name: Install uv
uses: astral-sh/setup-uv@v5
- name: Set up project tools
run: uv pip install poethepoet
# https://github.com/marketplace/actions/install-micropython
- name: Set up MicroPython ${{ matrix.micropython-version }}
uses: BrianPugh/install-micropython@v2
with:
reference: ${{ matrix.micropython-version }}
- name: Set up project requirements
run: micropython -m mip install base64 requests
- name: Run linters and software tests
run: poe check-micropython