mirror of
https://github.com/ravenscroftj/turbopilot.git
synced 2024-07-01 00:31:27 +00:00
test windows build
This commit is contained in:
parent
e30b7bf984
commit
dd29522184
98
.github/workflows/build-commit.yml
vendored
98
.github/workflows/build-commit.yml
vendored
|
@ -135,3 +135,101 @@ jobs:
|
||||||
with:
|
with:
|
||||||
token: ${{ secrets.PUBLISH_TOKEN }}
|
token: ${{ secrets.PUBLISH_TOKEN }}
|
||||||
files: ${{github.workspace}}/ggml/build/bin/turbopilot-${{ runner.os }}-${{ runner.arch }}.zip
|
files: ${{github.workspace}}/ggml/build/bin/turbopilot-${{ runner.os }}-${{ runner.arch }}.zip
|
||||||
|
|
||||||
|
windows-latest-cmake:
|
||||||
|
runs-on: windows-latest
|
||||||
|
env:
|
||||||
|
OPENBLAS_VERSION: 0.3.23
|
||||||
|
OPENCL_VERSION: 2023.04.17
|
||||||
|
CLBLAST_VERSION: 1.6.0
|
||||||
|
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
include:
|
||||||
|
- build: 'avx2'
|
||||||
|
defines: ''
|
||||||
|
- build: 'avx'
|
||||||
|
defines: '-GGML_AVX2=OFF'
|
||||||
|
- build: 'avx512'
|
||||||
|
defines: '-GGML_AVX512=ON -DBUILD_SHARED_LIBS=ON'
|
||||||
|
- build: 'openblas'
|
||||||
|
defines: '-GGML_OPENBLAS=ON -DBLAS_INCLUDE_DIRS="$env:RUNNER_TEMP/openblas/include" -DBLAS_LIBRARIES="$env:RUNNER_TEMP/openblas/lib/openblas.lib"'
|
||||||
|
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Clone
|
||||||
|
id: checkout
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
with:
|
||||||
|
submodules: true
|
||||||
|
|
||||||
|
- name: Download OpenBLAS
|
||||||
|
id: get_openblas
|
||||||
|
if: ${{ matrix.build == 'openblas' }}
|
||||||
|
run: |
|
||||||
|
curl.exe -o $env:RUNNER_TEMP/openblas.zip -L "https://github.com/xianyi/OpenBLAS/releases/download/v${env:OPENBLAS_VERSION}/OpenBLAS-${env:OPENBLAS_VERSION}-x64.zip"
|
||||||
|
curl.exe -o $env:RUNNER_TEMP/OpenBLAS.LICENSE.txt -L "https://github.com/xianyi/OpenBLAS/raw/v${env:OPENBLAS_VERSION}/LICENSE"
|
||||||
|
mkdir $env:RUNNER_TEMP/openblas
|
||||||
|
tar.exe -xvf $env:RUNNER_TEMP/openblas.zip -C $env:RUNNER_TEMP/openblas
|
||||||
|
$vcdir = $(vswhere -latest -products * -requires Microsoft.VisualStudio.Component.VC.Tools.x86.x64 -property installationPath)
|
||||||
|
$msvc = $(join-path $vcdir $('VC\Tools\MSVC\'+$(gc -raw $(join-path $vcdir 'VC\Auxiliary\Build\Microsoft.VCToolsVersion.default.txt')).Trim()))
|
||||||
|
$lib = $(join-path $msvc 'bin\Hostx64\x64\lib.exe')
|
||||||
|
& $lib /machine:x64 "/def:${env:RUNNER_TEMP}/openblas/lib/libopenblas.def" "/out:${env:RUNNER_TEMP}/openblas/lib/openblas.lib" /name:openblas.dll
|
||||||
|
|
||||||
|
- name: Build
|
||||||
|
id: cmake_build
|
||||||
|
run: |
|
||||||
|
cd ${{github.workspace}}/ggml
|
||||||
|
mkdir build
|
||||||
|
cd build
|
||||||
|
cmake .. ${{ matrix.defines }}
|
||||||
|
cmake --build . --config Release
|
||||||
|
|
||||||
|
- name: Add libopenblas.dll
|
||||||
|
id: add_libopenblas_dll
|
||||||
|
if: ${{ matrix.build == 'openblas' }}
|
||||||
|
run: |
|
||||||
|
cp $env:RUNNER_TEMP/openblas/bin/libopenblas.dll ./build/bin/Release/openblas.dll
|
||||||
|
cp $env:RUNNER_TEMP/OpenBLAS.LICENSE.txt ./build/bin/Release/OpenBLAS-${env:OPENBLAS_VERSION}.txt
|
||||||
|
|
||||||
|
- name: Check AVX512F support
|
||||||
|
id: check_avx512f
|
||||||
|
if: ${{ matrix.build == 'avx512' }}
|
||||||
|
continue-on-error: true
|
||||||
|
run: |
|
||||||
|
cd build
|
||||||
|
$vcdir = $(vswhere -latest -products * -requires Microsoft.VisualStudio.Component.VC.Tools.x86.x64 -property installationPath)
|
||||||
|
$msvc = $(join-path $vcdir $('VC\Tools\MSVC\'+$(gc -raw $(join-path $vcdir 'VC\Auxiliary\Build\Microsoft.VCToolsVersion.default.txt')).Trim()))
|
||||||
|
$cl = $(join-path $msvc 'bin\Hostx64\x64\cl.exe')
|
||||||
|
echo 'int main(void){unsigned int a[4];__cpuid(a,7);return !(a[1]&65536);}' >> avx512f.c
|
||||||
|
& $cl /O2 /GS- /kernel avx512f.c /link /nodefaultlib /entry:main
|
||||||
|
.\avx512f.exe && echo "AVX512F: YES" && ( echo HAS_AVX512F=1 >> $env:GITHUB_ENV ) || echo "AVX512F: NO"
|
||||||
|
|
||||||
|
- uses: benjlevesque/short-sha@v2.2
|
||||||
|
id: short-sha
|
||||||
|
with:
|
||||||
|
length: 6
|
||||||
|
|
||||||
|
|
||||||
|
- name: Upload Build Artifacts
|
||||||
|
uses: actions/upload-artifact@v3.1.2
|
||||||
|
with:
|
||||||
|
# Artifact name
|
||||||
|
name: turbopilot-${{ runner.os }}-${{ runner.arch }}-${{ steps.short-sha.outputs.sha }}-${{ matrix.build }} # optional, default is artifact
|
||||||
|
# A file, directory or wildcard pattern that describes what to upload
|
||||||
|
path: ${{github.workspace}}/ggml/build/bin/codegen*
|
||||||
|
# The desired behavior if no files are found using the provided path.
|
||||||
|
|
||||||
|
- name: package artifacts for release
|
||||||
|
if: startsWith(github.ref, 'refs/tags/')
|
||||||
|
|
||||||
|
run: |
|
||||||
|
cd ${{github.workspace}}/ggml/build/bin
|
||||||
|
7z a turbopilot-${{ runner.os }}-${{ runner.arch }}.zip ./codegen*
|
||||||
|
|
||||||
|
- name: Upload binaries to release
|
||||||
|
uses: softprops/action-gh-release@v1
|
||||||
|
if: startsWith(github.ref, 'refs/tags/')
|
||||||
|
with:
|
||||||
|
token: ${{ secrets.PUBLISH_TOKEN }}
|
||||||
|
files: ${{github.workspace}}/ggml/build/bin/turbopilot-${{ runner.os }}-${{ runner.arch }}.zip
|
Loading…
Reference in New Issue
Block a user