mirror of
https://github.com/openmv/openmv.git
synced 2025-11-04 14:49:50 +08:00
151 lines
4.7 KiB
YAML
151 lines
4.7 KiB
YAML
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
|