Repository navigation
Expand file tree
/
Copy pathconfig.yml
More file actions
97 lines (96 loc) · 3.01 KB
/
Copy pathconfig.yml
File metadata and controls
97 lines (96 loc) · 3.01 KB
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
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
version: 2.1
orbs:
coveralls: coveralls/coveralls@1.0.6
jobs:
build:
# Linux gcc, clang, AVR
machine:
image: ubuntu-2004:202101-01
steps:
# install dependencies
- run:
name: Install apt dependencies
command: |
sudo apt update
sudo apt install -y gcc g++ clang clang-format libsdl2-dev
sudo apt install -y cppcheck cpputest doxygen avr-libc gcc-avr graphviz socat
sudo pip3 install cpp-coveralls
pip3 install --user cpp-coveralls
# code checkout
- checkout
# - run:
# name: Pull Submodules
# command: git submodule init && git submodule update --remote
# Building
- run:
name: Building documentation
command: make docs 1> /dev/null
- run:
name: Building via gcc and running unit tests
command: |
make
./.travis/run_tests.sh
make clean
make ARCH=linux EXTRA_CPPFLAGS="--coverage" check
# - coveralls/upload
- run:
name: Upload coverage statistics
command: |
sudo find / -name coveralls
echo -e "service_name: circle-ci\n" > .coveralls.yml \
&& TRAVIS_JOB_ID="#${CIRCLE_BUILD_NUM}" COVERALLS_REPO_TOKEN=4Ia7t9YDo22zQcFEnMYLh1tiWCRlBJlhk coveralls -b . \
--exclude docs --exclude extra --exclude unittest --exclude bld --exclude tools --exclude examples --gcov-options '\-lp'
# - store_artifacts:
# path: embedded/target/bin.elf
# destination: binary.elf
- run:
# CPPFLAGS="-I/usr/include/SDL2" is the workaround for known Ubuntu 20.04 issue
name: Building via clang
command: |
make clean
CC=clang CXX=clang++ LD=clang++ make
make install DESTDIR=test_path
./.travis/check_install.sh . test_path
make cppcheck tiny_loopback
- run:
name: Building for AVR
command: |
make clean
make ARCH=avr
# Free plan doesn't have concurrent jobs
# Install esp32 SDK
- restore_cache:
key: ESP32_SDK
- checkout
- run:
name: Install ESP32 SDK
command: |
./.travis/setup_esp_build_env.sh travis
- save_cache:
key: ESP32_SDK
paths:
- ~/esp
- ~/.espressif
- run:
name: Building ESP32 code
command: |
. ~/esp/esp-idf/export.sh
cd examples/esp32_idf/uart/tinyfd_loopback/components/tinyproto && ln -s ../../../../../../src && ln -s ../../../../../../component.mk
cd ../.. && make defconfig
make
# Orchestrate our job run sequence
workflows:
version: 2.1
host_and_esp32:
jobs:
# - build
# - esp32:
# requires:
# - build
- build:
# context: github
filters:
branches:
only:
- master
- cpp_api