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