Merge pull request #149 from verhovsky/partial-revert-95 #96
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: build | |
on: | |
push: | |
branches: | |
- master | |
pull_request: | |
branches: | |
- master | |
env: | |
NODE_PREBUILD_CMD: npx prebuild -t 10.0.0 -t 12.0.0 -t 14.0.0 -t 16.0.0 -t 18.0.0 -t 20.0.0 --strip | |
ELECTRON_PREBUILD_CMD: npx prebuild -r electron -t 3.0.0 -t 4.0.0 -t 5.0.0 -t 6.0.0 -t 7.0.0 -t 8.0.0 -t 9.0.0 -t 10.0.0 -t 11.0.0 -t 12.0.0 -t 13.0.0 -t 14.0.0 -t 15.0.0 -t 16.0.0 -t 17.0.0 -t 18.0.0 -t 19.0.0 -t 20.0.0 -t 21.0.0 -t 22.0.0 -t 23.0.0 -t 24.0.0 -t 25.0.0 --strip | |
jobs: | |
test: | |
strategy: | |
matrix: | |
os: | |
- windows-2019 | |
- macos-latest | |
- ubuntu-latest | |
node: | |
- 10 | |
- 12 | |
- 14 | |
- 16 | |
- 18 | |
- 20 | |
fail-fast: false | |
name: Testing Node ${{ matrix.node }} on ${{ matrix.os }} | |
runs-on: ${{ matrix.os }} | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
submodules: true | |
fetch-depth: 0 | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: ${{ matrix.node }} | |
- run: npm install | |
- run: npm test | |
prebuild: | |
strategy: | |
matrix: | |
os: | |
- windows-2019 | |
- macos-latest | |
- ubuntu-latest | |
node: | |
# Node 10-14 fails to prebuild for Node 18+ | |
# | |
# macos-latest's Python version is too new to work with the node-gyp | |
# bundled by prebuild and the "overrides" in package.json for node-gyp | |
# doesn't work before npm 8.3 (Node 16) | |
# | |
# ubuntu-latest has a similar issue but in this case the error is more direct: | |
# #error "It looks like you are building this native module without | |
# using the right config.gypi. This normally means that you need to | |
# update electron-rebuild (>=3.2.8) or node-gyp (>=8.4.0) if you're | |
# building modules directly." | |
# | |
# windows-2019 fails with | |
# gyp: name 'llvm_version' is not defined while evaluating condition | |
# 'llvm_version=="0.0"' in binding.gyp while trying to load binding.gyp | |
# - 10 | |
# - 12 | |
# - 14 | |
- 16 | |
- 18 | |
- 20 | |
fail-fast: false | |
name: Prebuild with Node ${{ matrix.node }} on ${{ matrix.os }} | |
runs-on: ${{ matrix.os }} | |
# needs: test | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
submodules: true | |
fetch-depth: 0 | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: ${{ matrix.node }} | |
- run: npm install | |
- if: matrix.os == 'windows-latest' | |
run: ${{ env.NODE_PREBUILD_CMD }} --arch ia32 | |
- if: matrix.os == 'windows-latest' | |
run: ${{ env.ELECTRON_PREBUILD_CMD }} --arch ia32 | |
- if: matrix.os == 'macos-latest' | |
run: ${{ env.NODE_PREBUILD_CMD }} --arch arm64 | |
- if: matrix.os == 'macos-latest' | |
run: ${{ env.ELECTRON_PREBUILD_CMD }} --arch arm64 | |
- run: ${{ env.NODE_PREBUILD_CMD }} | |
- run: ${{ env.ELECTRON_PREBUILD_CMD }} |