Skip to content

Add a Windows build workflow - #1619

Merged
scottf merged 3 commits into
mainfrom
windows-ci
Aug 25, 2026
Merged

Add a Windows build workflow#1619
scottf merged 3 commits into
mainfrom
windows-ci

Conversation

@scottf

@scottf scottf commented Aug 25, 2026

Copy link
Copy Markdown
Contributor

Runs the full test suite on windows-latest against a nats-server built from the tip of main, on every push to main. Windows has never had CI coverage here, and several of the server bugs found through the Java tests over the years were specific to the Windows environment.

The shared synadia-io/workflows install action is bash and unix-only, so this workflow installs the server itself rather than making that action cross platform. It builds nats-server.exe and hands the absolute path to the test harness through the nats_server_path environment variable, which NatsRunnerUtils.getResolvedServerPath() reads - that keeps PATH and PATHEXT out of the picture on a platform where an extensionless binary is not resolvable as a command.

Java 8 only, matching the other builds. No jacoco, coveralls, javadoc or publishing: those are covered on Linux and would only add runtime and failure surface. Test reports upload as an artifact on failure, since triaging Windows failures from raw console output is painful.

Runs the full test suite on windows-latest against a nats-server built
from the tip of main, on every push to main. Windows has never had CI
coverage here, and several of the server bugs found through the Java
tests over the years were specific to the Windows environment.

The shared synadia-io/workflows install action is bash and unix-only, so
this workflow installs the server itself rather than making that action
cross platform. It builds nats-server.exe and hands the absolute path to
the test harness through the nats_server_path environment variable,
which NatsRunnerUtils.getResolvedServerPath() reads - that keeps PATH
and PATHEXT out of the picture on a platform where an extensionless
binary is not resolvable as a command.

Java 8 only, matching the other builds. No jacoco, coveralls, javadoc or
publishing: those are covered on Linux and would only add runtime and
failure surface. Test reports upload as an artifact on failure, since
triaging Windows failures from raw console output is painful.
Base automatically changed from update-actions-node24 to main August 25, 2026 15:23
@synadia-claude-reviewer

synadia-claude-reviewer Bot commented Aug 25, 2026

Copy link
Copy Markdown

Claude encountered an error —— View job


I'll analyze this and get back to you.

Comment thread .github/workflows/build-windows.yml Fixed
CodeQL flagged the missing permissions block. Nothing in this workflow
writes: checkout needs contents read, and upload-artifact has no
GITHUB_TOKEN input - it uses the Actions runtime token.

@mtmk mtmk left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

LGTM

@scottf
scottf merged commit 2adc46a into main Aug 25, 2026
5 checks passed
@scottf
scottf deleted the windows-ci branch August 25, 2026 16:23
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