simpliplay-desktop/.github/workflows/build-linux.yml
2025-07-14 20:14:50 -05:00

123 lines
3.1 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: |
cat > simpliplay/dist/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
- libasound2
- libx11-xcb1
- libxcomposite1
- libxcursor1
- libxdamage1
- libxrandr2
- libgtk-3-0
- libllvm19
- libdrm-amdgpu1
- libdrm-radeon1
- mesa-libgallium
- libgbm1
- libglapi-mesa
- libsensors5
- libwayland-server0
- libxcb-dri2-0
- libxcb-dri3-0
- libxcb-present0
- libxcb-randr0
- libxcb-sync1
- libxcb-xfixes0
- libxshmfence1
EOF
- run: snapcraft --destructive-mode --output=simpliplay-arm64.snap
working-directory: simpliplay/dist/
- uses: actions/upload-artifact@v4
with:
name: linux-arm64-snap
path: simpliplay/dist/simpliplay-arm64.snap
- run: npx electron-builder --linux AppImage --arm64
working-directory: simpliplay
- uses: actions/upload-artifact@v4
with:
name: linux-arm64-appimage
path: simpliplay/dist/*.AppImage