simpliplay-desktop/.github/workflows/build-linux.yml
2025-07-14 19:47:04 -05:00

112 lines
2.7 KiB
YAML

name: Build Linux
on:
push:
branches: [main]
pull_request:
branches: [main]
jobs:
build_x64:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 22
- run: npm install
working-directory: simpliplay
- run: npx electron-builder --linux --x64
working-directory: simpliplay
- uses: actions/upload-artifact@v4
with:
name: linux-x64-snap
path: simpliplay/dist/*.snap
- uses: actions/upload-artifact@v4
with:
name: linux-x64-appimage
path: simpliplay/dist/*.AppImage
build_arm64:
runs-on: ubuntu-24.04-arm
env:
SNAP_DESTRUCTIVE_MODE: "true"
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 22
- run: npm install
working-directory: simpliplay
- run: sudo snap install snapcraft --classic
- run: npx electron-builder --dir --arm64 --linux
working-directory: simpliplay
- name: Create snapcraft.yaml
run: |
mkdir -p snap
cat > snap/snapcraft.yaml <<EOF
name: simpliplay
base: core24
version: '2.0.2'
summary: SimpliPlay - Media playback accessible anywhere, anytime.
description: |
SimpliPlay is a modern Electron-based media player supporting various formats.
grade: stable
confinement: strict
apps:
simpliplay:
command: SimpliPlay
plugs:
- desktop
- x11
- wayland
- audio-playback
- home
- removable-media
parts:
simpliplay:
plugin: dump
source: ../linux-arm64-unpacked
stage-packages:
- libnss3
- libxss1
- libasound2
- libx11-xcb1
- libxcomposite1
- libxcursor1
- libxdamage1
- libxrandr2
- libgtk-3-0
EOF
working-directory: simpliplay/dist/linux-arm64-unpacked
- run: snapcraft --destructive-mode
working-directory: simpliplay/dist/linux-arm64-unpacked
- run: npx electron-builder --linux AppImage --arm64
working-directory: simpliplay
- uses: actions/upload-artifact@v4
with:
name: linux-arm64-snap
path: simpliplay/**/*.snap
- uses: actions/upload-artifact@v4
with:
name: linux-arm64-appimage
path: simpliplay/dist/*.AppImage