From ade47f3e726fe0a8db13f0c1b51f57c82208b802 Mon Sep 17 00:00:00 2001 From: Drew Weymouth Date: Thu, 5 Mar 2026 15:57:38 -0800 Subject: [PATCH 1/2] Consolidate workflows into CI and release; add draft release on tag push Replaces 7 separate workflow files with ci.yml (lint + all platform builds on push to main and PRs) and release.yml (same builds + draft GitHub release creation triggered by v* tags). Also fixes Ubuntu artifact name collision and gives all output files descriptive names. Co-Authored-By: Claude Sonnet 4.6 --- .github/workflows/build-appimage.yml | 39 ---- .github/workflows/build-macos-arm64.yml | 49 ----- .github/workflows/build-macos-x64.yml | 60 ------ .github/workflows/build-ubuntu-22.04.yml | 37 ---- .github/workflows/build-ubuntu-24.04.yml | 37 ---- .github/workflows/build-windows.yml | 74 ------- .github/workflows/ci.yml | 231 ++++++++++++++++++++++ .github/workflows/lints.yml | 28 --- .github/workflows/release.yml | 240 +++++++++++++++++++++++ 9 files changed, 471 insertions(+), 324 deletions(-) delete mode 100644 .github/workflows/build-appimage.yml delete mode 100644 .github/workflows/build-macos-arm64.yml delete mode 100644 .github/workflows/build-macos-x64.yml delete mode 100644 .github/workflows/build-ubuntu-22.04.yml delete mode 100644 .github/workflows/build-ubuntu-24.04.yml delete mode 100644 .github/workflows/build-windows.yml create mode 100644 .github/workflows/ci.yml delete mode 100644 .github/workflows/lints.yml create mode 100644 .github/workflows/release.yml diff --git a/.github/workflows/build-appimage.yml b/.github/workflows/build-appimage.yml deleted file mode 100644 index 255676d..0000000 --- a/.github/workflows/build-appimage.yml +++ /dev/null @@ -1,39 +0,0 @@ -# This workflow will build a golang project -# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-go - -name: Build AppImage-compat - -on: - push: - pull_request: - branches: [ "main" ] - -jobs: - - build: - 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: '1.24' - - - 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.AppImage - path: Supersonic-x86_64.AppImage diff --git a/.github/workflows/build-macos-arm64.yml b/.github/workflows/build-macos-arm64.yml deleted file mode 100644 index d0395c1..0000000 --- a/.github/workflows/build-macos-arm64.yml +++ /dev/null @@ -1,49 +0,0 @@ -# This workflow will build a golang project -# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-go - -name: Build Mac arm64 - -on: - push: - branches: [ "main" ] - pull_request: - branches: [ "main" ] - -jobs: - build: - 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: '1.24' - - - 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/tools/cmd/fyne@latest - - - name: Package app bundles - run: > - make package_macos && - make bundledeps_macos_homebrew && - make zip_macos - - - name: Upload package - uses: actions/upload-artifact@v7 - with: - name: Supersonic.zip - path: Supersonic.zip - diff --git a/.github/workflows/build-macos-x64.yml b/.github/workflows/build-macos-x64.yml deleted file mode 100644 index eda11c6..0000000 --- a/.github/workflows/build-macos-x64.yml +++ /dev/null @@ -1,60 +0,0 @@ -# This workflow will build a golang project -# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-go - -name: Build Mac x64 - -on: - push: - branches: [ "main" ] - pull_request: - branches: [ "main" ] - -jobs: - build: - 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: '1.24' - - - 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/tools/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_BigSur+.zip && - rm -r Supersonic.app && - mv Supersonic.app.2 Supersonic.app && - make bundledeps_macos_highsierra && make zip_macos && - mv Supersonic.zip Supersonic_HighSierra+.zip - - - name: Upload Big Sur+ package - uses: actions/upload-artifact@v7 - with: - name: Supersonic_mac_x64_BigSur+.zip - path: Supersonic_BigSur+.zip - - - name: Upload High Sierra+ package - uses: actions/upload-artifact@v7 - with: - name: Supersonic_mac_x64_HighSierra+.zip - path: Supersonic_HighSierra+.zip - diff --git a/.github/workflows/build-ubuntu-22.04.yml b/.github/workflows/build-ubuntu-22.04.yml deleted file mode 100644 index beb4d9a..0000000 --- a/.github/workflows/build-ubuntu-22.04.yml +++ /dev/null @@ -1,37 +0,0 @@ -# This workflow will build a golang project -# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-go - -name: Build Ubuntu 22.04 - -on: - push: - pull_request: - branches: [ "main" ] - -jobs: - - build: - 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: '1.24' - - - name: Install dependencies - run: sudo apt update && sudo apt install libmpv-dev gcc libegl1-mesa-dev xorg-dev - - - name: Install Fyne tool - run: go install fyne.io/tools/cmd/fyne@latest - - - name: Fyne package - run: make package_linux - - - name: Upload artifact - uses: actions/upload-artifact@v7 - with: - name: Supersonic_ubuntu_x64.tar.xz - path: Supersonic.tar.xz diff --git a/.github/workflows/build-ubuntu-24.04.yml b/.github/workflows/build-ubuntu-24.04.yml deleted file mode 100644 index 54d013d..0000000 --- a/.github/workflows/build-ubuntu-24.04.yml +++ /dev/null @@ -1,37 +0,0 @@ -# This workflow will build a golang project -# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-go - -name: Build Ubuntu 24.04 - -on: - push: - pull_request: - branches: [ "main" ] - -jobs: - - build: - 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: '1.24' - - - name: Install dependencies - run: sudo apt update && sudo apt install libmpv-dev gcc libegl1-mesa-dev xorg-dev - - - name: Install Fyne tool - run: go install fyne.io/tools/cmd/fyne@latest - - - name: Fyne package - run: make package_linux - - - name: Upload artifact - uses: actions/upload-artifact@v7 - with: - name: Supersonic_ubuntu_x64.tar.xz - path: Supersonic.tar.xz diff --git a/.github/workflows/build-windows.yml b/.github/workflows/build-windows.yml deleted file mode 100644 index afa171e..0000000 --- a/.github/workflows/build-windows.yml +++ /dev/null @@ -1,74 +0,0 @@ -# This workflow will build a golang project -# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-go - -name: Build Windows - -on: - push: - branches: [ "main" ] - pull_request: - branches: [ "main" ] - -jobs: - build: - 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: '1.24' - - - 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/tools/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.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: Upload zip - uses: actions/upload-artifact@v7 - with: - name: Supersonic_windows_x64.zip - path: Supersonic-windows.zip - - - name: Upload installer - uses: actions/upload-artifact@v7 - with: - name: Supersonic_windows_x64_installer.exe - path: Output/supersonic-installer.exe diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..4263e9b --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,231 @@ +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: '1.24' + - 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/tools/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: '1.24' + - 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/tools/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: '1.24' + - 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/tools/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: '1.24' + - 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/tools/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: '1.24' + - 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/tools/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: '1.24' + - 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 diff --git a/.github/workflows/lints.yml b/.github/workflows/lints.yml deleted file mode 100644 index ed1eb75..0000000 --- a/.github/workflows/lints.yml +++ /dev/null @@ -1,28 +0,0 @@ -# https://github.com/marketplace/actions/golangci-lint -name: golangci-lint -on: - push: - branches: - pull_request: - -permissions: - contents: read - # Optional: allow read access to pull request. Use with `only-new-issues` option. - pull-requests: read - -jobs: - golangci: - name: lint - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - uses: actions/checkout@v6 - - uses: actions/setup-go@v6 - with: - go-version: stable - - name: Install dependencies - run: sudo apt update && sudo apt install libmpv-dev gcc libegl1-mesa-dev xorg-dev - - name: golangci-lint - uses: golangci/golangci-lint-action@v9 - with: - version: v2.8 diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..dcb866c --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,240 @@ +name: Release + +on: + push: + tags: + - 'v*' + +jobs: + + 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: '1.24' + - 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/tools/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: '1.24' + - 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/tools/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: '1.24' + - 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/tools/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: '1.24' + - 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/tools/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: '1.24' + - 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/tools/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: '1.24' + - 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 + + release: + name: Create Draft Release + needs: + - build-windows + - build-macos-arm64 + - build-macos-x64 + - build-ubuntu-22 + - build-ubuntu-24 + - build-appimage + runs-on: ubuntu-latest + permissions: + contents: write + steps: + - name: Download all artifacts + uses: actions/download-artifact@v4 + with: + path: artifacts + merge-multiple: true + - name: Create draft release + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | + gh release create "${{ github.ref_name }}" \ + --repo "${{ github.repository }}" \ + --draft \ + --title "${{ github.ref_name }}" \ + --generate-notes \ + artifacts/* From 6dc518a6ed4c4375dc06a0adb2411adfb60e9290 Mon Sep 17 00:00:00 2001 From: Drew Weymouth Date: Tue, 10 Mar 2026 18:34:38 -0700 Subject: [PATCH 2/2] roll back to old fyne tool --- .github/workflows/ci.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 4263e9b..1b3a820 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -54,7 +54,7 @@ jobs: pacman -Syu && pacman --noconfirm -S mingw-w64-x86_64-toolchain mingw-w64-x86_64-mpv - name: Install Fyne tool - run: go install fyne.io/tools/cmd/fyne@latest + run: go install fyne.io/fyne/v2/cmd/fyne@latest - name: Package run: make package_windows - name: Download mpv dll @@ -103,7 +103,7 @@ jobs: - 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/tools/cmd/fyne@latest + run: go install fyne.io/fyne/v2/cmd/fyne@latest - name: Package app bundle run: > make package_macos && @@ -136,7 +136,7 @@ jobs: - 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/tools/cmd/fyne@latest + run: go install fyne.io/fyne/v2/cmd/fyne@latest - name: Build and package app bundles run: > make package_macos && @@ -171,7 +171,7 @@ jobs: - 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/tools/cmd/fyne@latest + run: go install fyne.io/fyne/v2/cmd/fyne@latest - name: Fyne package run: make package_linux - name: Rename artifact @@ -195,7 +195,7 @@ jobs: - 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/tools/cmd/fyne@latest + run: go install fyne.io/fyne/v2/cmd/fyne@latest - name: Fyne package run: make package_linux - name: Rename artifact