Skip to content

Comments

Disable unnecessary components in check-cmdline-ref CI build#10099

Open
aidanfnv wants to merge 1 commit intoshader-slang:masterfrom
aidanfnv:speed-up-check-cmdline-ref-action
Open

Disable unnecessary components in check-cmdline-ref CI build#10099
aidanfnv wants to merge 1 commit intoshader-slang:masterfrom
aidanfnv:speed-up-check-cmdline-ref-action

Conversation

@aidanfnv
Copy link
Contributor

@aidanfnv aidanfnv commented Feb 20, 2026

The check-cmdline-ref workflow builds far more than it needs to. It only runs slangc -help-style markdown -h, which does not require most of the components that are enabled by default, most notably the embedded core module.

This disables many if not all unnecessary components at configure time and builds only --target slangc to significantly speed up the workflow (~10 minutes instead of 18+ minutes).

@coderabbitai
Copy link

coderabbitai bot commented Feb 20, 2026

No actionable comments were generated in the recent review. 🎉


📝 Walkthrough

Walkthrough

The GitHub Actions workflow for the command-line reference check was modified to build Slang with a direct cmake target invocation instead of a preset-based workflow build, while adding multiple cmake configuration flags to customize the build.

Changes

Cohort / File(s) Summary
GitHub Actions Workflow Configuration
.github/workflows/check-cmdline-ref.yml
Modified the "Build Slang" step to replace cmake --workflow --preset release with cmake --build --preset release --target slangc and expanded cmake configuration with multiple -D flags including EMBED_CORE_MODULE, SLANGRT, SLANGI, SLANG_GLSLANG, REPLAYER, DXIL, SLANG_RHI, PREBUILT_BINARIES, and RELEASE_DEBUG_INFO, while retaining SLANG_EXCLUDE_TINT=ON.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

Poem

🐰 A rabbit hopped through workflows grand,
With cmake flags, a steady hand,
From presets wide to targets tight,
The build now springs with swifter might! ✨

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately describes the main change: disabling unnecessary components in the check-cmdline-ref CI build, which aligns with the changeset that modifies CMake configuration flags and the build target.
Description check ✅ Passed The description is directly related to the changeset, explaining the rationale for disabling unnecessary components and building only the slangc target, which matches the actual changes in the workflow file.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

Comment @coderabbitai help to get the list of available commands and usage tips.

@aidanfnv aidanfnv added the pr: non-breaking PRs without breaking changes label Feb 20, 2026
@aidanfnv aidanfnv marked this pull request as ready for review February 20, 2026 01:25
@aidanfnv aidanfnv requested a review from a team as a code owner February 20, 2026 01:25
@aidanfnv aidanfnv requested review from bmillsNV and Copilot and removed request for a team February 20, 2026 01:25
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR optimizes the check-cmdline-ref CI workflow by disabling unnecessary components during the CMake build configuration and building only the slangc target instead of the entire project. The workflow only needs to run slangc -help-style markdown -h to generate command-line reference documentation, so most Slang components (GFX, slangd, slangrt, slangi, etc.) are not required. This optimization reduces build time from 18+ minutes to approximately 10 minutes.

Changes:

  • Added CMake flags to disable nine unnecessary components (embedded core module, slangrt, slangi, glslang, replayer, DXIL, RHI, prebuilt binaries, and release debug info)
  • Changed build command from cmake --workflow --preset release to cmake --build --preset release --target slangc to build only the slangc binary

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

pr: non-breaking PRs without breaking changes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant