feat: implement granular search by type in subsonic provider #62
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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 |