Windows 10 SDK installation on workflow pipeline. #82
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Build CI [Windows] | |
on: | |
push: | |
paths: | |
- .github/workflows/** | |
- assets/** | |
- examples/** | |
- lib/** | |
- include/** | |
- src/** | |
- test/** | |
- build.py | |
branches: | |
- main | |
jobs: | |
build: | |
runs-on: windows-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v2 | |
- name: Microsoft Visual Studio C/C++ | |
uses: ilammy/msvc-dev-cmd@v1 | |
with: | |
arch: x86_amd64 | |
- name: Install winget | |
uses: Cyberboss/install-winget@v1 | |
- name: MSVC Redistributable Installation | |
run: | | |
winget install --id=Microsoft.VCRedist.2008.x86 --disable-interactivity --accept-source-agreements -e | |
winget install --id=Microsoft.VCRedist.2008.x64 --disable-interactivity --accept-source-agreements -e | |
winget install --id=Microsoft.VCRedist.2010.x86 --disable-interactivity --accept-source-agreements -e | |
winget install --id=Microsoft.VCRedist.2010.x64 --disable-interactivity --accept-source-agreements -e | |
winget install --id=Microsoft.VCRedist.2012.x86 --disable-interactivity --accept-source-agreements -e | |
winget install --id=Microsoft.VCRedist.2012.x64 --disable-interactivity --accept-source-agreements -e | |
winget install --id=Microsoft.VCRedist.2013.x86 --disable-interactivity --accept-source-agreements -e | |
winget install --id=Microsoft.VCRedist.2013.x64 --disable-interactivity --accept-source-agreements -e | |
- name: Windows 10 SDK Installation | |
uses: GuillaumeFalourd/setup-windows10-sdk-action@v2 | |
- name: CUDA Toolkit | |
uses: Jimver/[email protected] | |
id: cuda-toolkit | |
with: | |
cuda: '12.6.0' | |
- name: Add msbuild to PATH | |
uses: microsoft/setup-msbuild@v2 | |
- name: Python 3.12 Installation | |
uses: actions/setup-python@v5 | |
with: | |
python-version: '3.12' | |
- name: Build Zhivo | |
run: | | |
python build.py | |
- name: Build verification | |
run: | | |
dir dist | |
tree dist | |
- name: Run test scripts (AMD64) | |
run: | | |
dist\zhivo-win32-amd64-openmp.exe test\arithmetic.zhv | |
dist\zhivo-win32-amd64-openmp.exe test\array.zhv | |
dist\zhivo-win32-amd64-openmp.exe test\digits.zhv | |
dist\zhivo-win32-amd64-openmp.exe test\error_handling.zhv | |
dist\zhivo-win32-amd64-openmp.exe test\flow.zhv | |
dist\zhivo-win32-amd64-openmp.exe test\func.zhv | |
dist\zhivo-win32-amd64-openmp.exe test\loop.zhv | |
dist\zhivo-win32-amd64-openmp.exe test\parallel.zhv | |
dist\zhivo-win32-amd64-openmp.exe test\regex.zhv | |
dist\zhivo-win32-amd64-openmp.exe test\test.zhv | |
dist\zhivo-win32-amd64-openmp.exe test\types.zhv | |
- name: Run test scripts (CUDA) | |
run: | | |
dist\zhivo-win32-amd64-nvidia.exe test\arithmetic.zhv | |
dist\zhivo-win32-amd64-nvidia.exe test\array.zhv | |
dist\zhivo-win32-amd64-nvidia.exe test\digits.zhv | |
dist\zhivo-win32-amd64-nvidia.exe test\error_handling.zhv | |
dist\zhivo-win32-amd64-nvidia.exe test\flow.zhv | |
dist\zhivo-win32-amd64-nvidia.exe test\func.zhv | |
dist\zhivo-win32-amd64-nvidia.exe test\loop.zhv | |
dist\zhivo-win32-amd64-nvidia.exe test\parallel.zhv | |
dist\zhivo-win32-amd64-nvidia.exe test\regex.zhv | |
dist\zhivo-win32-amd64-nvidia.exe test\test.zhv | |
dist\zhivo-win32-amd64-nvidia.exe test\types.zhv | |
- name: Run examples (AMD64) | |
run: | | |
dist\zhivo-win32-amd64-openmp.exe examples\99-beers.zhv | |
dist\zhivo-win32-amd64-openmp.exe examples\hello.zhv | |
- name: Run examples (CUDA) | |
run: | | |
dist\zhivo-win32-amd64-nvidia.exe examples\99-beers.zhv | |
dist\zhivo-win32-amd64-nvidia.exe examples\hello.zhv | |
- name: Upload dist folder | |
uses: actions/upload-artifact@v4 | |
with: | |
name: zhivo-windows-dist | |
path: dist/ |