Skip to content

Conversation

@mickgmdb
Copy link
Collaborator

Fixing CI builds for Windows on GitHub Actions

Copilot AI review requested due to automatic review settings November 10, 2025 00:51
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 fixes CI builds for Windows on GitHub Actions by refactoring the vcpkg setup logic and adding a Windows CI job. The main changes centralize vcpkg installation handling, improve caching configuration, and ensure consistent behavior across CI and release workflows.

Key changes:

  • Refactored buildwin.bat to use a reusable subroutine for vcpkg installation
  • Updated vcpkg cache configuration to use a static key and include additional cache paths
  • Added Windows x64 CI job with test execution using cargo-nextest

Reviewed Changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 3 comments.

File Description
buildwin.bat Extracted inline vcpkg setup logic into :ensure_vcpkg subroutine and centralized VCPKG_ROOT variable
.github/workflows/release.yml Updated vcpkg cache paths/key and removed -force flag from build command
.github/workflows/ci.yml Added complete Windows CI job with vcpkg caching, build, and test steps
data/rules/aws.yml Added word boundary marker to AWS secret detection pattern

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

([A-Za-z0-9/+]{40})
\b
)
\b
Copy link

Copilot AI Nov 10, 2025

Choose a reason for hiding this comment

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

[nitpick] The addition of \b on line 42 appears to be adding a word boundary to the regex pattern. Consider adding a comment explaining why this boundary is necessary to prevent false positives or clarify the pattern's intent.

Suggested change
\b
\b # Word boundary to ensure the secret key is matched as a standalone token and prevent false positives.
Copilot uses AI. Check for mistakes.
C:\vcpkg\downloads
C:\vcpkg\archives
C:\Users\runneradmin\AppData\Local\vcpkg\archives
key: ${{ runner.os }}-vcpkg-hyperscan
Copy link

Copilot AI Nov 10, 2025

Choose a reason for hiding this comment

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

The cache key changed from a content-based hash to a static string 'hyperscan'. This means the cache won't be invalidated when vcpkg dependencies change. Consider including a version identifier or hash to ensure cache invalidation when dependencies are updated.

Suggested change
key: ${{ runner.os }}-vcpkg-hyperscan
key: ${{ runner.os }}-vcpkg-hyperscan-${{ hashFiles('vcpkg.json', 'vcpkg-lock.json') }}
Copilot uses AI. Check for mistakes.
C:\vcpkg\downloads
C:\vcpkg\archives
C:\Users\runneradmin\AppData\Local\vcpkg\archives
key: ${{ runner.os }}-vcpkg-hyperscan
Copy link

Copilot AI Nov 10, 2025

Choose a reason for hiding this comment

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

The cache key is static and won't invalidate when vcpkg dependencies change. Consider including a version identifier or hash to ensure the cache is refreshed when dependencies are updated.

Suggested change
key: ${{ runner.os }}-vcpkg-hyperscan
key: ${{ runner.os }}-vcpkg-hyperscan-${{ hashFiles('vcpkg.json') }}
Copilot uses AI. Check for mistakes.
@mickgmdb mickgmdb merged commit 64c0238 into main Nov 10, 2025
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

2 participants