mirror of
https://github.com/antebudimir/feishin.git
synced 2025-12-31 10:03:33 +00:00
* prepare bfr changes * contributors to subsonic/navidrome * show performer roles * Add BFR smart playlist fields * Fix upload-artifact action to handle v4 --------- Co-authored-by: jeffvli <jeffvictorli@gmail.com>
95 lines
3 KiB
YAML
95 lines
3 KiB
YAML
name: Publish (PR)
|
|
|
|
on:
|
|
pull_request:
|
|
branches:
|
|
- development
|
|
|
|
jobs:
|
|
publish:
|
|
runs-on: ${{ matrix.os }}
|
|
|
|
strategy:
|
|
matrix:
|
|
os: [macos-latest, ubuntu-latest, windows-latest]
|
|
|
|
steps:
|
|
- name: Checkout git repo
|
|
uses: actions/checkout@v3
|
|
|
|
- name: Install Node and NPM
|
|
uses: actions/setup-node@v3
|
|
with:
|
|
node-version: 18
|
|
cache: npm
|
|
|
|
- name: Install dependencies
|
|
run: |
|
|
npm install --legacy-peer-deps
|
|
|
|
- name: Build for Windows
|
|
if: ${{ matrix.os == 'windows-latest' }}
|
|
uses: nick-invision/retry@v2.8.2
|
|
with:
|
|
timeout_minutes: 30
|
|
max_attempts: 3
|
|
retry_on: error
|
|
command: |
|
|
npm run package:pr:windows
|
|
|
|
- name: Build for Linux
|
|
if: ${{ matrix.os == 'ubuntu-latest' }}
|
|
uses: nick-invision/retry@v2.8.2
|
|
with:
|
|
timeout_minutes: 30
|
|
max_attempts: 3
|
|
retry_on: error
|
|
command: |
|
|
npm run package:pr:linux
|
|
|
|
- name: Build for MacOS
|
|
if: ${{ matrix.os == 'macos-latest' }}
|
|
uses: nick-invision/retry@v2.8.2
|
|
with:
|
|
timeout_minutes: 30
|
|
max_attempts: 3
|
|
retry_on: error
|
|
command: |
|
|
npm run package:pr:macos
|
|
|
|
- name: Zip Windows Binaries
|
|
if: ${{ matrix.os == 'windows-latest' }}
|
|
shell: pwsh
|
|
run: |
|
|
Compress-Archive -Path "release/build/*.exe" -DestinationPath "release/build/windows-binaries.zip" -Force
|
|
|
|
- name: Zip Linux Binaries
|
|
if: ${{ matrix.os == 'ubuntu-latest' }}
|
|
run: |
|
|
zip -r release/build/linux-binaries.zip release/build/*.{AppImage,deb,rpm}
|
|
|
|
- name: Zip MacOS Binaries
|
|
if: ${{ matrix.os == 'macos-latest' }}
|
|
run: |
|
|
zip -r release/build/macos-binaries.zip release/build/*.dmg
|
|
|
|
- name: Upload Windows Binaries
|
|
if: ${{ matrix.os == 'windows-latest' }}
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: windows-binaries
|
|
path: release/build/windows-binaries.zip
|
|
|
|
- name: Upload Linux Binaries
|
|
if: ${{ matrix.os == 'ubuntu-latest' }}
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: linux-binaries
|
|
path: release/build/linux-binaries.zip
|
|
|
|
- name: Upload MacOS Binaries
|
|
if: ${{ matrix.os == 'macos-latest' }}
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: macos-binaries
|
|
path: release/build/macos-binaries.zip
|