Skip to content

Build and Publish OpenSSL Packages #9

Build and Publish OpenSSL Packages

Build and Publish OpenSSL Packages #9

name: Build and Publish OpenSSL Packages
on:
workflow_dispatch:
jobs:
build-openssl:
name: Build OpenSSL package for (${{ matrix.os }} ${{ matrix.arch }})
runs-on: ${{ matrix.os }}
strategy:
matrix:
include:
- os: windows-latest
arch: x64
# - os: windows-latest
# arch: arm64
- os: macos-15
arch: x64
- os: macos-15-intel
arch: arm64
fail-fast: false
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 22
- name: Install Toolchain
if: matrix.os == 'windows-latest' && matrix.arch == 'arm64'
uses: msys2/setup-msys2@v2
with:
update: true
install: >
mingw-w64-aarch64-toolchain
mingw-w64-aarch64-cmake
mingw-w64-aarch64-ninja
- name: Install dependencies
run: npm install
- name: Build OpenSSL packages
env:
TARGET_ARCH: ${{ matrix.arch }}
NODEGIT_OPENSSL_BUILD_PACKAGE: 1
OPENSSL_MACOS_DEPLOYMENT_TARGET: "11.0"
run: node utils/acquireOpenSSL.mjs
- name: Push OpenSSL package to S3
env:
node_pre_gyp_bucket: ${{ secrets.node_pre_gyp_bucket }}
AWS_ACCESS_KEY_ID: ${{ secrets.node_pre_gyp_accessKeyId }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.node_pre_gyp_secretAccessKey }}
run: node utils/uploadOpenSSL.mjs