Skip to content

Add basic CI for Windows build#143

Open
cruzzil wants to merge 4 commits into
heasarc:developfrom
cruzzil:windows_ci
Open

Add basic CI for Windows build#143
cruzzil wants to merge 4 commits into
heasarc:developfrom
cruzzil:windows_ci

Conversation

@cruzzil

@cruzzil cruzzil commented Jun 22, 2026

Copy link
Copy Markdown
Contributor

Added a basic build / test for Windows.

As you can see, there are a reasonable number of code warnings but they should be ok for now.

Let me know if anything else should be added.

@krutkow krutkow left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Thanks for adding Windows CI support! I left a few inline notes to align this with our project's security and performance standards.

Comment thread .github/workflows/ci.yml Outdated
uses: actions/checkout@v4

- name: Set up Developer Command Prompt
uses: ilammy/msvc-dev-cmd@v1

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

We avoid third-party Actions. Official actions/ are permitted. Please remove the ilammy/msvc-dev-cmd step; CMake is generally able to detect the MSVC toolchain on windows-latest automatically.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Done

Comment thread .github/workflows/ci.yml
# 1. Manually install zlib using the built-in vcpkg executable
- name: Install zlib via vcpkg
run: |
vcpkg install zlib:x64-windows

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Rather than building zlib with each run, try caching the vcpkg installed directories, or use vcpkg's native binary caching feature via GitHub Actions cache.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Done

Comment thread .github/workflows/ci.yml
-DUSE_CURL=OFF
-DCMAKE_BUILD_TYPE=Release
-DVCPKG_TARGET_TRIPLET=x64-windows
-DCMAKE_TOOLCHAIN_FILE="$env:VCPKG_INSTALLATION_ROOT/scripts/buildsystems/vcpkg.cmake"

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Since this step uses PowerShell environment variable syntax ($env:), please explicitly add shell: powershell to this step, to be as explicit as possible in the workflow so it is self-documenting and resilient to future runner changes.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Done

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