mirror of
https://github.com/CopterExpress/clover.git
synced 2026-05-26 11:43:25 +00:00
* Clover Blockly: add first blocks set * Adjust Blockly settings * Fix get_position output type * Add screenshot * Rename readme.md to README.md * Resize screenshot * Add package.xml * Little change * Fixes * Add python_compressed to blockly * Implement some of the Clover blocks in Python * Make Python indentation 4 spaces * Fixes to Python blocks implementation * Implement set_velocity block in Python * Implement wait_arrival block in Python * Fix indentation in Python implementation of blocks * Fix * Fix land_wait template * Set reserved words in Python * Change default frame_id to aruco_map in get_position block * Fix * Move blocks definitions to blocks.js * Get rid of missing favicon error * Simplify navigate * Rearrange layout, add tabs * Generate Python code * Small style change * -console.log * Code style * Use modules * Move modules to the header * Correct order for ROS definitions + generating "backend" code * Fix rangefinder_distance block * simple_offboard: commands to change only yaw and yaw rate * Implement set_yaw block * Start working on Blockly documentation * Implement print block with a topic * Unneeded code * Little fixes * Fix indentation * Fixes * Fix wait_arival, get_distance * Implement running Blockly programs, implement prompt block, fixes * Add land button * Little change * Fix reserved words + little fixes * +x for main.py * Simplify run button * Auto-save and load workspace * Make land button work * Handle exceptions * Minor change * Add help URL for blocks * Fix * Implement arrived block * Mark blockly and highlight.js as linguist-vendored * Add forgotten CMakeLists.txt * Add wait checkbox to set_yaw block * Disable run button when disconnected * Add message and service files * Add some comments * Add tooltip to some blocks * Implement GPIO blocks * Don’t latch print message to prevent duplication * Prevent duplication prompts * Add ROS init code to backend code anyways * Make GPIO blocks color a constant * Minor fix * More correctly update blocks on input value changes * Minor fixes * Remove unneeded readonly attribute * Add marker ID shadow blocks to toolbox * Add lacking reserved words * Fix frame id generation for complex marker id expressions * Consider frame_id in set_yaw block * Shorten ros module import * Implement stop service * Disable and enable run button correctly * Don’t print KeyboardInterrupt exceptions * Put notifications to notifications element * Add 'running' mark * Disable signal in backend python code * Sleep a little bit to let rospy initialize publishers * Remove accidental code * Make ROS namespace and private namespace constants * editorconfig-lint: don’t check Blockly code * Use private namespace constant in Python generator * Implement ~running topic to display current program status more robustly * Make navigate tolerance and sleep time constants * Make set_leds and and set_effect services proxies persistent * Replace a number with constant * Limit ~block topic publishing rate Otherwise messages get queued making the frontend to freeze * Improve internal documentation * Append 'map' to frames list * Return degrees in get_attitude block * Move getting yaw in a separate block * Improve block tooltips * Add some more files to editorconfig-lint excludes * Add get_yaw block to toolbox * Implement get_time block * Implement ~store and ~load services for storing user programs * Set auto_arm only in take_off block * Minor CSS fixes * Make 'Python' tab textarea-like * Implement saving and loading programs * Adjust styles * Retrieve only .xml files in load service * Forgotten code * Documentation on store and load services * Add some examples * Add blocks programming arg to launch file * Update docs * Add package’s dependencies * Add dependency * Add title to select * Fix syntax * Minor fix in docs * Add forgotten roslib.js * Run user program in the same process * Use print function for print block in Python 2 * Add variables example * Fix url * Add functions example * Fix set_servo block * Fix gpio_read block * Update blocks screenshot * Update docs * Update docs * Fix set_effect block * Minor fix in example * Add setpoint block, remove set_velocity from toolbox * Remove unused modules * Unused variable * Add English article skeleton * Clarify backend node link error * Remove unused variable * Update documentation * Fix link to documentation * Add Blockly logo * Update English article * Add Blocks programming link to the main page * Minor change * Add catkin_install_python to CMakeLists.txt * Make navigate tolerance and sleep time configurable * Add minor todo * Add blockly examples directory to editorconfig-lint excludes * Rename main node to clover_blocks * Add a warning to the old blocks programming article * Fix editorconfig-lint exclude
118 lines
4.3 KiB
YAML
118 lines
4.3 KiB
YAML
os: linux
|
|
dist: xenial
|
|
language: generic
|
|
services:
|
|
- docker
|
|
env:
|
|
global:
|
|
- DOCKER="sfalexrog/img-tool:qemu-update"
|
|
- TARGET_REPO="https://github.com/${TRAVIS_REPO_SLUG}.git"
|
|
- IMAGE_VERSION=${TRAVIS_TAG:-${TRAVIS_COMMIT:0:7}}
|
|
- 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
|
|
after_success:
|
|
- sudo chmod -R 777 *
|
|
- cd images && zip ${IMAGE_NAME}.zip ${IMAGE_NAME} && stat --printf="Compressed image size:%s\n" ${IMAGE_NAME}.zip
|
|
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"
|
|
deploy:
|
|
provider: releases
|
|
token: ${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/clover ${NATIVE_DOCKER} /root/catkin_ws/src/clover/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/clover ${NATIVE_DOCKER} /root/catkin_ws/src/clover/builder/standalone-install.sh
|
|
- stage: Build
|
|
name: "Documentation"
|
|
language: node_js
|
|
node_js:
|
|
- "10"
|
|
before_script:
|
|
- sudo sh -c "echo ttf-mscorefonts-installer msttcorefonts/accepted-mscorefonts-eula select true | debconf-set-selections"
|
|
- sudo apt update && sudo apt install -y calibre msttcorefonts
|
|
- npm install gitbook-cli -g
|
|
- npm install markdownlint-cli -g
|
|
- npm install svgexport -g
|
|
- gitbook -V
|
|
- markdownlint -V
|
|
script:
|
|
- markdownlint docs
|
|
- ./check_assets_size.py
|
|
- ./check_unused_assets.py
|
|
- gitbook install
|
|
- gitbook build
|
|
- gitbook pdf ./ _book/clover.pdf
|
|
deploy:
|
|
provider: pages
|
|
local_dir: _book
|
|
skip_cleanup: true
|
|
token: ${GITHUB_OAUTH_TOKEN}
|
|
keep_history: true
|
|
target_branch: master
|
|
repo: CopterExpress/clover.coex.tech
|
|
fqdn: clover.coex.tech
|
|
verbose: true
|
|
on:
|
|
branch: master
|
|
- 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|blockly/|clover_blocks/programs/|highlight/|python.js|Assets.xcassets|test_parser_pass.txt|test_node_failure.txt|aruco_pose/vendor|\.stl|\.dxf|\.dae"
|
|
stages:
|
|
- Build
|
|
# 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/
|