@@ -6,14 +6,22 @@ compiler:
6
6
git :
7
7
depth : 1
8
8
9
- # Put a representative board from each port or sub-port near the top
10
- # to determine more quickly whether that port is going to build or not.
9
+ # Each item under 'env' is a separate Travis job to execute.
10
+ # They run in separate environments, so each one must take the time
11
+ # to clone the repository and submodules; to download and install SDKs,
12
+ # pip packages, and so forth. By gathering activities together in optimal
13
+ # ways, the "run time" and "total time" of the travis jobs can be minimized.
14
+ #
15
+ # Since at the time of writing Travis generally starts 5 or 6 jobs, the
16
+ # builds have been organized into 5 groups of *approximately* equal durations.
17
+ # Additionally, the jobs that need extra SDKs are also organized together.
18
+ #
19
+ # When adding new boards, take a look on the travis CI page
20
+ # https://travis-ci.org/adafruit/circuitpython to which build that installs
21
+ # that SDK is shortest and add it there. In the case of major re-organizations,
22
+ # just try to make the builds "about equal in run time"
11
23
env :
12
- - TRAVIS_TESTS="unix docs translations"
13
- - TRAVIS_BOARDS="feather_huzzah circuitplayground_express pca10056" TRAVIS_SDK=arm:nrf:esp8266
14
- # Group nrf builds together..
15
- - TRAVIS_BOARDS="pca10056 pca10059 feather_nrf52832 feather_nrf52840_express" TRAVIS_SDK=arm:nrf
16
- # The rest of the M0/M4 boards, in arbitrary order.
24
+ - TRAVIS_TESTS="unix docs translations" TRAVIS_BOARDS="feather_huzzah circuitplayground_express pca10056 pca10059 feather_nrf52832 feather_nrf52840_express" TRAVIS_SDK=arm:nrf:esp8266
17
25
- TRAVIS_BOARDS="metro_m0_express metro_m4_express pirkey_m0 trellis_m4_express trinket_m0" TRAVIS_SDK=arm
18
26
- TRAVIS_BOARDS="feather_radiofruit_zigbee gemma_m0 hallowing_m0_express itsybitsy_m0_express itsybitsy_m4_express" TRAVIS_SDK=arm
19
27
- TRAVIS_BOARDS="feather_m0_express_crickit feather_m0_rfm69 feather_m0_rfm9x feather_m4_express arduino_zero" TRAVIS_SDK=arm
@@ -45,16 +53,16 @@ before_script:
45
53
- (! var_search "${TRAVIS_SDK-}" nrf || sudo ports/nrf/drivers/bluetooth/download_ble_stack.sh)
46
54
47
55
# For huzzah builds
48
- - (! var_search "${TRAVIS_SDK-}" esp8266 || (wget https://github.com/jepler/esp-open-sdk/releases/download/2018-06-10/xtensa-lx106-elf-standalone.tar.gz && tar xavf xtensa-lx106-elf-standalone.tar.gz))
49
- - if var_search "${TRAVIS_SDK-}" esp8266 ; then PATH=$(readlink -f xtensa-lx106-elf/bin):$PATH; fi
56
+ - (! var_search "${TRAVIS_SDK-}" esp8266 || (wget https://github.com/jepler/esp-open-sdk/releases/download/2018-06-10/xtensa-lx106-elf-standalone.tar.gz && tar -C .. - xavf xtensa-lx106-elf-standalone.tar.gz))
57
+ - if var_search "${TRAVIS_SDK-}" esp8266 ; then PATH=$(readlink -f ../ xtensa-lx106-elf/bin):$PATH; fi
50
58
51
59
# For coverage testing (upgrade is used to get latest urllib3 version)
52
60
- ([[ -z "$TRAVIS_TESTS" ]] || sudo apt-get install -y python3-pip)
53
61
- ([[ -z "$TRAVIS_TESTS" ]] || sudo pip install --upgrade cpp-coveralls)
54
62
- (! var_search "${TRAVIS_TESTS-}" docs || sudo pip install 'Sphinx<1.8.0' sphinx-rtd-theme recommonmark)
55
63
- (! var_search "${TRAVIS_TESTS-}" translations || sudo pip3 install polib)
56
64
57
- # report some good version numbers to the buil
65
+ # report some good version numbers to the build
58
66
- gcc --version
59
67
- (! var_search "${TRAVIS_SDK-}" elf || arm-none-eabi-gcc --version)
60
68
- (! var_search "${TRAVIS_SDK-}" esp8266 || xtensa-lx106-elf-gcc --version)
0 commit comments