From 0e56999a573fada2cce6e94c21ef856cc88dc933 Mon Sep 17 00:00:00 2001 From: Ellie Hermaszewska Date: Wed, 10 Jul 2024 22:37:21 +0800 Subject: WIP Drop Premake (#3703) * Remove premake lua * Remove premake generated vs project * remove deps file * Remove premake driving bat files * Full test matrix under CMake * Remove premake based ci workflows * Wiggle CI * remove cmake from ci name * find frameworks correctly on osx * remove cmake from ci name * Cope with sccache not being available * cmake based falcor tests * ci wobble * only install ninja if necessary * more appropriate cache name * Remove premake from build instructions * Add some docs on ci setup * remove premake from regression tests * remove premake from perf test * Set SLANGC_PATH * ci wobble * bump slang-binaries * ci wobble * Bump spirv tools * dont use timestamp in cache * remote debug code * cache key wobble * Install sccache after building llvm * Do not build llvm tools * ci wobble * ci wobble * ci wobble * ci wobble * ci wobble * Tests spirv via glsl in ci * Define SLANG_ENABLE_XLIB=1 * osx builds on aarch64 * ci wobble * ci wobble * ci wobble * ci wobble * ci wobble * ci wobble * package documentation and metadata with cmake * ci wobble * Split hlsl double intrinsic tests * ci wobble * Correct type for double log10 Fixes https://github.com/shader-slang/slang/issues/4549 * remove working test from expected failures * add broken test to expected failures * smaller build for falcor tests * ci wobble * A few exclusions in ci * wip, release script * Enable examples in ci * neaten release script * Correct building docs * Only use xlib vulkan when slang_enable_xlib is true * bump slang-llvm version * Remove toolchain file use * Bump slang-llvm preset version * slash direction * Improve build directions * Add msvc cross build documentation * Disable old release files * Smaller set of releases for test * Allow not building llvm * simplify release matrix * Cross releases * formatting * formatting * ci wiggle * ci wiggle * cleaner * neaten * ci wobble * formatting * Install cross tools on linux * do not clean build dir * neaten ci * neaten ci * neaten ci * remove unused release workflow files * Build llvm on some platforms * neaten ci * notarize on osx * s/x64/x86_64 * ci wobble * Embed stdlib for release build * wobble ci * wobble ci * s/x64/x86_64 * ci wobble * ci wobble * ci wobble * vk-gl-cts on cmake * neaten ci * neaten ci * bump cache action version * Cope with windows being weird about case * old glibc version * old glibc version * Correct action file * Keep cache hot on main branch * separate small script for old glibc releases * ci wobble * ci wobble * Run cmake outside of docker * only sign on releases * Revert "Run cmake outside of docker" This reverts commit a58aaba939a4aa35fe70962fd60d9512b143592f. * python3 on build image * less parallel * ci wobble * ci wobble * ci wobble * newer git * ci wobble * ci wobble * Use newer docker image * Use newer docker image * sccache wobble * permissions issue * neaten * build llvm in ci * build llvm in ci * Remove linux clang build in ci * Only install crossbuild tools on non-aarch64 systems * neaten ci.yml * Correct github matrix * Simplify github matrix * ci wobble * Disable broken test See https://github.com/shader-slang/slang/issues/4589 * ci wobble * Neater slang-llvm archive filename * Neater path for uploading artifacts * Neater ci names * Use Windows SDK 10.0.19041.0 in cmake builds --- .github/workflows/compile-regression-test.yml | 53 ++++++++++++++++----------- 1 file changed, 31 insertions(+), 22 deletions(-) (limited to '.github/workflows/compile-regression-test.yml') diff --git a/.github/workflows/compile-regression-test.yml b/.github/workflows/compile-regression-test.yml index 962b2cf54..b6b484b9a 100644 --- a/.github/workflows/compile-regression-test.yml +++ b/.github/workflows/compile-regression-test.yml @@ -1,5 +1,3 @@ -# This is a basic workflow to help you get started with Actions - name: Compile Regression-Test on: @@ -12,37 +10,48 @@ concurrency: cancel-in-progress: true jobs: build: - runs-on: [self-hosted, Windows, regression-test] timeout-minutes: 100 continue-on-error: true strategy: fail-fast: false matrix: - configuration: ['Release'] - platform: ['x64'] + os: [windows] + config: [release] + compiler: [cl] + platform: [x86_64] include: - - platform: x64 - testPlatform: x64 - - platform: x64 - testCategory: full + # Self-hosted falcor tests + - warnings-as-errors: false + test-category: full + full-gpu-tests: false + runs-on: [Windows, self-hosted, regression-test] + runs-on: ${{ matrix.runs-on }} + defaults: + run: + shell: bash steps: - uses: actions/checkout@v3 with: submodules: 'true' fetch-depth: '0' - - name: setup-msbuild - uses: microsoft/setup-msbuild@v1 - - name: build + - name: Setup + uses: ./.github/actions/common-setup + with: + os: ${{matrix.os}} + compiler: ${{matrix.compiler}} + platform: ${{matrix.platform}} + config: ${{matrix.config}} + build-llvm: true + - name: Build Slang run: | - .\premake.bat vs2019 --arch=${{matrix.platform}} --deps=true --no-progress=true --enable-cuda=true --enable-examples=false - - .\make-slang-tag-version.bat - - MSBuild.exe slang.sln -v:m -m -property:Configuration=${{matrix.configuration}} -property:Platform=${{matrix.platform}} -property:WindowsTargetPlatformVersion=10.0.19041.0 -maxcpucount:12 - + cmake --preset default --fresh \ + -DSLANG_SLANG_LLVM_FLAVOR=USE_SYSTEM_LLVM \ + -DCMAKE_COMPILE_WARNING_AS_ERROR=${{matrix.warnings-as-errors}} \ + -DSLANG_ENABLE_CUDA=1 + cmake --workflow --preset "${{matrix.config}}" - name: Run compile and validation test run: | - $gitbash = 'C:\Program Files\git\bin\bash.exe' - cp -r 'C:\slang_compile_test_suite_a' .\ - cd .\slang_compile_test_suite_a - & $gitbash compile_all_slang.sh + cp -r /c/slang_compile_test_suite_a . + cd slang_compile_test_suite_a + export SLANGC_PATH="$bin_dir/slangc.exe" + bash ./compile_all_slang.sh -- cgit v1.2.3