Skip to content

Prebuilds

Prebuilds #22

name: Prebuilds
on:
workflow_dispatch:
jobs:
identify-native-modules-to-handle:
# strategy:
# fail-fast: false
# matrix:
# include:
# - os: windows-latest
# arch: x64
# node: 18
# - os: macos-latest
# arch: x64
# node: 18
# - os: macos-latest
# arch: arm64
# node: 18
# - os: ubuntu-latest
# arch: x64
# libc: glibc
# node: 18
runs-on: ubuntu-latest
env:
NODE_AUTH_TOKEN: ${{ secrets.GH_PACKAGES_TOKEN }}
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
cache: npm
node-version: 18
- name: Install krb5
run: sudo apt-get install -y libkrb5-dev
- run: npm install
- run: npm run prepare
- name: Build on Linux x64
run: npm run rebuild-custom-for-target
- name: Upload artifacts
uses: actions/upload-artifact@v3
with:
name: modulesToBuildForElectron
path: modulesToBuild.json
build-mac-intel:
runs-on: macos-latest
needs: identify-native-modules-to-handle
env:
LDFLAGS: "${LDFLAGS} -L/usr/local/opt/openssl@3/lib -L/usr/local/opt/krb5/lib"
CPPFLAGS: "${CPPFLAGS} -I/usr/local/opt/openssl@3/include -I/usr/local/opt/krb5/include"
NODE_AUTH_TOKEN: ${{ secrets.GH_PACKAGES_TOKEN }}
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
cache: npm
node-version: 18
- uses: actions/download-artifact@v3
with:
name: modulesToBuildForElectron
path: modulesToBuild.json
- name: Install krb5
run: brew install krb5 openssl@3
- name: Install tookit dependencies
run: npm install
- name: Build on Linux x64
run: npm run rebuild-custom-for-target
build-windows-intel:
runs-on: windows-latest
needs: identify-native-modules-to-handle
env:
NODE_AUTH_TOKEN: ${{ secrets.GH_PACKAGES_TOKEN }}
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
cache: npm
node-version: 18
- uses: actions/download-artifact@v3
with:
name: modulesToBuildForElectron
path: modulesToBuild.json
- name: Install MIT Kerberos
run: choco install mitkerberos
- name: Install tookit dependencies
run: npm install
- name: Build on Linux x64
run: npm run rebuild-custom-for-target