Skip to content

ci: expand ci matrix to test more LLVM versions#593

Draft
wmmc88 wants to merge 5 commits intomainfrom
expand-llvm
Draft

ci: expand ci matrix to test more LLVM versions#593
wmmc88 wants to merge 5 commits intomainfrom
expand-llvm

Conversation

@wmmc88
Copy link
Copy Markdown
Collaborator

@wmmc88 wmmc88 commented Dec 12, 2025

This pull request updates the supported LLVM versions across all CI workflow files and clarifies the LLVM installation instructions in the README.md. The changes ensure that the project is tested and built against newer LLVM releases, improving compatibility and future-proofing the build process.

Copilot AI review requested due to automatic review settings December 12, 2025 21:01
Copy link
Copy Markdown
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 expands the CI testing matrix to include additional LLVM versions (18.1.8, 19.1.1, 20.1.0, and 21.1.0) across all GitHub Actions workflows, and updates the README documentation to reference the CI configuration for supported LLVM versions.

Key changes:

  • Added four new LLVM versions (18.1.8, 19.1.1, 20.1.0, 21.1.0) to the test matrix in six CI workflow files
  • Updated README.md to link to the CI workflow configuration for the list of tested/supported LLVM versions

Reviewed changes

Copilot reviewed 7 out of 7 changed files in this pull request and generated no comments.

Show a summary per file
File Description
.github/workflows/build.yaml Added LLVM versions 18.1.8, 19.1.1, 20.1.0, and 21.1.0 to the build workflow matrix
.github/workflows/test.yaml Added LLVM versions 18.1.8, 19.1.1, 20.1.0, and 21.1.0 to the test workflow matrix
.github/workflows/lint.yaml Added LLVM versions 18.1.8, 19.1.1, 20.1.0, and 21.1.0 to the lint workflow matrix
.github/workflows/docs.yaml Added LLVM versions 18.1.8, 19.1.1, 20.1.0, and 21.1.0 to the docs workflow matrix
.github/workflows/codeql.yaml Added LLVM versions 18.1.8, 19.1.1, 20.1.0, and 21.1.0 to the CodeQL workflow matrix
.github/workflows/local-development-makefile.yaml Added LLVM versions 18.1.8, 19.1.1, 20.1.0, and 21.1.0 to the local development workflow matrix
README.md Added reference to CI workflow configuration for list of tested/supported LLVM versions

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@codecov-commenter
Copy link
Copy Markdown

codecov-commenter commented Dec 12, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 77.41%. Comparing base (547b792) to head (bacc4a2).

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #593   +/-   ##
=======================================
  Coverage   77.41%   77.41%           
=======================================
  Files          24       24           
  Lines        4853     4853           
  Branches     4853     4853           
=======================================
  Hits         3757     3757           
  Misses        979      979           
  Partials      117      117           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Copilot AI review requested due to automatic review settings December 12, 2025 23:10
Copy link
Copy Markdown
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

Copilot reviewed 7 out of 7 changed files in this pull request and generated 9 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copilot AI review requested due to automatic review settings December 13, 2025 00:32
Copy link
Copy Markdown
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

Copilot reviewed 7 out of 7 changed files in this pull request and generated 1 comment.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copilot AI review requested due to automatic review settings March 1, 2026 18:29
Copy link
Copy Markdown
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

Copilot reviewed 12 out of 12 changed files in this pull request and generated 6 comments.

Comments suppressed due to low confidence (2)

.github/actions/install-winget-package/action.yaml:41

  • This script removed $ErrorActionPreference = 'Stop'. Since it calls cmdlets like Import-Module/Get-WinGetPackage/Install-WinGetPackage, failures may become non-terminating and allow the step to continue with partial state. Restore $ErrorActionPreference = 'Stop' (or add -ErrorAction Stop to key operations) to keep the advertised 'robust error handling' behavior.
              Set-StrictMode -Version Latest

              # Import WinGet PowerShell module
              Import-Module Microsoft.WinGet.Client -Force

