forked from openmv/openmv
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.travis.yml
133 lines (119 loc) · 4.03 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
os: linux
dist: xenial
sudo: required
language: c
stage: build
notifications:
email:
on_success: never
stages:
- build
- deploy
cache:
directories:
- "${HOME}/persist"
script:
# update submodules
- git submodule update --init --recursive
# install ARM GCC
- pushd .
- cd ~ && mkdir gcc && cd 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 -O gcc.tar.bz2 ${GCC_URL}
- tar -jxf gcc.tar.bz2 --strip 1
- exportline="export PATH=\$HOME/gcc/bin:\$PATH"
- if grep -Fxq "$exportline" ~/.profile; then echo nothing to do ; else echo $exportline >> ~/.profile; fi
- . ~/.profile
- popd
- arm-none-eabi-gcc --version
# build 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=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
- WINC1500_WORKSPACE
- CYW4343_WORKSPACE
script:
- zip -r firmware_${TRAVIS_TAG}.zip OPENMV2 OPENMV3 OPENMV4 OPENMV4P PORTENTA OPENMVPT NANO33 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