Skip to content

Fix #2171: build OpenSSL from source on Windows - #2172

Merged
orpiske merged 1 commit into
mainfrom
claude/project-thread-y5v8fv
Oct 20, 2026
Merged

orpiske merged 1 commit into
mainfrom
claude/project-thread-y5v8fv

Conversation

@orpiske

@orpiske orpiske commented Oct 20, 2026 •

Copy link
Copy Markdown
Contributor

Requested by Otavio · project thread

Before: the early-access Windows job fails because openssl-sys finds no OpenSSL. The multi-arch manifest job is then skipped, so quay.io/wanaku/wanaku-server:early-access (and the Saci worker image built from it) still runs the 2026-10-01 server, without tool enable/disable and other later features.

After: Windows builds compile OpenSSL from source, so the Windows job can pass and the early-access tag can move again.

How: a cfg(windows) dependency on openssl with the vendored feature in server/Cargo.toml. Feature unification makes openssl-sys use openssl-src on Windows only. Linux and macOS builds are unchanged (cargo check -p wanaku-server --locked passes on Linux).

Not verified on Windows yet: PR CI has no Windows job. A dispatch of the early-access workflow on this branch, or after merge, will confirm it.

Closes #2171


Generated by Claude Code

Summary by Sourcery

Make OpenSSL available during Windows server builds to restore successful early-access image publishing.

Bug Fixes:

  • Enable Windows builds to compile OpenSSL from source so the early-access Windows job can succeed and publish updated images.

Build:

  • Add the vendored OpenSSL dependency for Windows server builds and update the lockfile.

Praxis 0.7.3 made OpenSSL a hard dependency on every target. Windows
runners have no OpenSSL dev install, so the early-access Windows job
fails, the multi-arch manifest job is skipped, and the early-access
image stays on the 2026-10-01 build.

Enable the openssl crate's vendored feature on Windows only.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0189XaWeWPUxirC7mGwNFAGp
@orpiske orpiske self-assigned this Oct 20, 2026
@sourcery-ai

sourcery-ai Bot commented Oct 20, 2026 •

Copy link
Copy Markdown
Reviewer's guide (collapsed on small PRs)

Reviewer's Guide

This PR fixes Windows early-access builds by adding a target-specific, vendored OpenSSL dependency to the server crate, causing OpenSSL to be built from source on Windows while preserving existing Linux and macOS builds; the lockfile is updated accordingly.

File-Level Changes

Change Details Files
Add a Windows-only vendored OpenSSL dependency so Windows builds compile OpenSSL from source instead of requiring a host-installed development package.
  • Declare openssl with the vendored feature under cfg(windows) dependencies.
  • Rely on Cargo feature unification to activate openssl-src for Windows while leaving Linux and macOS dependency behavior unchanged.
server/Cargo.toml
Update dependency resolution for the new Windows build dependency.
  • Record the OpenSSL vendoring-related packages and checksums in the lockfile.
Cargo.lock

Assessment against linked issues

Issue Objective Addressed Explanation
#2171 Make Windows builds succeed without a preinstalled OpenSSL development environment by compiling OpenSSL from source on Windows. ✅
#2171 Unblock early-access and release image workflows so they can publish updated images containing the current server features. ✅

Possibly linked issues


Tips and commands

Interacting with Sourcery

  • Trigger a new review: Comment @sourcery-ai review on the pull request.
  • Continue discussions: Reply directly to Sourcery's review comments.
  • Generate a GitHub issue from a review comment: Ask Sourcery to create an
    issue from a review comment by replying to it. You can also reply to a
    review comment with @sourcery-ai issue to create an issue from it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull
    request title to generate a title at any time. You can also comment
    @sourcery-ai title on the pull request to (re-)generate the title at any time.
  • Generate a pull request summary: Write @sourcery-ai summary anywhere in
    the pull request body to generate a PR summary at any time exactly where you
    want it. You can also comment @sourcery-ai summary on the pull request to
    (re-)generate the summary at any time.
  • Generate reviewer's guide: Comment @sourcery-ai guide on the pull
    request to (re-)generate the reviewer's guide at any time.
  • Resolve all Sourcery comments: Comment @sourcery-ai resolve on the
    pull request to resolve all Sourcery comments. Useful if you've already
    addressed all the comments and don't want to see them anymore.
  • Dismiss all Sourcery reviews: Comment @sourcery-ai dismiss on the pull
    request to dismiss all existing Sourcery reviews. Especially useful if you
    want to start fresh with a new review - don't forget to comment
    @sourcery-ai review to trigger a new review!

Customizing Your Experience

Access your dashboard to:

  • Enable or disable review features such as the Sourcery-generated pull request
    summary, the reviewer's guide, and others.
  • Change the review language.
  • Add, remove or edit custom review instructions.
  • Adjust other review settings.

Getting Help

@orpiske
orpiske marked this pull request as ready for review October 20, 2026 14:58
@orpiske
orpiske merged commit 2e4a27d into main Oct 20, 2026
5 of 6 checks passed

@sourcery-ai sourcery-ai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Hey - I've reviewed your changes and they look great!

Sourcery assessment

Needs a human reviewer. Windows builds will now use vendored OpenSSL 3.6.3 for cryptographic operations; a flawed or unsuitable library could expose data protected by those operations. Reverting stops future builds from using it, but cannot undo exposure from binaries already deployed.


Sourcery is free for open source - if you like our reviews please consider sharing them ✨

This branch is waiting to be deployed

1 waiting deployment
integration-tests — 01ca0aba Waiting Oct 20, 2026 by orpiske via Dispatch Integration Tests #818
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.

early-access image is stale: Windows build fails on missing OpenSSL since the Praxis 0.7.3 upgrade

2 participants