From 1ecaa22721e0b2f91c1afcb4ede1fc4d374e64bc Mon Sep 17 00:00:00 2001
From: Jon Beniston <jon@beniston.com>
Date: Fri, 1 Nov 2024 17:42:11 +0000
Subject: [PATCH] Trial .deb build

---
 .github/workflows/linux.yml | 62 +++++++++++++++++++++++++++++++++++++
 1 file changed, 62 insertions(+)
 create mode 100644 .github/workflows/linux.yml

diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml
new file mode 100644
index 000000000..de24e3247
--- /dev/null
+++ b/.github/workflows/linux.yml
@@ -0,0 +1,62 @@
+name: SDRangel Linux release build
+
+on:
+  push:
+    branches:
+      - linux_github_release
+    tags:
+      - 'v*'
+
+jobs:
+  build_deb:
+    runs-on: ubuntu-24.04
+    steps:
+      - uses: actions/checkout@v4
+        with:
+          submodules: true
+          fetch-depth: 0
+
+      - name: Install dependencies
+        run: |
+          sudo apt-get update
+          sudo apt-get -y install build-essential cmake git xxd \
+            devscripts fakeroot debhelper libfftw3-dev qtbase5-dev libopengl-dev libqt5opengl5-dev \
+            qttools5-dev qttools5-dev-tools qtmultimedia5-dev libqt5multimedia5-plugins libqt5websockets5-dev \
+            libqt5quick5 qtwebengine5-dev qtbase5-private-dev \
+            qml-module-qtlocation qml-module-qtpositioning qml-module-qtquick-window2 qml-module-qtquick-dialogs \
+            qml-module-qtquick-controls qml-module-qtquick-controls2 qml-module-qtquick-layouts qml-module-qtgraphicaleffects \
+            libqt5serialport5-dev qtdeclarative5-dev qtpositioning5-dev qtlocation5-dev \
+            libqt5charts5-dev libqt5texttospeech5-dev libqt5gamepad5-dev libqt5svg5-dev libfaad-dev libflac-dev zlib1g-dev \
+            libusb-1.0-0-dev libhidapi-dev libboost-all-dev libasound2-dev libopencv-dev libopencv-imgcodecs-dev \
+            libxml2-dev bison flex ffmpeg  libpostproc-dev libavcodec-dev libavformat-dev \
+            libopus-dev libcodec2-dev libairspy-dev libhackrf-dev \
+            libbladerf-dev libsoapysdr-dev libiio-dev libuhd-dev libhamlib-dev \
+            python3-mako python3-cheetah python3-numpy \
+            autoconf automake libtool ninja-build libclang1-11
+          bash cmake/ci/build_sdrplay.sh
+      - name: Build SDRangel
+        run: |
+          debuild -i -us -uc -b
+          find . | grep .deb
+          find .. | grep .deb
+      - name: Get version
+        id: get_version
+        run: |
+            if [[ "${{github.ref_name}}" == "linux_github_release" ]]; then
+                echo "version=${{github.sha}}" >> $GITHUB_OUTPUT
+            else
+                echo "version=$(echo ${{github.ref_name}} | cut -c2-)" >> $GITHUB_OUTPUT
+            fi
+      - name: Get filename
+        id: get_filename
+        run: echo "filename=$(grep CPACK_PACKAGE_FILE_NAME build/CMakeCache.txt | cut -d "=" -f2)" >> $GITHUB_OUTPUT
+      - name: Upload artifact
+        uses: actions/upload-artifact@v3
+        with:
+          name: sdrangel-${{ steps.get_version.outputs.version }}-deb
+          path: ${{ github.workspace }}/build/${{ steps.get_filename.outputs.filename }}.deb
+      - name: Upload release
+        if: startsWith(github.ref, 'refs/tags/')
+        uses: softprops/action-gh-release@v2
+        with:
+          files: ${{ github.workspace }}/build/${{ steps.get_filename.outputs.filename }}.deb