summaryrefslogtreecommitdiff
path: root/.github/workflows
AgeCommit message (Collapse)Author
2025-05-22Add slangpy testing in slang CI (#7083)amey asgaonkar
* Add slangpy testing in slang CI * Add slangpy tests to CI * break CI to test
2025-05-20Fix retry logic and skip high intermittent test failure (#7175)Gangzheng Tong
* skip recordReplay; fix retrying logic for unit test * Allow the CI to run with manual dispatch * increase failed test limit to 100 * reduce the serve count to 2
2025-05-19Update the MacOS signing to use Khronos (#7157)Gangzheng Tong
2025-05-16Enable Windows full debug testsuite in CI (#7085)Gangzheng Tong
* Unify Debug Layer Control Logic and Add Disable Option for Debug Builds This PR refactors and unifies the debug layer control logic in slang-test. A new `-disable-debug-layers` option is introduced, allowing debug builds to skip enabling the validation (debug) layer. This is currently needed to ensure stability in the debug test suite. Previously, different toggles such as ENABLE_VALIDATION_LAYER, ENABLE_DEBUG_LAYER, and debugLayerEnabled were used inconsistently across different components of slang-test. This PR standardizes the logic by using a single variable, debugLayerEnabled, to control the enabling/disabling of the debug layer internally. Notes: By default, the debug/validation layer is enabled in debug builds and is not supported in release builds of slang-test. Fixes: #7132 * Disable spirv-opt for the DebugFunctionDefinition issue * Run debug build only in GCP machines * Fix VUID-vkCmdPipelineBarrier-pBufferMemoryBarriers-02818 dstAcessMask can't include VK_ACCESS_TRANSFER_READ_BIT when stage mask has VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR * Set failed retry limit to 32 --------- Co-authored-by: slangbot <ellieh+slangbot@nvidia.com> Co-authored-by: slangbot <186143334+slangbot@users.noreply.github.com>
2025-05-15Fix slangc path used by cmdline reference doc regeneration action (#7128)aidanfnv
This change uses a different path for accessing the slangc binary during the command line reference doc regeneration action, as the environment variable referenced for the bin directory may not be accurate. This change also makes some exclusions from the slang build in the command line reference actions, to speed up those builds for checking/regenerating.
2025-05-14Make Command Line Reference readthedocs compatible (#7048)aidanfnv
This change modifies the code that generates the Command Line Reference doc to output H2 headings in place of H1 headings, and H3 in place of existing H2, so that readthedocs will not treat the additional H1 headings as titles. This change also regenerates the Command Line Reference doc, as the current copy in the repo appears to be quite out-of-date. The existing copy is also encoded as UTF-16LE, whereas the other docs are all UTF-8. The regenerated doc is also UTF-8, and all I did to generate that was run slangc.exe -help-style markdown -h > docs\command-line-slangc-reference.md 2>&1 after building slangc on Windows. This change also adds GitHub actions workflows to check the contents of the doc, fail if a regenerated version needs to be checked in, and provide an option to regenerate it with a bot, all in a similar manner to User Guide TOC regeneration. The doc writer was producing different results from my local build until I changed how the writer sorts the shader stages. In the action, the order of pixel and fragment was reversed, despite the only difference from my local build being the OS. --------- Co-authored-by: slangbot <ellieh+slangbot@nvidia.com> Co-authored-by: slangbot <186143334+slangbot@users.noreply.github.com>
2025-05-01Update falcor perf test path (#6975)jarcherNV
Update the falcor perf test path environment variable so that it checks existing paths only after the build path. This is needed to prevent it from accidentally using a previously installed version of Slang.
2025-05-01Smoke test WASM as a part of CI (#6969)Jay Kwak
* Simplify build of slang-wasm * Add smoke-test for slang-wasm in ci * Avoid git-clone playground
2025-04-18Copy slang-glsl-module.dll for vk-cts test (#6855)Jay Kwak
2025-04-15Use the latest Ubuntu version not specific old version (#6825)Jay Kwak
* Use the latest Ubuntu version not specific old version
2025-04-14Update the access tokens used for auto labeling CI (#6811)sricker-nvidia
The auto labeling CI has been failing as a result of the SLANGBOT_PAT token not having all of the necessary permissions. Change updates the tokens used for requests to use new tokens that were created with the specific permissions needed for the operations in this CI workflow.
2025-04-10Add a workflow for auto labeling issues (#6776)sricker-nvidia
Change introduces a workflow that will automatically run on new issues and add a "Dev Opened" label if opened by select dev members. This workflow can be used to add additional labels in the future.
2025-04-04fix(d3d11): correct parameter in VSSetConstantBuffers1 from uavCount … (#6690)Harsh Aggarwal (NVIDIA)
* fix(d3d11): correct parameter in VSSetConstantBuffers1 from uavCount to cbvCount (fixes #6531) Root cause - Incorrect parameter passing in slang-rhi 1. slang-rhi #281 - Add the correct cbvCount for setting Constant Buffer 2. Prevent render tests from overwriting reference images * Add missing tests/render/multiple-stage-io-locations.slang.3.expected.png * Add more expected images from texture2d-gather * Add new option: skipReferenceImageGeneration For Github CI we set this to true - So we don't overwrite the expected images --------- Co-authored-by: Jay Kwak <82421531+jkwak-work@users.noreply.github.com>
2025-04-01re-enable macos test (#6731)kaizhangNV
MacOS test is accidentally disabled in #6491. Re-enable it.
2025-04-02Fix the broken workflow for linux/release/gcc/wasm (#6730)Jay Kwak
2025-03-20Delete unused Dockerfile (#6629)Sam Estep
Co-authored-by: Ellie Hermaszewska <ellieh@nvidia.com>
2025-03-15fix trimming of "v" from version string (#6605)Paradox84
Current releases are removing "v" from "vulkan-sdk-1.4.309.0" when they were supposed to remove it from something like "v1.2.4" https://github.com/shader-slang/slang/releases/tag/vulkan-sdk-1.4.309.0 Fixed it so it only removes "v", if next character is a number Co-authored-by: Yong He <yonghe@outlook.com>
2025-03-07Show adapter info in slang-test CI runs (#6535)cheneym2
It might be beneficial for debugging issues to know what graphics adapters are in use for CI runs. It is also helpful to ensure the -show-adapter-info option in slang-test doesn't bitrot.
2025-03-05Fix codegen bug when targeting PTX with new API (#6506)Anders Leino
* Add cuda codegen bug repro This just compiles tests/compute/simlpe.slang for PTX with the new compilation API, in order to reproduce a code generation bug. * Detect entrypoint more robustly when applying ConstRef hack during lowring For shaders like tests/compute/simple.slang, which have a 'numthreads' attribute but no 'shader' attribute, the old compile request API would add an EntryPointAttribute to the AST node of the entry point. However, the new API doesn't, and so a certain ConstRef hack doesn't get applied when using the new API, leading to subsequent code generation issues. This patch also checks for a 'numthreads' attribute when deciding whether to apply the ConstRef hack. This closes issue #6507 and helps to resolve issue #4760. * Add expected failure list for GitHub runners Our GitHub runners don't have the CUDA toolkits installed, so they can't run all tests.
2025-02-27Fix release CI. (#6492)Yong He
* Fix release CI. * fix. * format code --------- Co-authored-by: slangbot <186143334+slangbot@users.noreply.github.com>
2025-02-27Fix CI settings. (#6491)Yong He
* fix ci. * fix. * format code --------- Co-authored-by: slangbot <186143334+slangbot@users.noreply.github.com>
2025-02-27Map `SV_InstanceID` to `gl_InstanceIndex-gl_BaseInstance` (#6468)Yong He
* Map `SV_InstanceID` to `gl_InstanceIndex-gl_BaseInstance` * Fix ci.
2025-02-27Make capability diagnostic message more friendly. (#6474)Yong He
* Make capability diagnostic message more friendly. * Fix. * Fix. * Fix. * Fix test. * Update expected fail setting for aarch64/linux * Fix.
2025-02-24set depth 2 for CI submodules (#6436)Mukund Keshava
2025-02-24Do not perform deep checkout of submodules (#6410)Mukund Keshava
* Do not perform deep checkout of submodules Fixes #5465 * Remove shallow clone for release as suggested by csyonghe --------- Co-authored-by: Ellie Hermaszewska <ellieh@nvidia.com>
2025-02-07Add test for visibility in translation unit with multiple source files (#6306)Anders Leino
This closes #6221.
2025-02-05Switch back to Falcor (#6295)kaizhangNV
This is a follow-up to PR #6058, where we switched to Falcor-new now we will switch back to Falcor.
2025-02-05Feature/initialize list side branch (#6058)kaizhangNV
* SP004: implement initialize list translation to ctor - We synthesize a member-wise constructor for each struct follow the rules described in SP004. - Add logic to translate the initialize list to constructor invoke - Add cuda-host decoration for the synthesized constructor - Remove the default constructor when we have a valid member init constructor - Disable -zero-initialize option, will re-implement it in followup (#6109). - Fix the overload lookup issue When creating invoke expression for ctor, we need to call ResolveInvoke() to find us the best candidates, however the existing lookup logic could find us the base constructor for child struct, we should eliminate this case by providing the LookupOptions::IgnoreInheritance to lookup, this requires us to create a subcontext on SemanticsVisitor to indicate that we only want to use this option on looking the constructor. - Do not implicit initialize a struct that doesn't have explicit default constructor. Co-authored-by: slangbot <186143334+slangbot@users.noreply.github.com>
2025-02-05Use 0.0.7 version of VK-GL-CTS-for-Slang on nightly CTS CI (#6278)Jay Kwak
2025-01-31Include slang-glsl-module.dll in releases, for precompiled glsl module. (#6239)Yong He
* Distribute slang-glsl-module.bin in release packages. * Fix. * fix2. * Build glsl modlue into a dll. * Notarize glsl-modue.dylib
2025-01-27DNI: try using sparse checkout for MDL-SDK (#6190)kaizhangNV
2025-01-09Upgrade actions/upload-artifact from v3 to v4 (#6051)Jay Kwak
The version 3 of actions/upload-artifact will be deprecated soon. https://github.blog/changelog/2024-04-16-deprecation-notice-v3-of-the-artifact-actions/ This commit upgrades to v4. There is a document describing how to migrate/upgrade: https://github.com/actions/upload-artifact/blob/main/docs/MIGRATION.md The breaking change on v4 is that the uploaded files are immutable and we can no longer append files with the same name. We don't seem to be doing it so it should be fine for us. Closes #6050
2025-01-07Add backtraces to examples (#5973)Anders Leino
* examples: Log stack trace on exceptions For now, this is only implemented on Windows. This helps to address #5520. * examples: Print log file if there is any * format code --------- Co-authored-by: slangbot <186143334+slangbot@users.noreply.github.com> Co-authored-by: Yong He <yonghe@outlook.com>
2025-01-05CI: Build the full slang-wasm.[js|wasm] targets instead of just the slang ↵Anders Leino
library. (#5998) A recent build breakage for slang-wasm.[js|wasm] was not noticed by CI since it built the slang library target instead of the slang-wasm.js "executable" target. (We added a that used objcopy to split debug info from executables. objcopy does not report errors when it finds object files with unexpected format inside static libraries, but it *does* report errors when it's run on an exceutable of unexpected format, such as in the case of slang-wasm.js.) This closes #5959.
2024-12-23update CTS package (#5935)kaizhangNV
2024-12-19Enable more examples in CI (#5915)Anders Leino
* CI: examples: Add support for filtering on platform * Add platform field to example run IDs - Remove the reflection-api entry for Windows. - Add 'aarch64' as platform for all 'macos' entries. - Add 'x86_64' as platform for all other entries. - This will implicitly enable all aarch64 tests for Linux. This helps to address issue #5520.
2024-12-19Fix issues reported by 'shellcheck' (#5913)Anders Leino
* Fix issues reported by 'shellcheck' This helps to address issue #5520. * format code --------- Co-authored-by: slangbot <186143334+slangbot@users.noreply.github.com>
2024-12-18Add slang example tests to CI (#5879)Anders Leino
* Examples: Don't proceed if 'initializeBase' fails * Examples: Only access gWindow if it's been initialized * Examples: Free memory from CommandLineToArgvW * Add example run step to CI Lots of examples are still unexpectedly failing, but is one small step towards addressing issue #5520.
2024-12-16install mono for toc generation (#5877)Ellie Hermaszewska
Closes https://github.com/shader-slang/slang/issues/5876
2024-12-12use Release over RelWithDebInfo for ci (#5846)Ellie Hermaszewska
This will necessetate changing the "required tests" setting on the GitHub repo Co-authored-by: Yong He <yonghe@outlook.com>
2024-12-06Emit debug info for Release builds (#5783)Ellie Hermaszewska
* Remove unnecessary warnings on windows * Correctly set debug flags on gcc * Emit debug info for Release builds * Perform LTO for relwithdebinfo builds * Release from release builds not relwithdebinfo
2024-12-06Split debug info for all targets (#5732)Ellie Hermaszewska
* Split debug info for all targets Work towards https://github.com/shader-slang/slang/issues/5724 * release separate debug info Closes https://github.com/shader-slang/slang/issues/5724 * Add split debug info support for MacOS * Add SLANG_ENABLE_SPLIT_DEBUG_INFO option * Sign and package debug info on MacOS * Set --build-id where available * Correct debug info installing * Keep cpack macos signing workaround * Neaten cmake * Disable sccache if building split debug info on Windows * Only repack necessary files on MacOS releases
2024-12-05Set prerelease and draft correctly for centos releases (#5769)Ellie Hermaszewska
2024-12-05Set prerelease and draft correctly for releases with draft in the tag (#5763)Ellie Hermaszewska
2024-12-04Relocate the step of 'Add bash to PATH' (#5759)kaizhangNV
* Relocate the step of 'Add bash to PATH' Relocate the step of 'Add bash to PATH' at beginning of the CI to avoid the issue of "bash command not found". * formatting * Do not remove 'Add bash to PATH' from common-setup
2024-12-04Run a do-nothing CI job for documentation changes (#5747)Ellie Hermaszewska
Closes https://github.com/shader-slang/slang/issues/5689
2024-11-28Add Table of Contents check to CI, and bot script to regenerate (#5618)Ellie Hermaszewska
* Sort filenames when generating table of contents The order of EnumerateFiles is unspecified * Add build table of contents bash script * Add toc checking to CI * Add --check-only option to toc checking * regenerate ToC
2024-11-27Update workflow YML files for renamed files (#5688)Jay Kwak
Recently we renamed a few files and directories and they should be reflected on the workflow YAML files. - LICENCE is a typo of LICENSE. - We recently created a new "LICENSES/" - CONTRIBUTION.md was renamed to CONTRIBUTING.md Closes #5686
2024-11-22ci: Use v1.11 of the release-downloader action (#5643)Bruce Mitchener
CI was previous using different versions in different jobs but all were old and using a version of Node that has been deprecated within the GitHub Actions infrastructure. Co-authored-by: Yong He <yonghe@outlook.com>
2024-11-22Enable core module embedding by default in CMake. (#5644)Kanashimia
It seems that release workflows were unexpectedly broken when STDLIB was renamed to CORE_MODULE. Changed the option default because I think it just makes more sense. Removed explicit calls to enable it. Fixed docs.