chore: bump node-abi from 4.14.0 to 4.24.0 #174
This file contains hidden or 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 packaged binaries | |
| on: [push, pull_request, create] | |
| jobs: | |
| build-linux: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Cache node modules | |
| uses: actions/cache@v4 | |
| env: | |
| cache-name: cache-node-modules | |
| with: | |
| # npm cache files are stored in `~/.npm` on Linux/macOS | |
| path: ~/.npm | |
| key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }} | |
| - name: Cache Electron binaries | |
| uses: actions/cache@v4 | |
| env: | |
| cache-name: cache-electron-bins | |
| with: | |
| # cache location is described here: | |
| # https://github.com/electron/get#how-it-works | |
| path: ~/.cache/electron | |
| key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }} | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: 22 | |
| - name: Setup npm | |
| run: sudo npm i -g npm@latest | |
| - name: Install build deps | |
| run: npm install --no-optional | |
| - name: Run prebuild script | |
| run: npm run prebuild-linux | |
| - name: Build for x64 | |
| run: ./node_modules/.bin/electron-builder build -l --x64 | |
| env: | |
| GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| - uses: actions/upload-artifact@v4 | |
| with: | |
| name: Linux-AppImages | |
| path: dist/*.AppImage | |
| if-no-files-found: error | |
| build-linux-arm32: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Setup QEMU | |
| uses: docker/setup-qemu-action@v3 | |
| with: | |
| platforms: arm | |
| - name: Cache node modules | |
| uses: actions/cache@v4 | |
| env: | |
| cache-name: cache-node-modules | |
| with: | |
| # npm cache files are stored in `~/.npm` on Linux/macOS | |
| path: ~/.npm | |
| key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }} | |
| - name: Cache Electron binaries | |
| uses: actions/cache@v4 | |
| env: | |
| cache-name: cache-electron-bins | |
| with: | |
| # cache location is described here: | |
| # https://github.com/electron/get#how-it-works | |
| path: ~/.cache/electron | |
| key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }} | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: 22 | |
| - name: Setup npm and install cross-compilation tools | |
| run: | | |
| sudo npm i -g npm@latest | |
| sudo apt-get update | |
| sudo apt-get install -y gcc-arm-linux-gnueabihf g++-arm-linux-gnueabihf | |
| npm install --no-optional | |
| npm run prebuild-linux | |
| - name: Build for arm32v7 (aka armv7l) | |
| run: ./node_modules/.bin/electron-builder build -l --armv7l | |
| env: | |
| GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| CC: arm-linux-gnueabihf-gcc | |
| CXX: arm-linux-gnueabihf-g++ | |
| npm_config_target_platform: linux | |
| npm_config_target_arch: arm | |
| npm_config_cache: /tmp/.npm | |
| - uses: actions/upload-artifact@v4 | |
| with: | |
| name: Linux-arm32-AppImage | |
| path: dist/*.AppImage | |
| if-no-files-found: error | |
| build-linux-arm64: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Setup QEMU | |
| uses: docker/setup-qemu-action@v3 | |
| with: | |
| platforms: arm64 | |
| - name: Cache node modules | |
| uses: actions/cache@v4 | |
| env: | |
| cache-name: cache-node-modules | |
| with: | |
| # npm cache files are stored in `~/.npm` on Linux/macOS | |
| path: ~/.npm | |
| key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }} | |
| - name: Cache Electron binaries | |
| uses: actions/cache@v4 | |
| env: | |
| cache-name: cache-electron-bins | |
| with: | |
| # cache location is described here: | |
| # https://github.com/electron/get#how-it-works | |
| path: ~/.cache/electron | |
| key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }} | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: 22 | |
| - name: Setup npm and install cross-compilation tools | |
| run: | | |
| sudo npm i -g npm@latest | |
| sudo apt-get update | |
| sudo apt-get install -y gcc-aarch64-linux-gnu g++-aarch64-linux-gnu | |
| npm install --no-optional | |
| npm run prebuild-linux | |
| - name: Build for arm64 (aka arm64v8) | |
| run: ./node_modules/.bin/electron-builder build -l --arm64 | |
| env: | |
| GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| CC: aarch64-linux-gnu-gcc | |
| CXX: aarch64-linux-gnu-g++ | |
| npm_config_target_platform: linux | |
| npm_config_target_arch: arm64 | |
| npm_config_cache: /tmp/.npm | |
| - uses: actions/upload-artifact@v4 | |
| with: | |
| name: Linux-arm64-AppImage | |
| path: dist/*.AppImage | |
| if-no-files-found: error | |
| #build-windows: | |
| # runs-on: windows-latest | |
| # steps: | |
| # - uses: actions/checkout@v4 | |
| # - name: Get npm cache directory | |
| # id: npm-cache | |
| # run: | | |
| # echo "::set-output name=dir::$(npm config get cache)" | |
| # - uses: actions/cache@v4 | |
| # with: | |
| # path: ${{ steps.npm-cache.outputs.dir }} | |
| # key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }} | |
| # - name: Cache Electron binaries | |
| # uses: actions/cache@v4 | |
| # env: | |
| # cache-name: cache-electron-bins | |
| # with: | |
| # # cache location is described here: | |
| # # https://github.com/electron/get#how-it-works | |
| # path: ~/AppData/Local/electron/Cache | |
| # key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }} | |
| # - name: Setup Node.js | |
| # uses: actions/setup-node@v4 | |
| # with: | |
| # node-version: 22 | |
| # - name: Setup npm | |
| # run: npm i -g npm@latest | |
| # - name: Setup Python for node-gyp | |
| # uses: actions/setup-python@v5 | |
| # with: | |
| # python-version: '3.11' | |
| # - name: Setup MSVC | |
| # uses: microsoft/setup-msbuild@v2 | |
| # - name: npm install | |
| # run: npm install --no-optional | |
| # env: | |
| # npm_config_msvs_version: 2022 | |
| # - name: npm build | |
| # run: npm run build-windows | |
| # env: | |
| # GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| # - uses: actions/upload-artifact@v4 | |
| # with: | |
| # name: Windows-Installer | |
| # path: dist/*.exe | |
| # if-no-files-found: error | |
| # build-darwin: | |
| # runs-on: macos-latest | |
| # steps: | |
| # - uses: actions/checkout@v4 | |
| # - name: Cache node modules | |
| # uses: actions/cache@v4 | |
| # env: | |
| # cache-name: cache-node-modules | |
| # with: | |
| # # npm cache files are stored in `~/.npm` on Linux/macOS | |
| # path: ~/.npm | |
| # key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }} | |
| # - name: Cache Electron binaries | |
| # uses: actions/cache@v4 | |
| # env: | |
| # cache-name: cache-electron-bins | |
| # with: | |
| # cache location is described here: | |
| # # https://github.com/electron/get#how-it-works | |
| # path: ~/Library/Caches/electron | |
| # key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }} | |
| # - name: Setup Node.js | |
| # uses: actions/setup-node@v4 | |
| # with: | |
| # node-version: 22 | |
| # - name: Fix npm cache permissions | |
| # run: sudo chown -R $(id -u):$(id -g) ~/.npm | |
| # - name: Setup npm | |
| # run: sudo npm i -g npm@latest | |
| # - name: npm install | |
| # run: npm install --no-optional | |
| # env: | |
| # npm_config_cache: ~/.npm | |
| # - name: npm build | |
| # run: npm run build-darwin | |
| # env: | |
| # GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| # - uses: actions/upload-artifact@v4 | |
| # with: | |
| # name: MacOS-Image | |
| # path: dist/*.dmg | |
| # if-no-files-found: error |