mirror of
https://github.com/hensm/fx_cast.git
synced 2026-06-08 08:39:59 +00:00
77 lines
2.8 KiB
YAML
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/*
|