Skip to content

ci: remove vs2022 from PR checks#2269

Merged
alandtse merged 3 commits into
community-shaders:devfrom
SkrubbySkrubInAShrub:Remove-VS-2022-actions
May 3, 2026
Merged

ci: remove vs2022 from PR checks#2269
alandtse merged 3 commits into
community-shaders:devfrom
SkrubbySkrubInAShrub:Remove-VS-2022-actions

Conversation

@SkrubbySkrubInAShrub
Copy link
Copy Markdown
Collaborator

@SkrubbySkrubInAShrub SkrubbySkrubInAShrub commented May 2, 2026

PR checks fail due to vs2022 failing to run.

Summary by CodeRabbit

  • Chores
    • Unified CI to a single compiler target (VS2026) and removed legacy VS2022 build paths.
    • Removed legacy build inputs and flags tied to VS2022.
    • Simplified and clarified build-action input descriptions and cleanup comments.
    • Aligned shader test/build paths and artifact uploads with the unified build preset.

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 2, 2026

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: ba4550e3-bc0b-4bfa-ae54-cf713780a720

📥 Commits

Reviewing files that changed from the base of the PR and between 680b8bb and 9c64c29.

📒 Files selected for processing (1)
  • .github/actions/setup-build-environment/action.yaml

📝 Walkthrough

Walkthrough

The CI and reusable actions were simplified to target Visual Studio 2026 only: VS2022 inputs/matrix entries and conditionals were removed, MSVC toolchain selection was hardcoded to v18.0, CMake preset/build-dir references changed from ALL-VS2022 to ALL, and minor input description edits were made.

Changes

VS2026 Migration

Layer / File(s) Summary
Input definitions
.github/actions/prepare-shaders/action.yml, .github/actions/setup-build-environment/action.yaml
Removed example text from cmake-preset description; removed vs-version input; simplified cmake-preset and build-dir descriptions while keeping defaults/required flags.
MSVC/tooling wiring
.github/actions/setup-build-environment/action.yaml
Removed conditional guard for VS2026 build-tools (install step now runs unconditionally); ilammy/msvc-dev-cmd step now uses fixed vsversion: "18.0" instead of reading inputs.vs-version.
Workflow matrix & wiring
.github/workflows/_shared-build.yaml
Removed run-vs2022 workflow input; reduced C++ build matrix to only compiler: vs2026 with cmake-preset: ALL and build-dir: build/ALL; callers no longer pass vs-version into setup-build-environment.
Shader job paths / test wiring
.github/workflows/_shared-build.yaml
Shader unit test and related steps switched from ALL-VS2022/build/ALL-VS2022 to ALL/build/ALL; updated ctest --test-dir and uploaded artifact paths accordingly.
Workflow invocation / small YAML edits
.github/workflows/release-build.yaml
Invocation of ./.github/workflows/_shared-build.yaml no longer supplies run-vs2022; nearby YAML lines were altered (format/content around shader flags changed).
Stale cache comment
.github/actions/setup-build-environment/action.yaml
Shortened generator-mismatch comment text for stale CMake cache cleanup; logic for generator resolution/mismatch unchanged.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

Suggested reviewers

  • alandtse
  • doodlum
  • jiayev

Poem

🐰 I hopped through YAML, pruning old green,

VS2026 now runs the scene.
Presets simplified, toolchain set true,
Fewer branches, a cleaner view.
Hooray for builds that quickly hop through!

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'ci: remove vs2022 from PR checks' directly and clearly summarizes the main change: removing VS2022 from CI workflows.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

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

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Warning

There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure.

🔧 YAMLlint (1.38.0)
.github/actions/setup-build-environment/action.yaml

[Errno 2] No such file or directory: '.github/actions/setup-build-environment/action.yaml'

🔧 Checkov (3.2.525)
.github/actions/setup-build-environment/action.yaml

2026-05-02 22:25:52,705 [MainThread ] [ERROR] Template file not found: .github/actions/setup-build-environment/action.yaml
2026-05-02 22:25:52,718 [MainThread ] [ERROR] Template file not found: .github/actions/setup-build-environment/action.yaml
2026-05-02 22:25:52,770 [MainThread ] [ERROR] Failed to invoke function /usr/local/lib/python3.11/dist-packages/checkov/common/runners/object_runner. with .github/actions/setup-build-environment/action.yaml
Traceback (most recent call last):
File "/usr/local/lib/python3.11/dist-packages/checkov/common/parallelizer/parallel_runner.py", line 88, in func_wrapper
result = original_func(item)
^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/checkov/common/runners/object_runner.py", line 74, in
results = parallel_runner.run_function(lambda f: (f, self._parse_file(f)), files_to_load)
^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/pytho

... [truncated 9329 characters] ...