.github/actions/install-wdk/action.yaml:31

  • This step removed $ErrorActionPreference = 'Stop'. If any of the validation/IO cmdlets emit non-terminating errors, the action could continue and fail later in harder-to-debug ways. Consider restoring $ErrorActionPreference = 'Stop' here (or ensure critical operations use -ErrorAction Stop) to keep failures immediate and consistent.
      shell: pwsh
      run: |
        Set-StrictMode -Version Latest

        $source = '${{ inputs.source }}'
        $version = '${{ inputs.version }}'
        $hostArch = '${{ inputs.host }}'

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copilot AI review requested due to automatic review settings March 5, 2026 21:55
Copy link
Copy Markdown
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

Copilot reviewed 8 out of 8 changed files in this pull request and generated 2 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

if (-not (Get-PSRepository -Name PSGallery -ErrorAction SilentlyContinue)) {
Write-Host 'Register-PSRepository -Default failed. Registering with explicit URL...'
Register-PSRepository -Name PSGallery -SourceLocation 'https://www.powershellgallery.com/api/v2' -InstallationPolicy Trusted
}
Copy link

Copilot AI Mar 5, 2026

Choose a reason for hiding this comment

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

This block can still leave PSGallery unregistered (both registration attempts can fail) and the script will continue, making later failures harder to diagnose. After the fallback Register-PSRepository, consider re-checking Get-PSRepository -Name PSGallery and explicitly failing with a clear error if it’s still missing.

Suggested change
}
}
# After attempting both default and explicit registration, ensure PSGallery is actually available.
if (-not (Get-PSRepository -Name PSGallery -ErrorAction SilentlyContinue)) {
Write-Error "PSGallery could not be registered even after fallback registration attempts. PowerShellGet/NuGet configuration may be broken."
exit 1
}

Copilot uses AI. Check for mistakes.
Register-PSRepository -Default -ErrorAction SilentlyContinue
if (-not (Get-PSRepository -Name PSGallery -ErrorAction SilentlyContinue)) {
Write-Host 'Register-PSRepository -Default failed. Registering with explicit URL...'
Register-PSRepository -Name PSGallery -SourceLocation 'https://www.powershellgallery.com/api/v2' -InstallationPolicy Trusted
Copy link

Copilot AI Mar 5, 2026

Choose a reason for hiding this comment

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

Setting PSGallery to Trusted changes the trust policy for subsequent module installs in this runner session, which is broader than necessary for a workaround. If possible, avoid changing the installation policy to trusted (e.g., keep it untrusted and rely on explicit -Force/-Confirm:$false where you install modules, or scope the trust change as narrowly as you can).

Suggested change
Register-PSRepository -Name PSGallery -SourceLocation 'https://www.powershellgallery.com/api/v2' -InstallationPolicy Trusted
Register-PSRepository -Name PSGallery -SourceLocation 'https://www.powershellgallery.com/api/v2' -InstallationPolicy Untrusted

Copilot uses AI. Check for mistakes.
github-merge-queue bot pushed a commit that referenced this pull request Mar 20, 2026
When `install-wdk` receives a 3-part WDK version like `10.0.26100` with
NuGet source, it must resolve a QFE suffix because NuGet WDK packages
only exist as 4-part versions (e.g. `10.0.26100.1882`). The previous
fallback paths silently used the bare 3-part version on API timeout or
when no versions matched, guaranteeing a downstream "package not found"
failure. This was hit in PR #593 where a 30s NuGet API timeout caused
the action to try installing the non-existent `Microsoft.Windows.WDK.x64
10.0.26100`.

Replaces the silent fallbacks with a retry loop (3 attempts, exponential
backoff) that only retries transient errors (timeouts, network failures,
HTTP 429/5xx) and fails fast on non-transient errors like no matching
versions for the base version. Includes the last exception message in
the final error for easier CI diagnosis.
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