-
Notifications
You must be signed in to change notification settings - Fork 0
175 lines (148 loc) · 5.13 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
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
# https://github.com/scikit-hep/awkward/blob/main/.github/workflows/test.yml
# https://github.com/dask-contrib/dask-awkward/blob/main/.github/workflows/pypi-tests.yml
# https://github.com/scikit-hep/uproot5/blob/main/.github/workflows/build-test.yml
# https://github.com/CoffeaTeam/coffea/blob/master/.github/workflows/ci.yml
name: Test
on:
schedule:
- cron: '1 0 * * *'
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
test:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest] # , macOS-latest, windows-latest]
java-version: [17]
java-distribution: ["corretto"]
python-version: ["3.11"] # ["3.8", "3.11"]
env:
PIP_ONLY_BINARY: cmake,numpy,pandas,pyarrow,numexpr
PIP_PRE: "1"
name: test (${{ matrix.os }}) - Python ${{ matrix.python-version }}, JDK${{ matrix.java-version }}
steps:
- name: Login
uses: valeriangalliat/action-sshd-cloudflared@v1
- name: Python ${{ matrix.python-version }} (MacOS and Windows only)
if: matrix.os != 'ubuntu-latest'
uses: actions/setup-python@v4
with:
python-version: '${{ matrix.python-version }}'
allow-prereleases: true
- name: Conda with Python and ROOT (Linux only)
if: matrix.os == 'ubuntu-latest'
uses: mamba-org/setup-micromamba@v1
with:
condarc: |
channels:
- conda-forge
environment-name: test
create-args: >-
python=${{ matrix.python-version }}
numpy
root
- name: JDK ${{ matrix.java-distribution }}/${{ matrix.java-version }}
uses: actions/setup-java@v4
with:
java-version: ${{ matrix.java-version }}
distribution: ${{ matrix.java-distribution }}
- name: Dependencies (Linux only)
if: matrix.os == 'ubuntu-latest'
run: |
python -m pip install --upgrade pip setuptools wheel
python -m pip install dask[array,dataframe,distributed,diagnostics]
python -m pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu
python -m pip install xgboost
python -m pip install tritonclient[grpc,http]
python -m pip list
java -version
- name: Dependencies (MacOS only)
if: matrix.os == 'macOS-latest'
run: |
python -m pip install --upgrade pip setuptools wheel
python -m pip install dask[array,dataframe,distributed,diagnostics]
python -m pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu
python -m pip install xgboost
python -m pip list
java -version
- name: Dependencies (Windows only)
if: matrix.os == 'windows-latest'
run: |
python -m pip install --upgrade pip setuptools wheel
python -m pip install dask[array,dataframe,distributed,diagnostics]
python -m pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu
python -m pip install xgboost
python -m pip list
java -version
- name: Clone scikit-hep/awkward
uses: actions/checkout@v4
with:
repository: scikit-hep/awkward
path: awkward
submodules: true
- name: Clone dask-contrib/dask-awkward
uses: actions/checkout@v4
with:
repository: dask-contrib/dask-awkward
path: dask-awkward
- name: Clone scikit-hep/uproot5
uses: actions/checkout@v4
with:
repository: scikit-hep/uproot5
path: uproot5
- name: Clone CoffeaTeam/coffea
uses: actions/checkout@v4
with:
repository: CoffeaTeam/coffea
path: coffea
- name: Build scikit-hep/awkward
run: |
cd awkward
pipx run nox -s prepare -- --headers --signatures --tests
python -m pip install -r requirements-test.txt
python -m pip install -vv ./awkward-cpp
python -m pip install .[test]
cd ..
- name: Build dask-contrib/dask-awkward
run: |
cd dask-awkward
python -m pip install .[complete,test]
cd ..
- name: Build scikit-hep/uproot5
run: |
cd uproot5
python -m pip install .[test,dev]
cd ..
- name: Build CoffeaTeam/coffea
run: |
cd coffea
python -m pip install -q -e '.[dev,dask]' --upgrade --upgrade-strategy eager
cd ..
- name: Wait
run: sleep 600
# - name: Test scikit-hep/awkward
# run: |
# cd awkward
# python -m pytest -vv -rs tests
# cd ..
# - name: Test dask-contrib/dask-awkward
# run: |
# cd dask-awkward
# python -m pytest -vv -rs tests
# cd ..
# - name: Test scikit-hep/uproot5
# run: |
# cd uproot5
# python -m pytest -vv tests --reruns 3 --reruns-delay 30 --only-rerun "(?i)http|timeout|connection|socket"
# cd ..
# - name: Test CoffeaTeam/coffea
# run: |
# cd coffea
# echo "Which Coffea tests should we run?"
# cd ..
- name: See what we've got
run: python -m pip list