forked from openmv/openmv
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.travis.yml
150 lines (134 loc) · 4.65 KB
/
.travis.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
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
os: linux
dist: bionic
sudo: required
language: c
stage: build
git:
depth: 1
submodules: false
notifications:
email:
on_success: never
stages:
- build
- deploy
cache:
directories:
- "${HOME}/persist"
script:
# Update submodules.
- git submodule update --init --depth=1 --no-single-branch
- git -C src/micropython/ submodule update --init --depth=1
# Install ARM GCC.
- |
mkdir ${HOME}/gcc
GCC_URL="https://armkeil.blob.core.windows.net/developer/Files/downloads/gnu-rm/10-2020q4/gcc-arm-none-eabi-10-2020-q4-major-x86_64-linux.tar.bz2"
wget --no-check-certificate -O - ${GCC_URL} | tar --strip-components=1 -jx -C ${HOME}/gcc
export PATH=${HOME}/gcc/bin:${PATH}
- arm-none-eabi-gcc --version
# Install recent cmake if needed.
- |
if [[ ${TARGET} == ARDUINO_NANO_RP2040_CONNECT ]]; then
mkdir ${HOME}/cmake
CMAKE_URL="https://cmake.org/files/v3.20/cmake-3.20.0-linux-x86_64.tar.gz"
wget --no-check-certificate -O - ${CMAKE_URL} | tar --strip-components=1 -xz -C ${HOME}/cmake
export PATH=${HOME}/cmake/bin:${PATH}
fi
# Build the firmware.
- make -j$(nproc) -C src/micropython/mpy-cross
- make -j$(nproc) TARGET=$TARGET -C src
- mkdir ~/build/$TARGET
- cp -r src/build/bin/* ~/build/$TARGET
jobs:
include:
- stage: build
env: TARGET=OPENMV2
workspaces:
create:
name: OPENMV2_WORKSPACE # workspace names are escaped.
paths: ~/build/$TARGET
- stage: build
env: TARGET=OPENMV3
workspaces:
create:
name: OPENMV3_WORKSPACE # workspace names are escaped.
paths: ~/build/$TARGET
- stage: build
env: TARGET=OPENMV4
workspaces:
create:
name: OPENMV4_WORKSPACE # workspace names are escaped.
paths: ~/build/$TARGET
- stage: build
env: TARGET=OPENMV4P
workspaces:
create:
name: OPENMV4P_WORKSPACE # workspace names are escaped.
paths: ~/build/$TARGET
- stage: build
env: TARGET=PORTENTA
workspaces:
create:
name: PORTENTA_WORKSPACE # workspace names are escaped.
paths: ~/build/$TARGET
- stage: build
env: TARGET=OPENMVPT
workspaces:
create:
name: OPENMVPT_WORKSPACE # workspace names are escaped.
paths: ~/build/$TARGET
- stage: build
env: TARGET=NANO33
workspaces:
create:
name: NANO33_WORKSPACE # workspace names are escaped.
paths: ~/build/$TARGET
- stage: build
env: TARGET=ARDUINO_NANO_RP2040_CONNECT
workspaces:
create:
name: ARDUINO_NANO_RP2040_CONNECT_WORKSPACE # workspace names are escaped.
paths: ~/build/$TARGET
- stage: build
env: TARGET=WINC1500
workspaces:
create:
name: WINC1500_WORKSPACE # workspace names are escaped.
paths: ~/build/$TARGET
script:
- cp -rf src/drivers/winc1500/firmware ~/build/$TARGET
- stage: build
env: TARGET=CYW4343
workspaces:
create:
name: CYW4343_WORKSPACE # workspace names are escaped.
paths: ~/build/$TARGET
script:
- cp -rf src/drivers/cyw4343/firmware ~/build/$TARGET
- stage: deploy
git:
clone: false
workspaces:
use:
- OPENMV2_WORKSPACE
- OPENMV3_WORKSPACE
- OPENMV4_WORKSPACE
- OPENMV4P_WORKSPACE
- PORTENTA_WORKSPACE
- OPENMVPT_WORKSPACE
- NANO33_WORKSPACE
- ARDUINO_NANO_RP2040_CONNECT_WORKSPACE
- WINC1500_WORKSPACE
- CYW4343_WORKSPACE
script:
- zip -r firmware_${TRAVIS_TAG}.zip OPENMV2 OPENMV3 OPENMV4 OPENMV4P PORTENTA OPENMVPT NANO33 ARDUINO_NANO_RP2040_CONNECT WINC1500 CYW4343
deploy:
provider: releases
api_key:
secure: lE3IuL9TA5LMCSefXm8BO4Eo9+M8DjIuNG2bmZlL7/ucY1i9OmGp56pnLcRwZ5slQbKX+hzNtTFDqb7eLGn1hpzYEZHl8VEjZLRoXqZC7JmQm7EmRRljpXSEoWCxee6kUOaltNAoycmTy0JtmnFdflJ+lXWQ8Pw/GVu91SXGjDWldNJLcLOcCl8CXEr8pwt5WUsRgQ7NYwj+Fd1vQ7ii7yPEwJNHsUHpWRezKorTgYKuphXOkWSLhbsc9HaGfbNKocgoU3hpDE445MKEa+PnBGMsqWQYXag9QA/vY1olKrB3ICzIV8rhARH9h6jJ0c0fnHtaR6pnp9IC11ZpvUTzsj/Dw7doUNHtUwQtBPmTWjm3FQAWLqJJKmo1zXIXUKyc32NTsnKBAdu9jI2i1/1wopATGQzlds4oqPHFzr7OLfZUFf/b19UC9GqnBuEV2Q4pFZJV5c853UNQ7qio39rD5ykJPNKlK1aeKv1Z4+5Yi/pHmVYKyqx1bPQX7qHYKgGQ7PYNa5InPMDWrDG7v5FRoVNFSffpMpk3hqjbjti6KT7YvL6rCQN8A5dp00m/cVizx3xj/CS1rXJUbGDkoV3PxYPUmUN+2NQsS9NDQfVQxWKwIGjJkOjTZsrFwNGQAzujR0rfuYAyp0mcvWjXGW7hKMZrYCMK7rxEOA4Dka3ndIo=
name: ${TRAVIS_TAG}
file: firmware_${TRAVIS_TAG}.zip
skip_cleanup: true
on:
tags: true
draft: true