-
Notifications
You must be signed in to change notification settings - Fork 47
executable file
·132 lines (113 loc) · 3.4 KB
/
test.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
name: CI
permissions:
contents: read
on:
push:
branches:
- master
pull_request:
branches:
- master
schedule:
# Weekly build on Tuesday at 2:00 AM
- cron: "0 2 * * 2"
# Cancel in-progress workflows when pushing
# a new commit on the same branch
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
linting:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: "3.12"
- name: Install black
run: |
pip install black==25.1.0
- name: Run black
run: |
black --check --diff .
testing:
name: Testing
needs: linting
timeout-minutes: 30
strategy:
fail-fast: false
matrix:
include:
- name: windows-py313
os: windows-latest
PYTHON_VERSION: "3.13"
- name: windows-py39
os: windows-latest
PYTHON_VERSION: "3.9"
LOKY_TEST_NO_CIM: "true"
- name: macos-py313
os: macos-latest
PYTHON_VERSION: "3.13"
- name: macos-py39
os: macos-latest
PYTHON_VERSION: "3.9"
- name: linux-py313
os: ubuntu-latest
PYTHON_VERSION: "3.13"
LOKY_TEST_NO_LSCPU: "true"
- name: linux-py39-joblib-tests
os: ubuntu-latest
PYTHON_VERSION: "3.9"
JOBLIB_TESTS: "true"
- name: linux-python-py39-high-memory
os: ubuntu-latest
PYTHON_VERSION: "3.9"
RUN_MEMORY: "true"
- name: linux-py39
os: ubuntu-latest
PYTHON_VERSION: "3.9"
# Do not install psutil on Python 3.9 to have some CI runs that
# tests that loky has no hard dependency on psutil.
NO_PSUTIL: "true"
# Test that the frozen executables are working
- name: windows-py312-frozen
os: windows-latest
PYTHON_VERSION: "3.12"
PYINSTALLER_TESTS: "true"
- name: macos-py312-frozen
os: macos-latest
PYTHON_VERSION: "3.12"
PYINSTALLER_TESTS: "true"
- name: linux-py312-frozen
os: ubuntu-latest
PYTHON_VERSION: "3.12"
PYINSTALLER_TESTS: "true"
env: ${{ matrix }}
runs-on: ${{ matrix.os }}
defaults:
run:
# Need to use this shell to get conda working properly.
# See https://github.com/marketplace/actions/setup-miniconda#important
shell: ${{ matrix.os == 'windows-latest' && 'cmd /C CALL {0}' || 'bash -el {0}' }}
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Setup conda
uses: conda-incubator/setup-miniconda@v3
with:
auto-activate-base: true
auto-update-conda: true
miniforge-version: latest
- name: Install dependencies
run: |
bash -el continuous_integration/install.sh
- name: Run tests
run: |
bash -el continuous_integration/runtests.sh
- name: Upload to Codecov
# always upload coverage even if tests fail
if: ${{ matrix.JOBLIB_TESTS != 'true' && (success() || failure()) }}
uses: codecov/codecov-action@v5
with:
files: coverage.xml