-
Notifications
You must be signed in to change notification settings - Fork 44
81 lines (66 loc) · 2.63 KB
/
build-test-windows.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
name: Build and test on Windows
on:
workflow_dispatch:
schedule:
- cron: "1 5 * * *"
permissions: read-all
env:
NEW_WORKSPACE: C:\gh${{ github.run_id }}
ZE_PATH: C:\level_zero
PYTEST_MAX_PROCESSES: 8
TRITON_TEST_CMD: bash -x scripts/test-triton.sh --skip-pytorch-install --skip-pip-install --skip-list scripts/skiplist/a770 --reports-dir reports --ignore-errors
jobs:
build:
name: Build and test
runs-on: win-a770
steps:
- name: Enable long paths
run: |
git config --system core.longPaths true
- name: Checkout repository
uses: actions/checkout@v4
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: '3.9'
# Copy workspace to a temporary location with a shorter name.
- name: Copy workspace
run: |
Copy-Item -Path ${{ github.workspace }} -Destination ${{ env.NEW_WORKSPACE }} -Recurse
- name: PyTorch version
run: |
Invoke-BatchFile "C:\Program Files (x86)\Intel\oneAPI\setvars.bat"
python -c 'import torch;print(torch.__version__)'
# We need ninja >= 1.12.0 to support long names on Windows. At the moment there is no required
# version in pypi, so instead of installing ninja with pip we use a preinstalled 1.12.1 on the
# runner.
- name: Setup Triton
run: |
cd ${{ env.NEW_WORKSPACE }}
Invoke-BatchFile "C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvarsall.bat" x64
cd python
pip install -U wheel pybind11 cython cmake 'setuptools>=65.6.1'
pip install -v --no-build-isolation '.[build,tests,tutorials]'
- name: Triton version
run: |
Invoke-BatchFile "C:\Program Files (x86)\Intel\oneAPI\setvars.bat"
python -c 'import triton; print(triton.__version__)'
- name: Install test dependencies
run: |
pip install -r scripts\requirements-test.txt
- name: Run core tests
run: |
Invoke-BatchFile "C:\Program Files (x86)\Intel\oneAPI\setvars.bat"
${{ env.TRITON_TEST_CMD }} --core
- name: Run interpreter tests
run: |
Invoke-BatchFile "C:\Program Files (x86)\Intel\oneAPI\setvars.bat"
${{ env.TRITON_TEST_CMD }} --interpreter
- name: Pass rate
run: |
pip install defusedxml
python scripts/pass_rate.py --reports reports --skip-list scripts/skiplist/a770
- name: Clean up workspace
if: ${{ always() }}
run: |
Remove-Item -LiteralPath ${{ env.NEW_WORKSPACE }} -Force -Recurse -ErrorAction Ignore