Skip to content

Commit 0417d8e

Browse files
committed
Split TravisCI build into one job per variant
This change allows TravisCI integration for forks on free accounts. Those would otherwise fail, due to a hard-coded and non-configurable 50 minute job limt imposed by TravisCI. This will also help avoid the 120 minute job limit that applies to non-free accounts, which the current builds are quickly approaching....
1 parent dc8b43f commit 0417d8e

File tree

2 files changed

+25
-4
lines changed

2 files changed

+25
-4
lines changed

.travis.yml

+8-2
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,14 @@ git:
55
quiet: true
66

77
env:
8-
- BSP_PATH="$HOME/.arduino15/packages/adafruit/hardware/nrf52"
9-
8+
global:
9+
- BSP_PATH="$HOME/.arduino15/packages/adafruit/hardware/nrf52"
10+
jobs:
11+
# Split into one job per board (aka variant)
12+
- VARIANT="feather52840"
13+
- VARIANT="cplaynrf52840"
14+
- VARIANT="feather52832"
15+
1016
addons:
1117
apt:
1218
packages:

tools/build_all.py

+17-2
Original file line numberDiff line numberDiff line change
@@ -65,8 +65,23 @@ def build_examples(variant):
6565

6666
build_time = time.monotonic()
6767

68-
for var in variants_dict:
69-
build_examples(var)
68+
ENV_VARIABLE_NAME = 'VARIANT'
69+
70+
# build only one variant if the environment variable is specified
71+
if (ENV_VARIABLE_NAME in os.environ):
72+
variant = os.environ.get(ENV_VARIABLE_NAME)
73+
# only use the environment variable if the variant exists in the dictionary
74+
if (variant in variants_dict):
75+
build_examples(variant)
76+
else:
77+
print('\033[31failed\033[0m - invalid variant name "{}"'.format(variant))
78+
fail_count += 1
79+
exit_status = -1
80+
81+
else: # no environment variable specified, so build all variants
82+
for var in variants_dict:
83+
build_examples(var)
84+
7085

7186
print(build_separator)
7287
build_time = time.monotonic() - build_time

0 commit comments

Comments
 (0)