Skip to content

CI: test

CI: test #43

Workflow file for this run

name: Build
on:
push:
tags:
- v*
- test*
env:
ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION: true
jobs:
appimage:
name: AppImage
runs-on: ubuntu-latest
container:
image: "ubuntu:18.04"
env:
DEBIAN_FRONTEND: noninteractive
APPIMAGE_EXTRACT_AND_RUN: "1"
steps:
- name: Install dependencies
run: |
apt-get update -qq
apt-get install -y --no-install-recommends software-properties-common
add-apt-repository -y ppa:gnuradio/gnuradio-releases
add-apt-repository -y ppa:git-core/ppa
apt-get install -y --no-install-recommends \
git \
build-essential \
autoconf \
automake \
cmake \
libtool \
wget \
qt5-default \
qt5-gtk-platformtheme \
qttranslations5-l10n \
libqt5svg5-dev \
libboost-dev \
libpulse-dev \
portaudio19-dev \
liblog4cpp5-dev \
gnuradio-dev \
libairspy-dev \
libairspyhf-dev \
libfreesrp-dev \
libhackrf-dev \
libusb-1.0-0-dev \
libsoapysdr-dev \
soapysdr-module-remote \
libuhd-dev \
liborc-0.4-dev \
libhidapi-dev \
libsndfile-dev
cd /tmp
git clone https://gitea.osmocom.org/sdr/rtl-sdr.git
cd rtl-sdr
git checkout v2.0.1
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=/usr -DDETACH_KERNEL_DRIVER=ON ..
make -j4
make install
ldconfig
cd /tmp
git clone https://github.com/Nuand/bladeRF.git
cd bladeRF
git checkout 2020.12
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=/usr ..
make -j4
make install
ldconfig
cd /tmp
git clone https://github.com/dl1ksv/gr-fcdproplus.git
cd gr-fcdproplus
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=/usr ..
make -j4
make install
ldconfig
cd /tmp
git clone https://gitea.osmocom.org/sdr/libosmo-dsp.git
cd libosmo-dsp
autoreconf -i
./configure --prefix=/usr
make -j4
make install
ldconfig
cd /tmp
git clone https://gitea.osmocom.org/sdr/gr-iqbal.git
cd gr-iqbal
git checkout gr3.8
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_MODULES_DIR=/usr/lib/x86_64-linux-gnu/cmake ..
make -j4
make install
ldconfig
cd /tmp
git clone https://gitea.osmocom.org/sdr/gr-osmosdr.git
cd gr-osmosdr
git checkout origin/gr3.8
git cherry-pick -n 9c09c90d920dd4906fa8bb9d8443eef84d2565a3
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_MODULES_DIR=/usr/lib/x86_64-linux-gnu/cmake -DENABLE_PYTHON=False ..
make -j4
make install
ldconfig
cd /tmp
apt install -y gawk
wget -c https://ftp.gnu.org/gnu/glibc/glibc-2.28.tar.gz
tar -zxf glibc-2.28.tar.gz
cd glibc-2.28
mkdir glibc-build
cd glibc-build
echo "bindir = /usr/bin" > configparms
echo "sbindir = /sbin" >> configparms
echo "libdir = /lib/x86_64-linux-gnu" >> configparms
echo "slibdir = /lib/x86_64-linux-gnu" >> configparms
echo "sysconfdir = /etc" >> configparms
../configure --prefix=/opt/glibc-2.28
make -j4
make install DESTDIR=$(pwd)/../install
cp -var ../install/* /
/lib/x86_64-linux-gnu/ld-2.28.so /bin/ln -sf /lib/x86_64-linux-gnu/ld-2.28.so /lib64/ld-linux-x86-64.so.2
ldconfig
- name: Setup node
uses: actions/setup-node@v3
with:
node-version: 20
- name: Checkout code
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Configure
run: |
git config --global --add safe.directory $GITHUB_WORKSPACE
mkdir build
cd build
cmake ..
- name: Compile
working-directory: build
run: make -j4
- name: Build AppImage
run: ./appimage.sh
- name: Save artifact
uses: actions/upload-artifact@v4
with:
name: gqrx-appimage-${{ github.run_id }}
path: Gqrx-*.AppImage