summaryrefslogtreecommitdiffstats
path: root/.github
Commit message (Collapse)AuthorAge
* Add timeout to CI jobs; add mimalloc to .gitignore (#8538)Gangzheng Tong2025-09-25
|
* Adding slang-test option to ignore abort popup message (#8492)Jay Kwak2025-09-23
| | | | | | | | | | | | | | | | | | | | | | | | | | With the recent Windows runtime libraries, a new popup window started appearing when `abort()` is called. This was observed when VVL prints a message as a part of WGPU test. Although it can be helpful when we want to debug it, it breaks the behavior of CI scripts when the tests are expected to continue even when they fail. When the test fail, CI script stops in the middle and wait for a user to click on a button on the dialog window, which cannot happen. As a result, when there is a VVL error message, CI run stops in the middle and the testing stops prematurely. This commit adds a new command-line argument, `-ignore-abort-msg`, that ignores the abort message and it wouldn't show the dialog popup window. From the implementation perspective, there are three places that are related. - slang-test itself should turn off the flag. - render-test should turn off the flag after getting the argument from slang-test - test-server should turn off the flag after getting the argument from slang-test When test-server runs render-test, the arguments are already handled by slang-test, so test-server needs to just pass through the arguments.
* Reduce the maxprocesses to 3 for slangpy test (#8502)Gangzheng Tong2025-09-22
|
* Check if any required jobs failed (allow success or skipped) (#8495)Gangzheng Tong2025-09-19
| | | This allows doc only changes to PASS the CI by skipping jobs.
* Use self-hosted runner for Windows release build (#8470)Gangzheng Tong2025-09-17
| | | | | | | | | | - Remove hard-coded Win SDK version. - Using self-hosted machine for building release package in Windows. - Remove the steps from release.yml that have been done in common steup. --------- Co-authored-by: slangbot <ellieh+slangbot@nvidia.com> Co-authored-by: slangbot <186143334+slangbot@users.noreply.github.com>
* Change CI to use locally installed sdk (#8450)Mukund Keshava2025-09-17
|
* Send notification only on scheduled CTS runs (#8418)Gangzheng Tong2025-09-09
|
* Enable ccache in slang bulid for CTS test (#8413)Gangzheng Tong2025-09-10
| | | | - Enable ccache in slang bulid for CTS test - Allow manual CI dispatch
* Enhances CI reliability and debug logging (#8393)Gangzheng Tong2025-09-07
| | | | | | | | | | | | | | | | | 1. Adds retry logic - Implements 3-attempt retry mechanism for intermittent test failures 2. Reduces parallelism for Linux - Changes server counts back to 1 for more stable execution, given the test is short in Linux for now 3. Adds detailed error logging - Enhanced diagnostic information for test parsing failures 4. Add Python 3.10 setup for slangpy tests for github runners 5. Removes submodule checkout for slang and slasngpy tests 6. Adds check-ci job - Implements consolidated CI status for simplified branch protection rule --------- Co-authored-by: slangbot <ellieh+slangbot@nvidia.com> Co-authored-by: slangbot <186143334+slangbot@users.noreply.github.com>
* Remove unnecessary check and adust server count etc. in CI (#8374)Gangzheng Tong2025-09-05
| | | | | | | | | | | | | | | | - This PR removes "wasm" check from the test job, since there is no test job for "wasm" yet. - Also, move the check for slang-rhi and slangpy test to the job level to skip the setup etc. if no run is needed. - Update the macos compiler version in building.md to match the clang compiler used in CI. - Reduce the server count in Linux and Mac when running slang-test to ease the machine load - Run slangpy test with `-n auto --maxprocesses=4` to speed up --------- Co-authored-by: slangbot <ellieh+slangbot@nvidia.com> Co-authored-by: slangbot <186143334+slangbot@users.noreply.github.com>
* Fix cache_dir path for ccache config (#8370)Gangzheng Tong2025-09-04
| | | | | | | | | | | | | | | | | | Previously we are missing `ccache --set-config=cache_dir="$ccache_dir"` and the build was using the default cache_dir. This PR fixed that and the cache are hit in reruns. ``` 📊 ccache statistics (post-build): Cacheable calls: 1198 / 1198 (100.0%) Hits: 1195 / 1198 (99.75%) Direct: 1193 / 1195 (99.83%) Preprocessed: 2 / 1195 ( 0.17%) Misses: 3 / 1198 ( 0.25%) Local storage: Cache size (GiB): 0.6 / 5.0 (11.11%) Hits: 1195 / 1198 (99.75%) Misses: 3 / 1198 ( 0.25%) ```
* Split CI to build and test jobs (#8359)Gangzheng Tong2025-09-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The CI has been re-organized with the following: ``` ci.yml (Main Orchestrator) ├── filter job │ ├── Documentation Only? → Yes → Skip CI │ └── Documentation Only? → No → Continue CI │ ├── Build Jobs │ └── ci-slang-build.yml │ ├── common-setup action │ ├── Build & Package │ └── Upload Artifacts (Build package and Tests package) │ └── Test Jobs └── ci-slang-test.yml └── common-test-setup action ├── Download Tests Artifacts ← (from Build) └── Run Tests ``` To achieve fine-grained build->test dependency, instead of using `matrix strategy` in single build (or single test) job, the main ci.yml statically defines the each config of the build and test job. e.g. `build-windows-debug-cl-x86_64-gpu` and `test-windows-debug-cl-x86_64-gpu` are a pair of the build-test job for the windows/debug/ci config. Closes: https://github.com/shader-slang/slang/issues/6728 --------- Co-authored-by: slangbot <ellieh+slangbot@nvidia.com> Co-authored-by: slangbot <186143334+slangbot@users.noreply.github.com>
* manually config ccache locally (#8351)Gangzheng Tong2025-09-02
| | | | | | | | This avoids uploading the ccache to github and take the cache storage. --------- Co-authored-by: slangbot <ellieh+slangbot@nvidia.com> Co-authored-by: slangbot <186143334+slangbot@users.noreply.github.com>
* Enable ccache for self-hosted runner (#8345)Gangzheng Tong2025-09-03
| | | | | | | | Related to https://github.com/shader-slang/slang/issues/6728 --------- Co-authored-by: slangbot <ellieh+slangbot@nvidia.com> Co-authored-by: slangbot <186143334+slangbot@users.noreply.github.com>
* Enable slangpy and slang-rhi tests for Mac (#8297)Gangzheng Tong2025-08-29
| | | | | | | | | | | | | | | | | This PR enables slang-rhi and slangpy tests in the slang CI for MacOS. * exclude the slang-rhi `sampler-array` test for mac; issue tracked in https://github.com/shader-slang/slang/issues/8246 * update slang-rhi for fix of `nested-parameter-block-2` * for slangpy test, install the required python package in the github mac runner only each CI run. Closes: https://github.com/shader-slang/slang/issues/7330 --------- Co-authored-by: slangbot <ellieh+slangbot@nvidia.com> Co-authored-by: slangbot <186143334+slangbot@users.noreply.github.com>
* Fail slang-test when VVL printed errors (#8280)Jay Kwak2025-08-26
| | | | | | | | | | | | | | | | | | | | | | fixes https://github.com/shader-slang/slang/issues/8271 This PR does the following, - Fail slang-test when there are VVL error messages. - VVL error for `gfx-unit-test-tool/` were not captured properly by the debug callback. - Set an environment variable, `VK_INSTANCE_LAYERS=VK_LAYER_KHRONOS_validation`, for CI and VisualStudio project setup. - Ignores VVL error about NullHandle is used for the acceleration structure; a fix is at ToT of VVL and not available from release build yet. - Fix VVL error complaining about the varying inputs are not provided for the tests, `gfx-unit-test-tool/linkTimeTypeLayout.internal` and `gfx-unit-test-tool/linkTimeTypeLayoutNested.internal`. --------- Co-authored-by: slangbot <ellieh+slangbot@nvidia.com> Co-authored-by: slangbot <186143334+slangbot@users.noreply.github.com>
* Add WASM platform support to release workflow (#8264)David A Roberts2025-08-25
| | | | | | | | | | | This is a first pass at adding WASM builds to releases. ~~I haven't tested the outputs yet but it appears to build successfully in my fork at least.~~ Edit: Made a fake release in my fork for testing, seems to be working well for my use case at least: https://github.com/davidar/slang/releases/tag/v2025.999 Fixes #8207
* Print GPU driver version in CI.yml (#8275)Jay Kwak2025-08-25
| | | | | This commit prints an additional information of GPU version while running CI.yml. This can help us to debug when things don't work as expected.
* Enabling via-glsl test for "merge" event (#8133)Jay Kwak2025-08-20
| | | | | There was a case where a PR passed CI test a long time ago, and when it is merged, it caused a regression. We like to run via-glsl test when it gets merged to prevent it.
* Fix#8076 - Re-enable slangpy test (#8087)Harsh Aggarwal (NVIDIA)2025-08-20
| | | Commit bdda8a9 from PR #7862 had to disable some slangy tests in ci.yml
* Make the issue headings bigger (#8143)Jay Kwak2025-08-12
| | | | | | | | | | | | | | | | | Currently the issue template makes the subtitle "bold". It is a little hard to navigate between the subtitle because the bold is not very obvious. This commit makes them to use a bigger font. Before the change, <img width="839" height="488" alt="image" src="https://github.com/user-attachments/assets/08abec42-8389-4404-89a1-5a70670000cd" /> After the change, <img width="840" height="544" alt="image" src="https://github.com/user-attachments/assets/e2ffdac1-f8dc-40fa-a317-8dda965f3377" />
* Be conservative for checking if PR is doc changes only (#8130)Jay Kwak2025-08-09
| | | Fixes https://github.com/shader-slang/slang/issues/8098
* Disable "Copilot Setup Steps" on "push". (#8129)Yong He2025-08-09
| | | Co-authored-by: Jay Kwak <82421531+jkwak-work@users.noreply.github.com>
* Run extras/verify-documented-compiler-version.sh only when built (#8097)Jay Kwak2025-08-07
| | | | | | | | | | | | | | | | The script, `extras/verify-documented-compiler-version.sh`, depends on CMakeCache.txt, which gets built as a part of the slang build step. But if the PR is just a document changes, the build step will be skipped. And the script will print a warning that CMakeCache.txt is not found. The script should run only when Slang was built. You can see the current warning here, https://github.com/shader-slang/slang/actions/runs/16788651517/job/47545476533#step:12:5 Co-authored-by: Ellie Hermaszewska <ellieh@nvidia.com>
* Bring back hooks for auto formatting and ensure build works (#7811)Harsh Aggarwal (NVIDIA)2025-08-05
| | | | | | | | | | | | | * Claude code : refactor and improve stability by using hooks * format code (#27) Co-authored-by: slangbot <186143334+slangbot@users.noreply.github.com> --------- Co-authored-by: szihs <675653+szihs@users.noreply.github.com> Co-authored-by: slangbot <ellieh+slangbot@nvidia.com> Co-authored-by: slangbot <186143334+slangbot@users.noreply.github.com>
* Reenable debug-layers on CI (#8017)Jay Kwak2025-08-01
|
* Restrict the release tag name to a pattern the build script expects (#8027)Jay Kwak2025-08-01
| | | | | Previously there were tag name `vulkan` and it was causing build errors. The cmake build script currently expect the name to be in a pattern of `v2025.1` which starts with `v` and followed by numbers.
* Fix 7441: CUDA boolean vector layout to use 1-byte elements (#7862)Harsh Aggarwal (NVIDIA)2025-08-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Fix 7441: CUDA boolean vector layout to use 1-byte elements Boolean vectors (bool1, bool2, bool3, bool4) were incorrectly implemented as integer-based types using 4 bytes per element instead of actual 1-byte boolean elements on CUDA targets. Changes: - Update CUDA prelude to define boolean vectors as structs with bool fields instead of typedef aliases to integer vectors - Implement CUDALayoutRulesImpl::GetVectorLayout to use 1-byte alignment for boolean vectors, matching actual CUDA memory layout behavior - Update make_bool functions to populate struct fields correctly This ensures boolean vectors have the same memory layout as bool[4] arrays: - bool1: 1 byte (was 4 bytes) - bool2: 2 bytes (was 8 bytes) - bool3: 3 bytes (was 12 bytes) - bool4: 4 bytes (was 16 bytes) Fixes memory layout mismatch between Slang reflection API and actual CUDA compilation, achieving 75% memory savings for boolean vector usage. * Fix CI issues - Add and update associated functions and operators * Make boolX same as uchar * Use align construct on struct for boolX * Improve Test case for robust alignment checks * Formatting * Disable selected slangpy tests * add metal check which is slightly different than cuda * Test-1 * Test-2 * Test-3 * Test-4 * ReflectionChange * cleanup and update * _slang_select with plain bool is needed for reverse-loop-checkpoint-test
* Exclude a list of expensive slang-rhi tests to speed up CI (#8004)Simon Kallweit2025-07-31
|
* Reduce merge_group CI workload. (#7996)Yong He2025-07-30
| | | | | * Reduce merge_group CI workload. * fix.
* Disable more CI workflows on master push. (#7983)Yong He2025-07-29
|
* Disable debug-layers temporarlily on CI (#7972)Jay Kwak2025-07-30
|
* Add CI to check ir module versioning (#7821)Ellie Hermaszewska2025-07-22
|
* Add utility to trace creation of problematic IRInsts to assist LLM in ↵Copilot2025-07-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | debugging (#7820) * Initial plan * Add SLANG_DEBUG_IR_BREAK environment variable support Co-authored-by: csyonghe <2652293+csyonghe@users.noreply.github.com> * Apply code formatting to SLANG_DEBUG_IR_BREAK implementation Co-authored-by: csyonghe <2652293+csyonghe@users.noreply.github.com> * Improve stack trace debugging with -rdynamic flag and backtrace_symbols Co-authored-by: csyonghe <2652293+csyonghe@users.noreply.github.com> * Address PR feedback: use PlatformUtil::getEnvironmentVariable, remove -rdynamic flag, and delete fallback branch Co-authored-by: csyonghe <2652293+csyonghe@users.noreply.github.com> * Address PR feedback: simplify env var parsing, move backtrace to PlatformUtil, use #if for SLANG_LINUX_FAMILY Co-authored-by: csyonghe <2652293+csyonghe@users.noreply.github.com> * Address PR feedback: remove unneeded include, make backtrace() more generic by removing uid parameter Co-authored-by: csyonghe <2652293+csyonghe@users.noreply.github.com> * Fix and clone source tracking. * Add python script to dump traces. * Update instructions. * Batch calls to addr2line * Cleanup claude instructions. * update claude action. * Remove duplicated build instructions from claude.yml workflow Co-authored-by: csyonghe <2652293+csyonghe@users.noreply.github.com> * fix build error. * Fix build errors --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: csyonghe <2652293+csyonghe@users.noreply.github.com> Co-authored-by: Yong He <yonghe@outlook.com> Co-authored-by: Gangzheng Tong <tonggangzheng@gmail.com>
* Further increase claude action limits. (#7803)Yong He2025-07-17
|
* Increase timeout of claude workflow to 6 hours. (#7801)Yong He2025-07-16
|
* bump and pin cmake formatter version (#7800)Ellie Hermaszewska2025-07-17
| | | | | | | * print tool versions for formatter * formatting * bump cmake formatter version
* Update issue templatesYong He2025-07-14
|
* Update issue templatesYong He2025-07-14
|
* Update issue templatesYong He2025-07-14
|
* Update claude instructions to help with debugging. (#7732)Yong He2025-07-12
| | | | | | | | | * Update claude instructions to help with debugging. * Increase limit. * Simplify prompt. * increase limit.
* Use stdout for --help text instead of stderr (#7730)aidanfnv2025-07-11
| | | | | | | | | | | | * Use stdout for --help text instead of stderr * format code (#13) Co-authored-by: slangbot <186143334+slangbot@users.noreply.github.com> --------- Co-authored-by: slangbot <ellieh+slangbot@nvidia.com> Co-authored-by: slangbot <186143334+slangbot@users.noreply.github.com>
* Use claude action v0.0.31 to avoid premature termination.Yong He2025-07-11
|
* Add slang-gfx build target back for Falcor (#7700)Gangzheng Tong2025-07-11
| | | | | | | | | | | | | | * Update falcor perf test CI * Add slang-gfx build back since Falcor is still using it * format code (#7704) Co-authored-by: slangbot <186143334+slangbot@users.noreply.github.com> --------- Co-authored-by: slangbot <ellieh+slangbot@nvidia.com> Co-authored-by: slangbot <186143334+slangbot@users.noreply.github.com>
* Fix#7676 - Add Claude Code Assistant for using LLMs (#7673)Harsh Aggarwal (NVIDIA)2025-07-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add Claude Code Assistant for using LLMs add claude.md files for context to the LLM * format code * Update claude.yml add pull request target * Force test claude.yml * Remove sensitive flag - Update claude.yml * Update claude.yml Reverted the direct_prompt * format code (#7674) Co-authored-by: slangbot <186143334+slangbot@users.noreply.github.com> * Fix Claude workflow based on PR review feedback - Remove unused pull_request_review_comment trigger - Increase timeout from 30 to 60 minutes - Change fetch-depth from 0 to 2 for minimal git history - Add recursive submodule checkout following copilot pattern - Add environment setup with libx11-dev dependency - Switch to release build config following copilot pattern - Increase max_turns from 10 to 20 for longer conversations - Update custom instructions with build commands and OS info 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com> * Update workflow - configure debug build * Update max turns to 50 for M size work * Add Claude Code settings with auto-formatting hook - Create .claude/settings.json with PostToolUse hook - Automatically runs ./extras/formatting.sh after Write/Edit/MultiEdit operations - Ensures code formatting consistency when Claude makes changes 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com> --------- Co-authored-by: slangbot <186143334+slangbot@users.noreply.github.com> Co-authored-by: slangbot <ellieh+slangbot@nvidia.com> Co-authored-by: Claude <noreply@anthropic.com>
* copilot instruction prompt: emphasize to format changes.Yong He2025-07-10
|
* Fix internal error when a generic in an extension is unused (#7665)Copilot2025-07-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Initial plan * Add diagnostic for unreferenced generic parameters in extensions Co-authored-by: csyonghe <2652293+csyonghe@users.noreply.github.com> * Use GenericTypeParamDeclBase and eliminate intermediate list Co-authored-by: csyonghe <2652293+csyonghe@users.noreply.github.com> * Update test to use filecheck format for better verification Co-authored-by: csyonghe <2652293+csyonghe@users.noreply.github.com> * Update extension validation to use getMembersOfType for better constraint collection Co-authored-by: csyonghe <2652293+csyonghe@users.noreply.github.com> * Add temporary workaround for inheritance constraints but issue persists Co-authored-by: csyonghe <2652293+csyonghe@users.noreply.github.com> * Fix inheritance constraint validation by moving to SemanticsDeclConformancesVisitor Co-authored-by: csyonghe <2652293+csyonghe@users.noreply.github.com> * Fix inheritance constraint validation by removing inheritance declaration checks Co-authored-by: csyonghe <2652293+csyonghe@users.noreply.github.com> * Move extension generic parameter validation back to SemanticsDeclBasesVisitor Co-authored-by: csyonghe <2652293+csyonghe@users.noreply.github.com> * Fix test. * format code (#7671) Co-authored-by: slangbot <186143334+slangbot@users.noreply.github.com> * Fix and update. * Refine fix. --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: csyonghe <2652293+csyonghe@users.noreply.github.com> Co-authored-by: Yong He <yonghe@outlook.com> Co-authored-by: slangbot <ellieh+slangbot@nvidia.com> Co-authored-by: slangbot <186143334+slangbot@users.noreply.github.com>
* Stable names and backwards compat for serialized IR modules (#7644)Ellie Hermaszewska2025-07-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * stable names * tests, options and ci for stable names * Add back compat design document * fix warnings * formatting * comment * neaten * regenerate command line reference * consolidate ci scripts * faster ci * remove libreadline * Move new function to end of interface --------- Co-authored-by: slangbot <186143334+slangbot@users.noreply.github.com>
* Remove swiftshader (#7600)Gangzheng Tong2025-07-02
|
* Run full check on merge_queue, but not on push. (#7596)Yong He2025-07-02
| | | | | | | * Run full check on merge_queue, but not on push. * Fix. * Update copilot instructions.