Skip to content

Revert "Revert "iio: Remove extra element from fmcomms2 YML"" #11

Revert "Revert "iio: Remove extra element from fmcomms2 YML""

Revert "Revert "iio: Remove extra element from fmcomms2 YML"" #11

Workflow file for this run

name: 'Make Test'
on:
push:
branches:
- main
pull_request:
branches:
- main
jobs:
# We start with checking C++ formatting. No one gets free CPU cycles if they
# can't use clang-format.
check-formatting:
name: Check C++ Formatting
runs-on: ubuntu-latest
timeout-minutes: 15
steps:
- uses: actions/checkout@v2
- uses: DoozyX/clang-format-lint-action@v0.14
with:
source: '.'
exclude: './volk'
extensions: 'h,hpp,cpp,cc,cc.in'
clangFormatVersion: 14
check-python-formatting:
name: Check Python Formatting
runs-on: ubuntu-latest
timeout-minutes: 15
steps:
- uses: actions/checkout@v2
- uses: quentinguidee/pep8-action@v1
with:
arguments: '--max-line-length=120 --ignore E265,E266,E275,E402,E501,E704,E712,E713,E714,E711,E721,E722,E741,W504,W605 --exclude *.yml.py'
# Doxygen gets built separately. It has a lot of output and its own weirdness.
doxygen:
name: Doxygen
runs-on: ubuntu-latest # This can run on whatever
timeout-minutes: 15
container:
image: 'gnuradio/ci:ubuntu-20.04-3.9'
volumes:
- build_data:/build
steps:
- uses: actions/checkout@v2
name: Checkout Project
- name: CMake
run: 'cd /build && cmake ${GITHUB_WORKSPACE}'
- name: Make Docs
run: 'cd /build && make doxygen_target'
linux-docker:
# All of these shall depend on the formatting check (needs: check-formatting)
needs: [check-formatting, check-python-formatting]
runs-on: ubuntu-latest
# The GH default is 360 minutes (it's also the max as of Feb-2021). However
# we should fail sooner. The only reason to exceed this time is if a test
# hangs.
timeout-minutes: 120
strategy:
# Enabling fail-fast would kill all Dockers if one of them fails. We want
# maximum output.
fail-fast: false
matrix:
# For every distro we want to test here, add one key 'distro' with a
# descriptive name, and one key 'containerid' with the name of the
# container (i.e., what you want to docker-pull)
include:
- distro: 'Ubuntu 20.04'
containerid: 'gnuradio/ci:ubuntu-20.04-3.9'
cxxflags: -Werror
ctest_args: '-E ""'
# ldpath:
- distro: 'Ubuntu 22.04'
containerid: 'gnuradio/ci:ubuntu-22.04-3.9'
cxxflags: -Werror
ctest_args: '-E "qa_polar_..coder_(sc_)?systematic"'
# ldpath:
- distro: 'Fedora 37 (with 0xFE memory initialization)'
containerid: 'gnuradio/ci:fedora-37-3.9'
cxxflags: -Werror -ftrivial-auto-var-init=pattern
ctest_args: '-E ""'
ldpath: /usr/local/lib64/
- distro: 'Fedora 38 (clang)'
containerid: 'gnuradio/ci:fedora-38-3.10'
cxxflags: -Werror
cmakeflags: -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_C_COMPILER=clang
ctest_args: '-E ""'
ldpath: /usr/local/lib64
# - distro: 'CentOS 8.4'
# containerid: 'gnuradio/ci:centos-8.4-3.10'
# cxxflags: ''
# ctest_args: '-E ""'
# ldpath: /usr/local/lib64/
- distro: 'Debian 12'
containerid: 'gnuradio/ci:debian-12-3.10'
cxxflags: -Werror
ctest_args: '-E ""'
# ldpath:
- distro: 'Debian 11 (32-bit)'
containerid: 'gnuradio/ci:debian-i386-11-3.10'
containeroptions: '--platform linux/i386'
cxxflags: -Werror
ctest_args: '-E "qa_polar_..coder_(sc_)?systematic"'
# ldpath:
name: ${{ matrix.distro }}
container:
image: ${{ matrix.containerid }}
volumes:
- build_data:/build
options: --cpus 2 ${{ matrix.containeroptions }}
steps:
- uses: actions/checkout@v1
name: Checkout Project
- name: CMake
env:
CXXFLAGS: ${{ matrix.cxxflags }}
run: 'cd /build && cmake ${{ matrix.cmakeflags }} ${GITHUB_WORKSPACE} -DENABLE_DOXYGEN=OFF'
- name: Dump compile commands
run: 'cd /build && cat compile_commands.json'
- name: Make
run: 'cd /build && make -j2 -k'
- name: Make Test
env:
QT_QPA_PLATFORM: offscreen
run: 'cd /build && ctest --output-on-failure ${{ matrix.ctest_args }}'
- name: Make Install
run: |
cd /build
su -c "make install"
su -c "echo ${{matrix.ldpath}} >> /etc/ld.so.conf"
su -c ldconfig
- name: Test Python3
run: python3 -c "import gnuradio.blocks; print(gnuradio.blocks.complex_to_float())"
no-python:
# All of these shall depend on the formatting check (needs: check-formatting)
needs: [check-formatting, check-python-formatting]
runs-on: ubuntu-latest
# The GH default is 360 minutes (it's also the max as of Feb-2021). However
# we should fail sooner. The only reason to exceed this time is if a test
# hangs.
timeout-minutes: 120
name: C++ Only Build (Ubuntu 20.04)
container:
image: 'gnuradio/ci:ubuntu-20.04-3.9'
volumes:
- build_data:/build
options: --cpus 2
steps:
- uses: actions/checkout@v2
name: Checkout Project
- name: CMake
env:
CXXFLAGS: -Werror
run: 'cd /build && cmake ${GITHUB_WORKSPACE} -DENABLE_DOXYGEN=OFF -DENABLE_PYTHON=OFF'
- name: Make
run: 'cd /build && make -j2 -k'
- name: Make Test
run: 'cd /build && ctest --output-on-failure'