mirror of
https://github.com/CopterExpress/clover.git
synced 2026-06-03 00:19:33 +00:00
* builder: Build against Buster * builder: Use correct repository specifications * builder: Move ld.so.preload to have less errors * builder: Use coex repo to install Monkey * builder: Search for buster ROS packages * aruco_pose: Vendor in aruco library from OpenCV 3.4.6 * builder: Move to ROS Melodic * builder: Update kernel version * aruco_pose, clever: Remove opencv3 ROS dependency * builder: Update rosdep * travis: Disable eclint for vendored aruco library * tests: Don't try to locate opencv in ros * roscore: Use melodic distribution * Revert "aruco_pose: Vendor in aruco library from OpenCV 3.4.6" This reverts commit 9c14a8c002bb3396f9a7d9b2ba39969207f066ba. * aruco_pose: Vendor opencv_contrib/aruco again * builder: Add led packages * builder: Remove unused builder code * travis: Add native tests * builder: Set permissions for standalone-install * builder: Use -y for package installation * builder: Add repo for standalone build * builder: Use correct file types for standalone install * aruco_pose: Accept rgb8 map images * builder: Disable mjpg_streamer test * aruco_pose: Allow rgb8 map images (again) * builder: Re-add mjpgstreamer * builder: Install tornado==4.2.1 for rosbridge_suite * builder: Use more recent base image * builder: Use default kernel * builder: Move ld.so.preload back after tests * builder: Disable catkin tests These tests fail on a remote machine but seem to pass just fine on real hardware. Something must have changed between Kinetic and Melodic, and we must investigate more, but for now we just need a working image. * aruco_pose: Remove unused vendored code * selfcheck: Update systemd-analyze regex * builder: Add opencv repository * rosdep: Update package definitions for Melodic * rosdep: Use proper yaml formatting * travis: Remove unnecessary space * docs: Reference Melodic wherever possible
121 lines
4.1 KiB
YAML
121 lines
4.1 KiB
YAML
sudo: required
|
|
language: generic
|
|
services:
|
|
- docker
|
|
env:
|
|
global:
|
|
- DOCKER="sfalexrog/img-tool:qemu-update"
|
|
- TARGET_REPO="https://github.com/${TRAVIS_REPO_SLUG}.git"
|
|
- if [[ -z ${TRAVIS_TAG} ]]; then IMAGE_VERSION="${TRAVIS_COMMIT}}"; else IMAGE_VERSION="${TRAVIS_TAG}"; fi
|
|
- IMAGE_NAME="$(basename -s '.git' ${TARGET_REPO})_${IMAGE_VERSION}.img"
|
|
git:
|
|
depth: 50
|
|
jobs:
|
|
fast_finish: true
|
|
include:
|
|
- stage: Build
|
|
name: "Raspberry Pi Image Build"
|
|
cache:
|
|
directories:
|
|
- imgcache
|
|
before_script:
|
|
- docker pull ${DOCKER}
|
|
# Check if there are any cached images, copy them to our "images" directory
|
|
- if [ -n "$(ls -A imgcache/*.zip)" ]; then mkdir -p images && cp imgcache/*.zip images; fi
|
|
script:
|
|
- if [[ -z ${TRAVIS_TAG} && "${TRAVIS_PULL_REQUEST}" != "false" ]]; then
|
|
echo "Commit range is ${TRAVIS_COMMIT_RANGE}" &&
|
|
if [ $(git diff --name-only ${TRAVIS_COMMIT_RANGE} | grep -v ^"docs/" | wc -l) -eq 0 ]; then
|
|
echo " === Docs-only change; skipping build ===" &&
|
|
export SKIP_BUILD=true;
|
|
fi;
|
|
fi
|
|
- if [ -z ${SKIP_BUILD} ]; then
|
|
docker run --privileged --rm -v /dev:/dev -v $(pwd):/builder/repo -e TRAVIS_TAG="${TRAVIS_TAG}" ${DOCKER};
|
|
fi
|
|
before_cache:
|
|
- cp images/*.zip imgcache
|
|
before_deploy:
|
|
# Set up git user name and tag this commit
|
|
- git config --local user.name "goldarte"
|
|
- git config --local user.email "goldartt@gmail.com"
|
|
- sudo chmod -R 777 *
|
|
- cd images && zip ${IMAGE_NAME}.zip ${IMAGE_NAME}
|
|
deploy:
|
|
provider: releases
|
|
api_key: ${GITHUB_OAUTH_TOKEN}
|
|
file: ${IMAGE_NAME}.zip
|
|
skip_cleanup: true
|
|
on:
|
|
tags: true
|
|
draft: true
|
|
name: ${TRAVIS_TAG}
|
|
- stage: Build
|
|
name: "Native Kinetic build"
|
|
env:
|
|
- NATIVE_DOCKER=ros:kinetic-ros-base
|
|
before_script:
|
|
- docker pull ${NATIVE_DOCKER}
|
|
script:
|
|
- docker run --rm -v $(pwd):/root/catkin_ws/src/clever ${NATIVE_DOCKER} /root/catkin_ws/src/clever/builder/standalone-install.sh
|
|
- stage: Build
|
|
name: "Native Melodic build"
|
|
env:
|
|
- NATIVE_DOCKER=ros:melodic-ros-base
|
|
before_script:
|
|
- docker pull ${NATIVE_DOCKER}
|
|
script:
|
|
- docker run --rm -v $(pwd):/root/catkin_ws/src/clever ${NATIVE_DOCKER} /root/catkin_ws/src/clever/builder/standalone-install.sh
|
|
- stage: Build
|
|
name: "Documentation"
|
|
language: node_js
|
|
node_js:
|
|
- "10"
|
|
before_script:
|
|
- npm install gitbook-cli -g
|
|
- npm install markdownlint-cli -g
|
|
- gitbook -V
|
|
- markdownlint -V
|
|
script:
|
|
- markdownlint docs
|
|
- ./check_assets_size.py
|
|
- ./check_unused_assets.py
|
|
- gitbook install
|
|
- gitbook build
|
|
deploy:
|
|
provider: pages
|
|
local-dir: _book
|
|
skip-cleanup: true
|
|
github-token: ${GITHUB_OAUTH_TOKEN}
|
|
keep-history: true
|
|
target-branch: master
|
|
repo: CopterExpress/clever.coex.tech
|
|
fqdn: clever.coex.tech
|
|
verbose: true
|
|
on:
|
|
branch: master
|
|
- stage: Annotate
|
|
name: Auto-generate changelog
|
|
language: python
|
|
python: 3.6
|
|
install:
|
|
- pip install GitPython PyGithub
|
|
script:
|
|
- PYTHONUNBUFFERED=1 python ./gen_changelog.py
|
|
- stage: Build
|
|
name: Editorconfig-lint
|
|
language: generic
|
|
before_script:
|
|
- wget https://github.com/okalachev/editorconfig-checker/releases/download/1.2.1-disable-spaces-amount/ec-linux-amd64
|
|
- chmod +x ec-linux-amd64
|
|
script:
|
|
- ./ec-linux-amd64 -spaces-after-tabs -e "roslib.js|ros3d.js|eventemitter2.js|draw.cpp|BinUtils.swift|\.idea|apps/android/app|Assets.xcassets|test_parser_pass.txt|test_node_failure.txt|aruco_pose/vendor|\.stl|\.dxf"
|
|
stages:
|
|
- Build
|
|
- Annotate
|
|
# More info there
|
|
# https://github.com/travis-ci/travis-ci/issues/6893
|
|
# https://docs.travis-ci.com/user/customizing-the-build/
|
|
# https://docs.travis-ci.com/user/deployment/releases
|
|
# https://docs.travis-ci.com/user/environment-variables/
|