| Age | Commit message (Collapse) | Author |
|
|
|
- Enable ccache in slang bulid for CTS test
- Allow manual CI dispatch
|
|
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>
|
|
- 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>
|
|
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%)
```
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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
|
|
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.
|
|
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.
|
|
Commit bdda8a9 from PR #7862 had to disable some slangy tests in ci.yml
|
|
Fixes https://github.com/shader-slang/slang/issues/8098
|
|
Co-authored-by: Jay Kwak <82421531+jkwak-work@users.noreply.github.com>
|
|
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>
|
|
* 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>
|
|
|
|
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
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
|
|
|
|
* Reduce merge_group CI workload.
* fix.
|
|
|
|
|
|
|
|
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>
|
|
|
|
|
|
* Update claude instructions to help with debugging.
* Increase limit.
* Simplify prompt.
* increase limit.
|
|
* 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>
|
|
|
|
* 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>
|
|
* 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>
|
|
* 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
* 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>
|
|
* Run full check on merge_queue, but not on push.
* Fix.
* Update copilot instructions.
|
|
* Don't run full gpu tests on merge queue.
* Fix yml.
* format code
---------
Co-authored-by: slangbot <186143334+slangbot@users.noreply.github.com>
|
|
* Add copilot environment configuration.
* Add instructions.
* format code
---------
Co-authored-by: slangbot <186143334+slangbot@users.noreply.github.com>
|
|
* Disable spirv-opt for the tests with debugfunction VVL errors
* Enable VVL in CI
* Add 2 expected failure tests until we update VVL to 1.4.319 which contains the fix
* update slang-rhi
* Revert "Disable spirv-opt for the tests with debugfunction VVL errors"
This reverts commit 5327460057f533af81ea60a556e43abe805d5816.
|
|
* Document supported compiler versions in building.md
Closes https://github.com/shader-slang/slang/issues/7376
* multiple checked versions
|
|
|
|
* Update ci.yml
* Update ci.yml
---------
Co-authored-by: Harsh Aggarwal (NVIDIA) <haaggarwal@nvidia.com>
Co-authored-by: Yong He <yonghe@outlook.com>
|
|
* update slang-rhi
* enable all slang-rhi tests
|
|
|
|
* Fix the ignored unit-tests on retry
* Retrigger CI
* Add more error messages
* Don't use test-server for retry of unit-test to see error messages
* Clean up cl.yml
Remove 'has-gpu' because it is unused after debug became full-gpu-test.
Renamed files to make the meaning more clear:
- Renamed expected-failure.txt to expected-failure-via-glsl.txt
- Renamed expected-failure-github-runner.txt to expected-failure-no-gpu.txt
* Rename cpu-hello-world.slang to avoid name conflict to example
We have an example whose executable name is cpu-hello-world.exe.
It gets built when you run `cmake --build`, but it gets overwritten by
slang-test when it tests `tests/cpu-program/cpu-hello-world.slang`.
This PR renames to avoid the name conflict.
* Remove debug code
---------
Co-authored-by: Yong He <yonghe@outlook.com>
|
|
Fixes: #7453
|
|
- fix path conversion from linux to windows
- add exit on fail for lib copy
This ensures the slang backend built in CI is
indeed the one used for tests.
|
|
* Print CUDA version on CI servers
|
|
* enable building slang-rhi-tests
* re-enable running slang-rhi-tests
* format code
* fix typo
* update slang-rhi
* build slang-rhi-tests without glfw dependency
* skip fence tests
---------
Co-authored-by: slangbot <186143334+slangbot@users.noreply.github.com>
Co-authored-by: amey asgaonkar <160177341+aasgaonkar@users.noreply.github.com>
|
|
|