name: Build eismuliplexer for linux run-name: Building eismuliplexer for linux on: [push] jobs: Build: runs-on: ubuntu-latest steps: - name: Install dependancies run: sudo apt update; sudo apt install -y 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: Check out repository code uses: actions/checkout@v6 - 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: | mkdir ${{ github.workspace }}/build; cd ${{ github.workspace }}/build cmake -DCMAKE_BUILD_TYPE=Release -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