Files
fx_cast/.github/workflows/build.yml
2026-03-14 16:50:47 +00:00

77 lines
2.8 KiB
YAML

name: Build bridge (Windows, macOS & Linux)
on: workflow_dispatch
jobs:
build:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [macos-latest, macos-15-intel, ubuntu-latest, windows-2022]
node-version: [16.x]
steps:
- uses: actions/checkout@v3
- name: Setup Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node-version }}
# Old version of node-gyp needs Python with setuptools (easier to just use old Python)
- uses: actions/setup-python@v6
with:
python-version: "3.11"
- name: Install Ubuntu dependencies
if: ${{ matrix.os == 'ubuntu-latest' }}
run: sudo apt install -y libavahi-compat-libdnssd-dev dpkg rpm
- run: npm ci --prefix ./bridge
- name: Package (Windows)
if: ${{ matrix.os == 'windows-2022' }}
run: npm run package:bridge -- -- --arch=x64
- uses: actions/upload-artifact@v4
if: ${{ matrix.os == 'windows-2022' }}
with:
name: fx_cast_bridge-win64
path: dist/bridge/*
- name: Package (macOS)
if: ${{ matrix.os == 'macos-latest' }}
run: npm run package:bridge -- -- --arch=arm64
- uses: actions/upload-artifact@v4
if: ${{ matrix.os == 'macos-latest' }}
with:
name: fx_cast_bridge-macos
path: dist/bridge/*
- name: Package (macOS Intel)
if: ${{ matrix.os == 'macos-15-intel' }}
run: npm run package:bridge -- -- --arch=x64
- uses: actions/upload-artifact@v4
if: ${{ matrix.os == 'macos-15-intel' }}
with:
name: fx_cast_bridge-macos-intel
path: dist/bridge/*
- name: Package (Ubuntu, deb)
if: ${{ matrix.os == 'ubuntu-latest' }}
run: npm run package:bridge -- -- --package-type=deb
- uses: actions/upload-artifact@v4
if: ${{ matrix.os == 'ubuntu-latest' }}
with:
name: fx_cast_bridge-linux-deb
path: dist/bridge/*
- name: Package (Ubuntu, rpm)
if: ${{ matrix.os == 'ubuntu-latest' }}
run: npm run package:bridge -- -- --package-type=rpm
- uses: actions/upload-artifact@v4
if: ${{ matrix.os == 'ubuntu-latest' }}
with:
name: fx_cast_bridge-linux-rpm
path: dist/bridge/*