Skip to content

Link to libmpv.so instead of libmpv.so.1 #299

Link to libmpv.so instead of libmpv.so.1

Link to libmpv.so instead of libmpv.so.1 #299

Workflow file for this run

name: Build Passy for all platforms
on:
workflow_dispatch:
pull_request:
types: [ opened, synchronize, reopened, review_requested ]
branches:
- main
- dev
jobs:
build_android:
name: Build Passy for Android
runs-on: ubuntu-22.04
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Install dependencies
shell: bash
run: |
sudo apt-get update
DEBIAN_FRONTEND=noninteractive sudo apt-get -y install clang cmake ninja-build pkg-config libgtk-3-dev liblzma-dev binutils coreutils desktop-file-utils fakeroot fuse libgdk-pixbuf2.0-dev patchelf python3-pip python3-setuptools squashfs-tools strace util-linux zsync
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
java-version: '17'
distribution: 'adopt'
- name: Install flutter
shell: bash
run: |
git submodule init
git submodule update
echo "$PWD/submodules/flutter/bin" >> $GITHUB_PATH
- name: Configure flutter
shell: bash
run: flutter config --no-analytics
- name: Build Android
shell: bash
run: bash build_android.sh
- name: Prepare releases
shell: bash
run: |
cd ..
mkdir build
cp Passy/build/app/outputs/flutter-apk/app-release.apk build/Passy-Android.apk
- name: Upload Android build
uses: actions/upload-artifact@v4
with:
name: android
path: /home/runner/work/Passy/build/Passy-Android.apk
build_linux:
name: Build Passy for Linux
runs-on: ubuntu-22.04
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Install dependencies
shell: bash
run: |
sudo apt-get update
DEBIAN_FRONTEND=noninteractive sudo apt-get -y install clang cmake ninja-build pkg-config libgtk-3-dev liblzma-dev binutils coreutils desktop-file-utils fakeroot fuse libgdk-pixbuf2.0-dev patchelf python3-pip python3-setuptools squashfs-tools strace util-linux zsync libayatana-appindicator3-dev libmpv-dev
- name: Trim unused dependencies
shell: bash
run: |
sudo rm /usr/lib/x86_64-linux-gnu/libmpv.so
sudo rm /usr/lib/x86_64-linux-gnu/libmpv.so.1
sudo mv /usr/lib/x86_64-linux-gnu/libmpv.so.1.109.0 /usr/lib/x86_64-linux-gnu/libmpv.so
sudo patchelf --set-soname libmpv.so /usr/lib/x86_64-linux-gnu/libmpv.so
- name: Install flutter
shell: bash
run: |
git submodule init
git submodule update
echo "$PWD/submodules/flutter/bin" >> $GITHUB_PATH
- name: Configure flutter
shell: bash
run: flutter config --no-analytics
- name: Build Passy CLI
shell: bash
run: bash build_cli.sh
- name: Build with updates popup
shell: bash
run: echo "echo 3;echo y;echo;" | bash | bash build_all.sh
- name: Prepare releases
shell: bash
run: |
cd ..
mkdir -p build/linux-bundle/Passy
mkdir build/cli
cp -r Passy/build/linux/x64/release/bundle/. build/linux-bundle/Passy
cp Passy/build/appimage/Passy-Latest-x86_64.AppImage build
cp -r Passy/build/cli/latest/. build/cli/passy-cli
chmod +x build/linux-bundle/Passy/passy
chmod +x build/Passy-Latest-x86_64.AppImage
- name: Archive Linux bundle build
uses: thedoctor0/zip-release@0.7.1
with:
type: zip
directory: ../build/linux-bundle
filename: Passy-Linux-Bundle.zip
path: Passy
- name: Archive Linux AppImage build
uses: thedoctor0/zip-release@0.7.1
with:
type: zip
directory: ../build
filename: Passy-Linux-AppImage.zip
path: Passy-Latest-x86_64.AppImage
- name: Archive Linux CLI build
uses: thedoctor0/zip-release@0.7.1
with:
type: zip
directory: ../build/cli
filename: Passy-CLI-Linux.zip
path: passy-cli
- name: Upload Linux bundle build
uses: actions/upload-artifact@v4
with:
name: linux-bundle
path: /home/runner/work/Passy/build/linux-bundle/Passy-Linux-Bundle.zip
- name: Upload Linux AppImage build
uses: actions/upload-artifact@v4
with:
name: linux-appimage
path: /home/runner/work/Passy/build/Passy-Linux-AppImage.zip
- name: Upload Linux CLI build
uses: actions/upload-artifact@v4
with:
name: cli-linux
path: /home/runner/work/Passy/build/cli/Passy-CLI-Linux.zip
- name: Build without updates popup
shell: bash
run: echo "echo 3;echo n;echo;" | bash | bash build_all.sh
- name: Prepare releases
shell: bash
run: |
cd ..
rm -rf build/*
mkdir -p build/linux-bundle/Passy
cp -r Passy/build/linux/x64/release/bundle/. build/linux-bundle/Passy
cp Passy/build/appimage/Passy-Latest-x86_64.AppImage build
chmod +x build/linux-bundle/Passy/passy
chmod +x build/Passy-Latest-x86_64.AppImage
- name: Archive Linux bundle build
uses: thedoctor0/zip-release@0.7.1
with:
type: zip
directory: ../build/linux-bundle
filename: Passy-Linux-Bundle.zip
path: Passy
- name: Archive Linux AppImage build
uses: thedoctor0/zip-release@0.7.1
with:
type: zip
directory: ../build
filename: Passy-Linux-AppImage.zip
path: Passy-Latest-x86_64.AppImage
- name: Upload Linux bundle no updates popup build
uses: actions/upload-artifact@v4
with:
name: linux-bundle-no-updates-popup
path: /home/runner/work/Passy/build/linux-bundle/Passy-Linux-Bundle.zip
- name: Upload Linux AppImage no updates popup build
uses: actions/upload-artifact@v4
with:
name: linux-appimage-no-updates-popup
path: /home/runner/work/Passy/build/Passy-Linux-AppImage.zip
build_linux_arm64:
name: Build Passy for Linux ARM64
runs-on: ubuntu-22.04-arm
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Install dependencies
shell: bash
run: |
sudo apt-get update
DEBIAN_FRONTEND=noninteractive sudo apt-get -y install clang cmake ninja-build pkg-config libgtk-3-dev liblzma-dev binutils coreutils desktop-file-utils fakeroot fuse libgdk-pixbuf2.0-dev patchelf python3-pip python3-setuptools squashfs-tools strace util-linux zsync libayatana-appindicator3-dev libmpv-dev
- name: Trim unused dependencies
shell: bash
run: |
sudo rm /usr/lib/aarch64-linux-gnu/libmpv.so
sudo rm /usr/lib/aarch64-linux-gnu/libmpv.so.1
sudo mv /usr/lib/aarch64-linux-gnu/libmpv.so.1.109.0 /usr/lib/aarch64-linux-gnu/libmpv.so
sudo patchelf --set-soname libmpv.so /usr/lib/aarch64-linux-gnu/libmpv.so
- name: Install flutter
shell: bash
run: |
git submodule init
git submodule update
echo "$PWD/submodules/flutter/bin" >> $GITHUB_PATH
- name: Configure flutter
shell: bash
run: flutter config --no-analytics
- name: Build Passy CLI
shell: bash
run: bash build_cli.sh
- name: Build with updates popup
shell: bash
run: echo "echo 3;echo y;echo;" | bash | bash build_all.sh
- name: Prepare releases
shell: bash
run: |
cd ..
ls Passy/build/linux/
ls Passy/build/appimage
mkdir -p build/linux-bundle/Passy
mkdir build/cli
cp -r Passy/build/linux/arm64/release/bundle/. build/linux-bundle/Passy
cp Passy/build/appimage/Passy-Latest-aarch64.AppImage build
cp -r Passy/build/cli/latest/. build/cli/passy-cli
chmod +x build/linux-bundle/Passy/passy
chmod +x build/Passy-Latest-aarch64.AppImage
- name: Archive Linux bundle build
uses: thedoctor0/zip-release@0.7.1
with:
type: zip
directory: ../build/linux-bundle
filename: Passy-Linux-ARM64-Bundle.zip
path: Passy
- name: Archive Linux AppImage build
uses: thedoctor0/zip-release@0.7.1
with:
type: zip
directory: ../build
filename: Passy-Linux-ARM64-AppImage.zip
path: Passy-Latest-aarch64.AppImage
- name: Archive Linux CLI build
uses: thedoctor0/zip-release@0.7.1
with:
type: zip
directory: ../build/cli
filename: Passy-CLI-Linux-ARM64.zip
path: passy-cli
- name: Upload Linux bundle build
uses: actions/upload-artifact@v4
with:
name: linux-arm64-bundle
path: /home/runner/work/Passy/build/linux-bundle/Passy-Linux-ARM64-Bundle.zip
- name: Upload Linux AppImage build
uses: actions/upload-artifact@v4
with:
name: linux-arm64-appimage
path: /home/runner/work/Passy/build/Passy-Linux-ARM64-AppImage.zip
- name: Upload Linux CLI build
uses: actions/upload-artifact@v4
with:
name: cli-linux-arm64
path: /home/runner/work/Passy/build/cli/Passy-CLI-Linux-ARM64.zip
- name: Build without updates popup
shell: bash
run: echo "echo 3;echo n;echo;" | bash | bash build_all.sh
- name: Prepare releases
shell: bash
run: |
cd ..
rm -rf build/*
mkdir -p build/linux-bundle/Passy
cp -r Passy/build/linux/arm64/release/bundle/. build/linux-bundle/Passy
cp Passy/build/appimage/Passy-Latest-aarch64.AppImage build
chmod +x build/linux-bundle/Passy/passy
chmod +x build/Passy-Latest-aarch64.AppImage
- name: Archive Linux bundle build
uses: thedoctor0/zip-release@0.7.1
with:
type: zip
directory: ../build/linux-bundle
filename: Passy-Linux-ARM64-Bundle.zip
path: Passy
- name: Archive Linux AppImage build
uses: thedoctor0/zip-release@0.7.1
with:
type: zip
directory: ../build
filename: Passy-Linux-ARM64-AppImage.zip
path: Passy-Latest-aarch64.AppImage
- name: Upload Linux bundle no updates popup build
uses: actions/upload-artifact@v4
with:
name: linux-arm64-bundle-no-updates-popup
path: /home/runner/work/Passy/build/linux-bundle/Passy-Linux-ARM64-Bundle.zip
- name: Upload Linux AppImage no updates popup build
uses: actions/upload-artifact@v4
with:
name: linux-arm64-appimage-no-updates-popup
path: /home/runner/work/Passy/build/Passy-Linux-ARM64-AppImage.zip
build_linux_snap:
name: Build Passy for Snap Store
runs-on: ubuntu-22.04
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Build Linux Snap
uses: snapcore/action-build@v1
id: snapcraft
- name: Upload Linux Snap
uses: actions/upload-artifact@v4
with:
name: linux-snap
path: ${{ steps.snapcraft.outputs.snap }}
build_linux_snap_arm64:
name: Build Passy for Snap Store ARM64
runs-on: ubuntu-22.04-arm
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Build Linux Snap
uses: snapcore/action-build@v1
id: snapcraft
- name: Upload Linux Snap
uses: actions/upload-artifact@v4
with:
name: linux-snap-arm64
path: ${{ steps.snapcraft.outputs.snap }}
build_windows:
name: Build Passy for Windows
runs-on: windows-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Install Latest VC Redistributable
shell: pwsh
run: |
curl -o VC_redist.x64.exe -L https://aka.ms/vs/17/release/vc_redist.x64.exe
Start-Process VC_redist.x64.exe -ArgumentList "/install /quiet /norestart" -Wait
- name: Install flutter
shell: bash
run: |
git submodule init
git submodule update
echo "$PWD/submodules/flutter/bin" >> $GITHUB_PATH
echo "$PWD/submodules/flutter/bin/cache/dart-sdk/bin" >> $GITHUB_PATH
- name: Configure flutter
shell: bash
run: flutter config --no-analytics
- name: Build Passy for Windows
shell: bash
run: flutter --no-version-check --suppress-analytics build windows
- name: Copy system msvcp140.dll
shell: bash
run: cp C:/Windows/System32/msvcp140.dll build/windows/x64/runner/Release
- name: Build Windows .exe installer
shell: bash
run: |
echo "C:/Program Files (x86)/Inno Setup 6" >> $GITHUB_PATH
iscc passy.iss
- name: Prepare releases
shell: bash
run: |
cd ..
mkdir -p build/windows-portable/Passy
cp -r Passy/build/windows/x64/runner/Release/. build/windows-portable/Passy
cp Passy/build/Passy-Windows-Installer.exe build/Passy-Windows-Installer.exe
- name: Upload Windows portable build
uses: actions/upload-artifact@v4
with:
name: windows-portable
path: D:\a\Passy\build\windows-portable
- name: Upload Windows .exe installer
uses: actions/upload-artifact@v4
with:
name: windows-exe-installer
path: D:\a\Passy\build\Passy-Windows-Installer.exe