simpliplay-desktop/.github/workflows/build-linux.yml
Workflow config file is invalid. Please check your config file: yaml: line 124: could not find expected ':'
2025-07-14 20:55:17 -05:00

145 lines
3.3 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
environment:
LD_LIBRARY_PATH: $SNAP/usr/lib:$SNAP/lib:$SNAP/usr/local/lib
apps:
simpliplay:
command: SimpliPlay --no-sandbox
plugs:
- desktop
- x11
- wayland
- audio-playback
- home
- removable-media
parts:
liboss:
plugin: autotools
source: https://www.dropbox.com/scl/fi/etmheu10vg4kt5kb24ud4/oss-v4.2-build2020-src-gpl.tar.bz2?rlkey=wabpszkdgrvpdc4enccfbkf4k&st=ct62oegu&dl=1
build-packages:
- build-essential
- gcc
- make
- libtool
- automake
- linux-headers-generic
stage:
- usr/lib/libOSSlib.so
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
after:
- liboss
EOF
- name: Install build dependencies
run: sudo apt-get update && sudo apt-get install -y autoconf automake autopoint build-essential gcc libtool linux-headers-generic make tar
- name: Build snap package
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