Aceradio/.github/workflows/build.yml
Carl Philipp Klemm 01b5b160ba
Some checks are pending
Build eismuliplexer for linux / Build (push) Waiting to run
CI: recursive submodule checkout
2026-04-15 13:24:44 +02:00

57 lines
2.6 KiB
YAML

name: Build eismuliplexer for linux
run-name: Building eismuliplexer for linux
on: [push]
jobs:
Build:
runs-on: ubuntu-latest
steps:
- name: Check out repository code
uses: actions/checkout@v6
with:
submodules: recursive
- name: Install dependancies
run: |
sudo add-apt-repository -y ppa:kisak/kisak-mesa
sudo apt update
sudo apt install -y build-essential mesa-vulkan-drivers libusb-1.0-0-dev cmake qt6-base-dev qt6-base-dev-tools qt6-tools-dev-tools libqt6widgets6 libqt6multimedia6 qt6-multimedia-dev ffmpeg wget libglx-dev libgl1-mesa-dev qt6-qpa-plugins
- name: Get latest Vulkan SDK version
id: vulkan_sdk_version
run: |
echo "VULKAN_SDK_VERSION=$(curl https://vulkan.lunarg.com/sdk/latest/linux.txt)" >> "$GITHUB_ENV"
- name: Setup Vulkan SDK
uses: ./.github/actions/linux-setup-vulkan
with:
path: ./vulkan_sdk
version: ${{ env.VULKAN_SDK_VERSION }}
- name: Install Appimagetool
run: |
wget -c https://github.com/$(wget -q https://github.com/probonopd/go-appimage/releases/expanded_assets/continuous -O - | grep "appimagetool-.*-x86_64.AppImage" | head -n 1 | cut -d '"' -f 2)
chmod +x appimagetool-*-x86_64.AppImage
sudo mv appimagetool-*-x86_64.AppImage /usr/bin/appimagetool
- name: Version
id: version
run: |
cd ${{ github.workspace }}
git fetch -a;
echo "tag=$(git describe --tags `git rev-list --tags --max-count=1`)" >> $GITHUB_OUTPUT
- name: Build
run: |
source ./vulkan_sdk/setup-env.sh
mkdir ${{ github.workspace }}/build; cd ${{ github.workspace }}/build
cmake -DCMAKE_BUILD_TYPE=Release -DGGML_VULKAN=ON -DCMAKE_INSTALL_PREFIX=./install/usr -DGIT_TAG=${{ steps.version.outputs.tag }} ..
make -j $(nproc)
make install
- name: Create Appimage
run: |
cd ${{ github.workspace }}/build/
install -d install/usr/lib/x86_64-linux-gnu/qt6/plugins/multimedia
cp -vr /lib/x86_64-linux-gnu/qt6/plugins/multimedia/libffmpegmediaplugin.so install/usr/lib/x86_64-linux-gnu/qt6/plugins/multimedia/
appimagetool --appimage-extract-and-run -s deploy install/usr/share/applications/xyz.uvos.aceradio.desktop
appimagetool --appimage-extract-and-run -s install
- name: Upload Appimage
uses: actions/upload-artifact@v6
with:
name: aceradio-appimage
path: ${{ github.workspace }}/build/*.AppImage