Don't use std::visit for formatting. It is too slow and complex (#112) #254
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: build and run tests | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
branches: | |
- main | |
jobs: | |
linux-docker: | |
# All of these shall depend on the formatting check (needs: check-formatting) | |
runs-on: ubuntu-24.04 | |
# 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) | |
distro: | |
- name: 'Ubuntu 24.04' | |
containerid: 'ghcr.io/gnuradio/gnuradio-docker:ubuntu-24.04' | |
cxxflags: -Werror | |
- name: 'Fedora 40' | |
containerid: 'ghcr.io/gnuradio/gnuradio-docker:fedora-40' | |
cxxflags: '' | |
# - distro: 'CentOS 8.3' | |
# containerid: 'gnuradio/ci:centos-8.3-3.9' | |
# cxxflags: -Werror | |
# - distro: 'Debian 10' | |
# containerid: 'gnuradio/ci-debian-10-3.9:1.0' | |
# cxxflags: -Werror | |
compiler: | |
- name: "gcc" | |
command: "g++" | |
- name: "clang" | |
command: "clang++" | |
name: ${{ matrix.distro.name }} - ${{ matrix.compiler.name }} | |
container: | |
image: ${{ matrix.distro.containerid }} | |
volumes: | |
- build_data:/build | |
options: --cpus 2 | |
steps: | |
- uses: actions/checkout@v3 | |
name: Checkout Project | |
- name: Meson Setup | |
env: | |
CXX: ${{ matrix.compiler.command }} | |
working-directory: ${{ github.workspace }} | |
run: '$CXX --version && meson setup build --buildtype=debugoptimized -Denable_testing=true' | |
- name: Make | |
working-directory: ${{ github.workspace }}/build | |
run: 'ninja' | |
- name: Make Test | |
working-directory: ${{ github.workspace }}/build | |
run: 'ninja test' | |
- uses: actions/upload-artifact@v3 | |
if: failure() | |
with: | |
name: Linux_Meson_Testlog | |
path: build/meson-logs/testlog.txt |