Add Windows 11 ARM to CI test matrix and simplify matrix infrastructure#396
Merged
currantw merged 16 commits intoMay 14, 2026
Merged
Conversation
Signed-off-by: currantw <taylor.curran@improving.com>
Signed-off-by: currantw <taylor.curran@improving.com>
Signed-off-by: currantw <taylor.curran@improving.com>
Signed-off-by: currantw <taylor.curran@improving.com>
Signed-off-by: currantw <taylor.curran@improving.com>
Signed-off-by: currantw <taylor.curran@improving.com>
… into currantw/383_add_missing_windows11_to_tests
ffe2799 to
68d3d08
Compare
The cluster FlushDatabaseAsync tests were flaky because the default flush mode is ASYNC (since Valkey 6.2+), causing a race between the background flush and subsequent assertions. Using FlushMode.Sync ensures the flush completes on all primaries before asserting. Signed-off-by: currantw <taylor.curran@improving.com>
currantw
commented
May 13, 2026
Signed-off-by: currantw <taylor.curran@improving.com>
currantw
commented
May 13, 2026
currantw
commented
May 13, 2026
currantw
commented
May 13, 2026
currantw
commented
May 13, 2026
currantw
commented
May 13, 2026
There was a problem hiding this comment.
Pull request overview
Expands CI coverage by enabling Windows 11 ARM (windows-11-arm) in the standard/full test profiles and simplifies the matrix schema and related workflow plumbing. This also restructures the test workflow to run unit tests separately from integration tests, skipping integration tests on Windows ARM due to WSL limitations.
Changes:
- Add
windows-11-armtostandardandfullprofiles; lowercase host matrix keys and remove redundant host fields. - Split CI into separate unit/integration test steps and gate integration tests on non-Windows-ARM targets.
- Remove unused failure-reporting infrastructure and simplify server installation action inputs.
Reviewed changes
Copilot reviewed 9 out of 9 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
tests/Valkey.Glide.IntegrationTests/FlushDatabaseTests.cs |
Makes cluster flush tests explicitly synchronous to avoid timing/flakiness. |
.github/workflows/test.yml |
Adds Windows ARM to matrix usage, lowercases matrix key references, and splits unit vs integration test execution (with ARM gating). |
.github/workflows/scripts/create_failures_json.sh |
Removes failure summary generation script (no longer used). |
.github/workflows/report-failures.yml |
Removes the dedicated “failure reporter” workflow. |
.github/workflows/cd.yml |
Updates jq filters and matrix key references to the new lowercase host schema. |
.github/json_matrices/os-matrix.json |
Lowercases host keys and includes windows-11-arm in standard/full profiles. |
.github/json_matrices/load_matrices.py |
Updates host/container detection for image key and fixes output formatting indentation. |
.github/actions/install-shared-dependencies/action.yml |
Adjusts WSL/server installation gating based on runner.os/runner.arch and removes redundant inputs passed to install-server. |
.github/actions/install-server/action.yml |
Removes os/target inputs and uses runner context for WSL/shell selection and cache keying. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Signed-off-by: currantw <taylor.curran@improving.com>
Signed-off-by: currantw <taylor.curran@improving.com>
Signed-off-by: currantw <taylor.curran@improving.com>
alexr-bq
approved these changes
May 13, 2026
… into currantw/383_add_missing_windows11_to_tests
… into currantw/383_add_missing_windows11_to_tests Signed-off-by: currantw <taylor.curran@improving.com>
xShinnRyuu
approved these changes
May 14, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Add Windows 11 ARM (
windows-11-arm) to thefullCI test profile, enabling build and unit test validation onaarch64-pc-windows-msvc. Integration tests are skipped because WSL2 is unavailable on GitHub's ARM Windows runner VMs (no nested virtualization). Also simplifies the CI matrix by lowercasing keys and removing redundant fields.Issue Link
Closes #383.
Features and Behaviour Changes
windows-11-armrunner now participates infullCI profile.aarch64-pc-windows-msvc.ARCHandNAMED_OSmatrix fields.report-failures.yml,create_failures_json.sh).Implementation
test-with-runnersjob now runsdotnet test tests/Valkey.Glide.UnitTests/unconditionally, then runsdotnet test tests/Valkey.Glide.IntegrationTests/gated onmatrix.host.target != 'aarch64-pc-windows-msvc'. DNS configuration is inlined into the integration test step.aarch64-pc-windows-msvc.osandtargetinputs. Usesrunner.osfor shell selection and WSL env passthrough. Cache key usesrunner.os-runner.archinstead of the Rust target triple.OS→os,RUNNER→runner,TARGET→target,IMAGE→image).load_matrices.pyandcd.ymljq filter updated accordingly.Limitations
windows-11-armdue to the lack of WSL2/nested virtualization on GitHub's ARM Windows runner VMs. See Add Windows 11 arm64 to standard and full CI test matrix #383.runner.archvalues (X64,ARM64) instead of the previous lowercase format.Testing
Related Issues
Checklist
Tests are added or updated and all checks pass.CI infrastructure change; no application tests to add.CHANGELOG.md,README.md,DEVELOPER.md, and other documentation files are updated.mainor releasemain, squash otherwise.