Skip to content

Reuse compile_module_from_src func in benchmark_driver.py #756

Reuse compile_module_from_src func in benchmark_driver.py

Reuse compile_module_from_src func in benchmark_driver.py #756

name: Build on Windows
on:
workflow_dispatch:
pull_request:
branches:
- main
- release/**
push:
branches:
- main
- release/**
permissions: read-all
env:
NEW_WORKSPACE: C:\gh${{ github.run_id }}
jobs:
build:
name: Build
runs-on: avc336
steps:
- name: Enable long paths
run: |
git config --system core.longPaths true
- name: Checkout repository
uses: actions/checkout@v4
- name: Install 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
# 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: Build Triton
run: |
cd ${{ env.NEW_WORKSPACE }}
cmd /c '"C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvarsall.bat" x64 && set' | ForEach-Object {
if ($_ -match '^(.*?)=(.*)$') {
[Environment]::SetEnvironmentVariable($matches[1], $matches[2])
}
}
cd python
pip install -U wheel pybind11 certifi cython cmake setuptools>=65.6.1
python -m certifi
pip install -v --no-build-isolation '.[build]'
- name: Clean
if: ${{ always() }}
run: |
Remove-Item -LiteralPath ${{ env.NEW_WORKSPACE }} -Force -Recurse -ErrorAction Ignore