forked from gnuradio/gnuradio
-
Notifications
You must be signed in to change notification settings - Fork 0
82 lines (82 loc) · 2.7 KB
/
make-test.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
name: 'Make Test'
on:
push:
branches:
- master
pull_request:
branches:
- master
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-20.04
steps:
- uses: actions/checkout@v2
- uses: gnuradio/[email protected]
with:
source: '.'
exclude: './volk'
extensions: 'h,hpp,cpp,cc,cc.in'
# Doxygen gets built separately. It has a lot of output and its own weirdness.
doxygen:
name: Doxygen
runs-on: ubuntu-20.04 # This can run on whatever
container:
image: 'gnuradio/ci-ubuntu-20.04-3.9:0.3'
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
runs-on: ubuntu-20.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)
include:
- distro: 'Ubuntu 20.04'
containerid: 'gnuradio/ci:ubuntu-20.04-3.9'
cxxflags: -Werror -Wno-error=invalid-pch
- distro: 'Fedora 33'
containerid: 'gnuradio/ci:fedora-33-3.9'
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
name: ${{ matrix.distro }}
container:
image: ${{ matrix.containerid }}
volumes:
- build_data:/build
options: --cpus 2
steps:
- uses: actions/checkout@v2
name: Checkout Project
- name: CMake
env:
CXXFLAGS: ${{ matrix.cxxflags }}
run: 'cd /build && cmake ${GITHUB_WORKSPACE} -DENABLE_DOXYGEN=OFF'
- name: Make
run: 'cd /build && make -j2 -k'
- name: Make Test
run: 'cd /build && ctest --output-on-failure -E "qa_agc|qa_cpp_py_binding|qa_cpp_py_binding_set|qa_ctrlport_probes|qa_qtgui"'