Skip to content

feat: implement granular search by type in subsonic provider #62

feat: implement granular search by type in subsonic provider

feat: implement granular search by type in subsonic provider #62

Workflow file for this run

name: CI
on:
push:
branches: ["main"]
pull_request:
branches: ["main"]
jobs:
lint:
name: Lint
runs-on: ubuntu-latest
timeout-minutes: 30
permissions:
contents: read
pull-requests: read
steps:
- uses: actions/checkout@v6
- uses: actions/setup-go@v6
with:
go-version: 'stable'
- name: Install dependencies
run: sudo apt update && sudo apt install -y libmpv-dev gcc libegl1-mesa-dev xorg-dev
- name: golangci-lint
uses: golangci/golangci-lint-action@v9
with:
version: v2.8
build-windows:
name: Build Windows
runs-on: windows-latest
timeout-minutes: 30
defaults:
run:
shell: msys2 {0}
steps:
- uses: msys2/setup-msys2@v2
with:
path-type: inherit
update: true
install: >-
make
wget
zip
p7zip
- uses: actions/checkout@v6
- name: Set up Go
uses: actions/setup-go@v6
with:
go-version: 'stable'
- name: Install Dependencies
run: >
pacman -Syu &&
pacman --noconfirm -S mingw-w64-x86_64-toolchain mingw-w64-x86_64-mpv
- name: Install Fyne tool
run: go install fyne.io/fyne/v2/cmd/fyne@latest
- name: Package
run: make package_windows
- name: Download mpv dll
run: >
wget https://github.com/shinchiro/mpv-winbuild-cmake/releases/download/20260301/mpv-dev-x86_64-20260301-git-05fac7f.7z &&
7z x mpv-dev-x86_64-20260301-git-05fac7f.7z
- name: Download smtc dll
run: >
wget https://github.com/supersonic-app/smtc-dll/releases/download/v0.1.2/SMTC.dll
- name: Generate zip bundle
run: >
zip Supersonic_windows_x64.zip Supersonic.exe libmpv-2.dll SMTC.dll
- name: Generate installer
uses: Minionguyjpro/Inno-Setup-Action@v1.2.7
with:
path: win_inno_installscript.iss
- name: Rename installer
run: cp Output/supersonic-installer.exe Supersonic_windows_x64_installer.exe
- name: Upload zip
uses: actions/upload-artifact@v7
with:
name: Supersonic_windows_x64.zip
path: Supersonic_windows_x64.zip
- name: Upload installer
uses: actions/upload-artifact@v7
with:
name: Supersonic_windows_x64_installer.exe
path: Supersonic_windows_x64_installer.exe
build-macos-arm64:
name: Build macOS arm64
runs-on: macos-14
timeout-minutes: 30
steps:
- uses: actions/checkout@v6
- name: Set up Xcode
uses: maxim-lobanov/setup-xcode@v1
with:
xcode-version: latest
- name: Set up Go
uses: actions/setup-go@v6
with:
go-version: 'stable'
- name: Install Dependencies
run: brew install --force mpv && brew install --force dylibbundler
- name: Setup path
run: export C_INCLUDE_PATH=/usr/local/include:/opt/homebrew/include:$C_INCLUDE_PATH && export LIBRARY_PATH=/usr/local/lib:/opt/homebrew/lib:$LIBRARY_PATH
- name: Install Fyne tool
run: go install fyne.io/fyne/v2/cmd/fyne@latest
- name: Package app bundle
run: >
make package_macos &&
make bundledeps_macos_homebrew &&
make zip_macos
- name: Rename artifact
run: mv Supersonic.zip Supersonic_mac_arm64.zip
- name: Upload package
uses: actions/upload-artifact@v7
with:
name: Supersonic_mac_arm64.zip
path: Supersonic_mac_arm64.zip
build-macos-x64:
name: Build macOS x64
runs-on: macos-15-intel
timeout-minutes: 30
steps:
- uses: actions/checkout@v6
- name: Set up Xcode
uses: maxim-lobanov/setup-xcode@v1
with:
xcode-version: latest
- name: Set up Go
uses: actions/setup-go@v6
with:
go-version: 'stable'
- name: Install Dependencies
run: brew install --force mpv && brew install --force dylibbundler
- name: Setup path
run: export C_INCLUDE_PATH=/usr/local/include:/opt/homebrew/include:$C_INCLUDE_PATH && export LIBRARY_PATH=/usr/local/lib:/opt/homebrew/lib:$LIBRARY_PATH
- name: Install Fyne tool
run: go install fyne.io/fyne/v2/cmd/fyne@latest
- name: Build and package app bundles
run: >
make package_macos &&
cp -r Supersonic.app Supersonic.app.2 &&
make bundledeps_macos_homebrew && make zip_macos &&
mv Supersonic.zip Supersonic_mac_x64_BigSur+.zip &&
rm -r Supersonic.app &&
mv Supersonic.app.2 Supersonic.app &&
make bundledeps_macos_highsierra && make zip_macos &&
mv Supersonic.zip Supersonic_mac_x64_HighSierra+.zip
- name: Upload Big Sur+ package
uses: actions/upload-artifact@v7
with:
name: Supersonic_mac_x64_BigSur+.zip
path: Supersonic_mac_x64_BigSur+.zip
- name: Upload High Sierra+ package
uses: actions/upload-artifact@v7
with:
name: Supersonic_mac_x64_HighSierra+.zip
path: Supersonic_mac_x64_HighSierra+.zip
build-ubuntu-22:
name: Build Ubuntu 22.04
runs-on: ubuntu-22.04
timeout-minutes: 30
steps:
- uses: actions/checkout@v6
- name: Set up Go
uses: actions/setup-go@v6
with:
go-version: 'stable'
- name: Install dependencies
run: sudo apt update && sudo apt install -y libmpv-dev gcc libegl1-mesa-dev xorg-dev
- name: Install Fyne tool
run: go install fyne.io/fyne/v2/cmd/fyne@latest
- name: Fyne package
run: make package_linux
- name: Rename artifact
run: mv Supersonic.tar.xz Supersonic_ubuntu22.04_x64.tar.xz
- name: Upload artifact
uses: actions/upload-artifact@v7
with:
name: Supersonic_ubuntu22.04_x64.tar.xz
path: Supersonic_ubuntu22.04_x64.tar.xz
build-ubuntu-24:
name: Build Ubuntu 24.04
runs-on: ubuntu-24.04
timeout-minutes: 30
steps:
- uses: actions/checkout@v6
- name: Set up Go
uses: actions/setup-go@v6
with:
go-version: 'stable'
- name: Install dependencies
run: sudo apt update && sudo apt install -y libmpv-dev gcc libegl1-mesa-dev xorg-dev
- name: Install Fyne tool
run: go install fyne.io/fyne/v2/cmd/fyne@latest
- name: Fyne package
run: make package_linux
- name: Rename artifact
run: mv Supersonic.tar.xz Supersonic_ubuntu24.04_x64.tar.xz
- name: Upload artifact
uses: actions/upload-artifact@v7
with:
name: Supersonic_ubuntu24.04_x64.tar.xz
path: Supersonic_ubuntu24.04_x64.tar.xz
build-appimage:
name: Build AppImage
runs-on: ubuntu-22.04
timeout-minutes: 30
steps:
- uses: actions/checkout@v6
- name: Set up Go
uses: actions/setup-go@v6
with:
go-version: 'stable'
- name: Install dependencies
run: sudo apt update && sudo apt install -y libmpv-dev gcc libegl1-mesa-dev xorg-dev
- name: Build
run: make build
- name: Make appimage
run: |
chmod +x ./scripts/appimage-build.sh
./scripts/appimage-build.sh --manual-libs
- name: Upload artifact
uses: actions/upload-artifact@v7
with:
name: Supersonic-x86_64.AppImage
path: Supersonic-x86_64.AppImage