Skip to content

Commit

Permalink
Prepare for v6
Browse files Browse the repository at this point in the history
  • Loading branch information
recrsn committed Feb 6, 2025
1 parent d8195c6 commit 8553237
Show file tree
Hide file tree
Showing 4 changed files with 1,412 additions and 3,568 deletions.
106 changes: 59 additions & 47 deletions .github/workflows/build-pack-publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,61 +10,77 @@ on:

jobs:

build:
runs-on: ubuntu-22.04
build-linux:
runs-on: ubuntu-latest
strategy:
matrix:
os: [linux]
arch: [amd64, arm64, arm]
container:
- almalinux-devtoolset11
- alpine
- linux-armv7
- linux-armv7l-musl
- linux-arm64-lts
- linux-arm64-musl
container: ghcr.io/prebuild/${{ matrix.container }}
steps:
- uses: actions/checkout@v4
- uses: docker/setup-qemu-action@v3
- run: |
npm ci
npx prebuildify --napi --tag-libc --strip
- run: find prebuilds
- uses: actions/upload-artifact@v4
with:
image: tonistiigi/binfmt:latest
platforms: arm,arm64

- run: >
docker build .
--build-arg TEST_TIMEOUT_SECONDS=30
--tag node-bcrypt-builder
--platform ${{ matrix.os }}/${{ matrix.arch }}
- run: >
docker create
--name node-bcryptjs-builder
--platform ${{ matrix.os }}/${{ matrix.arch }}
node-bcrypt-builder
- run: docker cp "node-bcryptjs-builder:/usr/local/opt/bcrypt-js/prebuilds" .
name: prebuild-${{ matrix.container }}
path: ./prebuilds/

# build for Alpine:
- run: >
docker build -f Dockerfile-alpine .
--build-arg TEST_TIMEOUT_SECONDS=30
--tag node-bcrypt-builder-alpine
--platform ${{ matrix.os }}/${{ matrix.arch }}
- run: >
docker create
--name node-bcryptjs-builder-alpine
--platform ${{ matrix.os }}/${{ matrix.arch }}
node-bcrypt-builder-alpine
- run: docker cp "node-bcryptjs-builder-alpine:/usr/local/opt/bcrypt-js/prebuilds" .
build-windows:
runs-on: windows-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 22
registry-url: 'https://registry.npmjs.org'
- run: npm ci
- run: npx prebuildify --napi --strip --arch=x86
- run: npx prebuildify --napi --strip --arch=x64
- run: dir prebuilds
- uses: actions/upload-artifact@v4
with:
name: prebuild-windows
path: ./prebuilds/

build-macos:
runs-on: macos-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 22
registry-url: 'https://registry.npmjs.org'
- run: npm ci
- run: npx prebuildify --napi --strip --arch=arm64
- run: npx prebuildify --napi --strip --arch=x64
- run: find prebuilds
- uses: actions/upload-artifact@v3
- uses: actions/upload-artifact@v4
with:
name: prebuild-${{ matrix.os }}-${{ matrix.arch }}
path: ./prebuilds
name: prebuild-macos
path: ./prebuilds/

pack:
needs: build
runs-on: ubuntu-22.04
needs:
- build-linux
- build-windows
- build-macos
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v3
- uses: actions/setup-node@v4
with:
node-version: 20
registry-url: 'https://registry.npmjs.org'
- run: npm ci
- uses: actions/download-artifact@v2
- uses: actions/download-artifact@v4
with:
path: /tmp/prebuilds/
- name: Coalesce prebuilds from build matrix
Expand All @@ -75,7 +91,7 @@ jobs:
done
- run: chmod a+x prebuilds/*/*.node && find prebuilds -executable -type f
- run: echo "PACK_FILE=$(npm pack)" >> $GITHUB_ENV
- uses: actions/upload-artifact@v3
- uses: actions/upload-artifact@v4
with:
name: package-tgz
path: ${{ env.PACK_FILE }}
Expand All @@ -86,11 +102,11 @@ jobs:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v3
- uses: actions/setup-node@v4
with:
node-version: 20
registry-url: 'https://registry.npmjs.org'
- uses: actions/download-artifact@v2
- uses: actions/download-artifact@v4
with:
name: package-tgz
path: /tmp/package/
Expand All @@ -107,18 +123,14 @@ jobs:
packages: write
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v3
- uses: actions/setup-node@v4
with:
node-version: 20
registry-url: https://npm.pkg.github.com/
- uses: actions/download-artifact@v2
- uses: actions/download-artifact@v4
with:
name: package-tgz
path: /tmp/package/
- run: npm publish /tmp/package/bcrypt*.tgz
env:
NODE_AUTH_TOKEN: ${{secrets.GITHUB_TOKEN}}




5 changes: 2 additions & 3 deletions binding.gyp
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,9 @@
],
'cflags!': [ '-fno-exceptions' ],
'cflags_cc!': [ '-fno-exceptions' ],
'include_dirs' : [
"<!@(node -p \"require('node-addon-api').include\")"
'dependencies': [
"<!(node -p \"require('node-addon-api').targets\"):node_addon_api_except",
],
'dependencies': ["<!(node -p \"require('node-addon-api').gyp\")"],
'conditions': [
['OS=="win"', {
"msvs_settings": {
Expand Down
Loading

0 comments on commit 8553237

Please sign in to comment.