Skip to content

Updating builder environment #211

Updating builder environment

Updating builder environment #211

Workflow file for this run

name: prebuild
on: [push]
permissions:
contents: write
jobs:
linux-package:
permissions:
contents: write
runs-on: ubuntu-24.04
container:
image: node:18.20.4-bookworm
steps:
- name: check Linux dependencies
shell: bash
run: |
apt update
DEBIAN_FRONTEND=noninteractive apt-get install --no-install-recommends --no-install-suggests -y \
git git-lfs libxcb1 unzip curl python3-setuptools build-essential libxcb1-dev \
libavcodec-dev libavformat-dev libavdevice-dev libavfilter-dev libavutil-dev \
libpostproc-dev libswresample-dev libswscale-dev libzimg-dev
- uses: actions/checkout@v2
with:
lfs: true
- name: npm install
run: npm install
env:
PREBUILD: true
- name: check Linux dependencies
run: node ./install_ffmpeg.js
- name: prebuild for Linux (x64)
run: npx prebuild --runtime napi --arch x64 --include-regex '(\.node|\.dylib|ffmpeg|ffprobe)$' --upload ${{ secrets.GITHUB_TOKEN }}
windows-package:
permissions:
contents: write
runs-on: windows-latest
steps:
- uses: actions/checkout@v2
with:
lfs: true
- name: Use nodejs
uses: actions/setup-node@v1
with:
node-version: 16.13.0
- name: npm install
run: npm install
env:
PREBUILD: true
- name: install Windows dependencies
run: node ./install_ffmpeg.js
- name: prebuild for Windows
run: npx prebuild --runtime napi --include-regex '.node|.dll|.exe' --verbose --upload ${{ secrets.GITHUB_TOKEN }}
shell: bash
macos-package:
permissions:
contents: write
runs-on: macos-latest
steps:
- uses: actions/checkout@v2
with:
lfs: true
- name: Use nodejs
uses: actions/setup-node@v1
with:
node-version: 16.13.0
- name: install Mac build dependencies (brew)
run: |
brew install nasm pkg-config python-packaging python-setuptools
- name: npm install
run: npm install
env:
PREBUILD: true
- name: install Mac dependencies (shared release x64)
run: node ./install_ffmpeg.js --arch x64
- name: install Mac dependencies (shared release arm64)
run: node ./install_ffmpeg.js --arch arm64
- name: prebuild Release for macOS (x64)
run: npx prebuild --runtime napi --arch x64 --include-regex '(\.node|\.dylib|ffmpeg|ffprobe)$' --verbose --upload ${{ secrets.GITHUB_TOKEN }}
- name: clean build directory for cross-compiling
run: rm ./build/Release/*.dylib || true
- name: prebuild Release for macOS (arm64)
run: npx prebuild --runtime napi --arch arm64 --include-regex '(\.node|\.dylib|ffmpeg|ffprobe)$' --verbose --upload ${{ secrets.GITHUB_TOKEN }}