Skip to content

Windows OpenSSL

Windows OpenSSL #443

name: Windows OpenSSL
on:
schedule:
# Run once a week on Fridays
- cron: "0 0 * * FRI"
pull_request:
paths:
- '.github/workflows/build-windows-openssl.yml'
- 'windows/openssl/**'
# Contains the OpenSSL version we'll build
- 'cryptography-linux/openssl-version.sh'
push:
branches:
- main
paths:
- '.github/workflows/build-windows-openssl.yml'
- 'windows/openssl/**'
# Contains the OpenSSL version we'll build
- 'cryptography-linux/openssl-version.sh'
jobs:
build:
runs-on: windows-latest
strategy:
matrix:
ARCH: ["win32", "win64"]
name: "Build OpenSSL for ${{ matrix.ARCH }} on MSVC 2022"
steps:
- uses: actions/checkout@v4.2.2
with:
persist-credentials: false
- run: choco install -y nasm winrar jom
- name: Export OpenSSL version
run: |
source ./cryptography-linux/openssl-version.sh
echo "OPENSSL_VERSION=$OPENSSL_VERSION" >> $GITHUB_ENV
echo "OPENSSL_SHA256=$OPENSSL_SHA256" >> $GITHUB_ENV
echo "OPENSSL_BUILD_FLAGS_WINDOWS=$OPENSSL_BUILD_FLAGS_WINDOWS" >> $GITHUB_ENV
shell: bash
- name: Download OpenSSL source
run: |
wget "https://github.com/openssl/openssl/releases/download/${env:OPENSSL_VERSION}/${env:OPENSSL_VERSION}.tar.gz" -OutFile 'openssl-latest.tar.gz'
if ((Get-FileHash openssl-latest.tar.gz -Algorithm SHA256).Hash -ne $env:OPENSSL_SHA256) {
Write-Error 'Hashes do not match' -ErrorAction Stop
}
shell: powershell
- run: '"C:\Program Files\WinRAR\WinRAR.exe" -INUL x openssl-latest.tar.gz'
shell: cmd
- run: windows\openssl\build_openssl.bat ${{ matrix.ARCH }}
shell: cmd
- uses: actions/upload-artifact@v4.5.0
with:
name: "openssl-${{ matrix.ARCH }}"
path: build\