setup-build-environment/action.yaml'
2026-05-02 22:25:52,837 [MainThread ] [ERROR] Exception traceback:
Traceback (most recent call last):
File "/usr/local/lib/python3.11/dist-packages/checkov/main.py", line 647, in run
self.scan_reports = runner_registry.run(
^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/checkov/common/runners/runner_registry.py", line 177, in run
for result in parallel_runner_results:
File "/usr/local/lib/python3.11/dist-packages/checkov/common/parallelizer/parallel_runner.py", line 118, in _run_function_multiprocess_fork
raise v.internal_exception.with_traceback(v.internal_exception.traceback)
FileNotFoundError: [Errno 2] No such file or directory: '.github/actions/setup-build-environment/action.yaml'


Review rate limit: 9/10 reviews remaining, refill in 6 minutes.

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

@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 2, 2026

No actionable suggestions for changed features.

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In @.github/actions/setup-build-environment/action.yaml:
- Around line 7-10: The action declares an input named vs-version but still
hardcodes vsversion: "18.0" and conditionally uses the input elsewhere, causing
inconsistent behavior; either wire the vs-version input into the MSVC setup or
remove the input and any branches that reference it. Fix by mapping the
vs-version input to the correct MSVC/toolset value used by the MSVC setup step
(replace the hardcoded vsversion: "18.0" with a computed value based on
inputs.vs-version and update any conditional that checks vs-version), or remove
the vs-version input and delete the conditional logic that branches on it so the
vsversion remains a single authoritative source. Ensure you update references to
vs-version, vsversion, and the MSVC setup step to use the chosen single approach
consistently.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 15c8c1c2-94f6-4d67-9c15-bb256ab25b6b

📥 Commits

Reviewing files that changed from the base of the PR and between e9ee125 and 8d79132.

📒 Files selected for processing (4)
  • .github/actions/prepare-shaders/action.yml
  • .github/actions/setup-build-environment/action.yaml
  • .github/workflows/_shared-build.yaml
  • .github/workflows/release-build.yaml
💤 Files with no reviewable changes (1)
  • .github/workflows/release-build.yaml

Comment thread .github/actions/setup-build-environment/action.yaml Outdated
Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
.github/actions/setup-build-environment/action.yaml (1)

37-42: ⚠️ Potential issue | 🟠 Major

Check the Visual Studio installer exit code explicitly.

Start-Process -Wait only blocks until the child process exits; it does not populate the exit code. You must use -PassThru to get the Process object and access its ExitCode property. In this flow, a failed Build Tools install can silently proceed and only surface later as a misleading MSVC setup/build failure.

Suggested fix
-              Start-Process -FilePath $installerPath -ArgumentList `
+              $installer = Start-Process -FilePath $installerPath -ArgumentList `
                   "--quiet", "--wait", "--norestart", "--nocache", `
                   "--add", "Microsoft.VisualStudio.Workload.VCTools", `
                   "--add", "Microsoft.VisualStudio.Component.VC.Tools.x86.x64", `
                   "--add", "Microsoft.VisualStudio.Component.Windows11SDK.26100" `
-                  -Wait -NoNewWindow
+                  -Wait -NoNewWindow -PassThru
+              if ($installer.ExitCode -ne 0) {
+                  throw "Visual Studio Build Tools install failed with exit code $($installer.ExitCode)"
+              }
               Remove-Item $installerPath -ErrorAction SilentlyContinue
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In @.github/actions/setup-build-environment/action.yaml around lines 37 - 42,
The Start-Process call that runs the Visual Studio installer should capture and
check the process exit code; change the invocation of Start-Process (the call
that uses $installerPath and the argument list adding VisualStudio components)
to include -PassThru, store the returned Process object (e.g., $proc) and then
inspect $proc.ExitCode after it finishes, and if the ExitCode is non-zero
throw/exit with a clear error (so the workflow fails early); ensure this logic
surrounds the same Start-Process invocation and uses the same argument list that
includes "--add", "Microsoft.VisualStudio.Workload.VCTools",
"Microsoft.VisualStudio.Component.VC.Tools.x86.x64", and
"Microsoft.VisualStudio.Component.Windows11SDK.26100".
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Outside diff comments:
In @.github/actions/setup-build-environment/action.yaml:
- Around line 37-42: The Start-Process call that runs the Visual Studio
installer should capture and check the process exit code; change the invocation
of Start-Process (the call that uses $installerPath and the argument list adding
VisualStudio components) to include -PassThru, store the returned Process object
(e.g., $proc) and then inspect $proc.ExitCode after it finishes, and if the
ExitCode is non-zero throw/exit with a clear error (so the workflow fails
early); ensure this logic surrounds the same Start-Process invocation and uses
the same argument list that includes "--add",
"Microsoft.VisualStudio.Workload.VCTools",
"Microsoft.VisualStudio.Component.VC.Tools.x86.x64", and
"Microsoft.VisualStudio.Component.Windows11SDK.26100".

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 75da4ce4-8ee6-4e79-b809-67f9b8a2b93f

📥 Commits

Reviewing files that changed from the base of the PR and between 8d79132 and 680b8bb.

📒 Files selected for processing (2)
  • .github/actions/setup-build-environment/action.yaml
  • .github/workflows/_shared-build.yaml
🚧 Files skipped from review as they are similar to previous changes (1)
  • .github/workflows/_shared-build.yaml

@doodlum doodlum changed the title CI: remove vs2022 from PR checks ci: remove vs2022 from PR checks May 2, 2026
@alandtse alandtse merged commit 9422119 into community-shaders:dev May 3, 2026
13 of 14 checks passed
ParticleTroned pushed a commit to ParticleTroned/skyrim-community-shaders that referenced this pull request May 15, 2026
ParticleTroned pushed a commit to ParticleTroned/skyrim-community-shaders that referenced this pull request May 15, 2026
ParticleTroned pushed a commit to ParticleTroned/skyrim-community-shaders that referenced this pull request May 16, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants