Skip to content

Commit 217d724

Browse files
runonthespotclaude
andcommitted
fix: combine working Linux/macOS and Windows approaches
From Linux/macOS working commit 4cf1a9b: - Strawberry Perl installation with cmd shell and refreshenv - --features=openssl/vendored for most targets - Skip vendored OpenSSL for Windows GNU compatibility - Keep --locked flag in build command This should work for all platforms by combining proven approaches. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
1 parent 1c3c71c commit 217d724

1 file changed

Lines changed: 9 additions & 10 deletions

File tree

.github/workflows/release.yml

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -98,8 +98,11 @@ jobs:
9898
- name: Install build dependencies (Windows)
9999
if: matrix.os == 'windows-latest'
100100
run: |
101+
# Install Strawberry Perl for OpenSSL compilation
101102
choco install strawberryperl -y
102-
shell: bash
103+
# Refresh environment variables
104+
refreshenv
105+
shell: cmd
103106

104107
- name: Install cross
105108
if: matrix.use-cross
@@ -116,17 +119,13 @@ jobs:
116119
shell: bash
117120

118121
- name: Build release binary
119-
env:
120-
# Explicit OPENSSL_DIR paths for ARM cross-compilation (from PR #32)
121-
OPENSSL_DIR: ${{ matrix.target == 'aarch64-pc-windows-msvc' && 'C:/Program Files/OpenSSL-Win64' || '' }}
122122
run: |
123-
# Use different OpenSSL strategies per platform
124-
if [ "${{ matrix.os }}" = "windows-latest" ]; then
125-
# Use vendored OpenSSL on Windows with explicit paths for ARM (PR #32 approach)
126-
${{ env.CARGO_CMD }} build --locked --release --target ${{ matrix.target }} --package ck-search --features=vendored-openssl
123+
# Use sccache's exact approach: enable openssl/vendored feature
124+
# Skip vendored OpenSSL for Windows GNU due to potential compatibility issues
125+
if [ "${{ matrix.target }}" = "x86_64-pc-windows-gnu" ]; then
126+
${{ env.CARGO_CMD }} build --locked --release --target ${{ matrix.target }} --package ck-search
127127
else
128-
# Use vendored OpenSSL on Unix platforms (PR #52 approach)
129-
${{ env.CARGO_CMD }} build --locked --release --target ${{ matrix.target }} --package ck-search --features=vendored-openssl
128+
${{ env.CARGO_CMD }} build --locked --release --target ${{ matrix.target }} --package ck-search --features=openssl/vendored
130129
fi
131130
shell: bash
132131

0 commit comments

Comments
 (0)