diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000..c9fb341 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,42 @@ +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 wget libglx-dev libgl1-mesa-dev qt6-qpa-plugins + - name: Check out repository code + uses: ischanx/checkout@8c80eac3058d03dc5301629e8f7d59ae255d6cc3 + - name: Checkout libeismultiplexer + run: git clone http://192.168.178.27/git/Eismultiplexer/libeismultiplexer.git + - 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 + 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/ + 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 +