-
Notifications
You must be signed in to change notification settings - Fork 1
167 lines (132 loc) · 3.69 KB
/
unit_tests.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
name: Unit tests
defaults:
run:
shell: bash -le {0}
on:
push:
repository_dispatch:
workflow_dispatch:
env:
CUDA_DEVICE_ORDER: PCI_BUS_ID
jobs:
test:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ ubuntu-latest, macos-latest, macos-13, windows-latest ] # macos-latest arm64, macos-13 intel
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: 3.11
cache: 'pip'
- name: install
run: pip install .
- name: test os
run: python tests/os.py
- name: test cpu
if: always()
run: python tests/cpu.py
freebsd:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: clean dir
run: rm -rf .git
- name: Test in FreeBSD
uses: vmactions/freebsd-vm@v1
with:
copyback: false
prepare: |
env ASSUME_ALWAYS_YES=yes pkg install -y python py311-pip
run: |
python -V
python -m venv venv
. venv/bin/activate
pip install .
python tests/os.py
solaris:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: clean dir
run: rm -rf .git
- name: Test in Solaris
uses: vmactions/solaris-vm@v1
with:
copyback: false
run: |
python -V
python -m venv venv
source venv/bin/activate
pip install .
python tests/os.py
wsl:
runs-on: windows-latest
steps:
- uses: actions/checkout@v4
- uses: Vampire/setup-wsl@v4
with:
distribution: Ubuntu-24.04
additional-packages:
python3-pip
python3-venv
- name: test os
shell: wsl-bash -u root {0}
run: |
python3 -m venv venv
source venv/bin/activate
pip install .
python tests/os.py
gpu:
runs-on: [self-hosted, Linux]
container:
image: 10.0.14.248:5000/modelcloud/gptqmodel:compiler_cuda124-torch2.5.1-python311
steps:
- uses: actions/checkout@v4
- name: install
run: pip install .
- name: test os
run: python tests/os.py
- name: Find suitable GPU
run: |
gpu_id=$(curl -s "http://10.0.14.248/gpu/get?id=${{ github.run_id }}×tamp=$(date +%s%3N)&force=1")
echo "CUDA_VISIBLE_DEVICES=$gpu_id" >> $GITHUB_ENV
- name: test cpu
run: python tests/cpu.py
- name: test gpu
if: always() && !cancelled()
run: python tests/gpu.py
rocm:
runs-on: [self-hosted, rocm]
container:
image: 10.0.14.248:5000/modelcloud/gptqmodel:github-ci-v6-rocm
options: --device /dev/dri --device /dev/kfd --ipc=host
steps:
- uses: actions/checkout@v4
- name: install
run: pip install .
- name: test os
run: python tests/os.py
- name: test cpu
run: python tests/cpu.py
- name: test gpu
if: always() && !cancelled()
run: python tests/gpu.py
m4:
runs-on: [self-hosted, m4]
steps:
- uses: actions/checkout@v4
- name: Run test
run: |
export PATH="/opt/homebrew/bin:$PATH" && eval "$(pyenv init -)"
pyenv global 3.11.11 && python -m venv venv
source venv/bin/activate
pip install wheel
echo "=== installing device-smi"
pip install . --no-build-isolation
echo "=== running cpu test"
python tests/cpu.py
echo "=== running gpu test"
python tests/gpu.py