mirror of
https://github.com/CopterExpress/clover.git
synced 2026-05-31 15:09:32 +00:00
* Start working on building image in GitHub actions * Trigger GitHub on push to any branch * Fix TRAVIS_TAG * Add compress image step * Disable image build in Travis * Add upload image step * Fix compress image * Fix * Fix * Minor fix * Trigger build on tag * Show images sizes not in human format * Upload only built image * Make prerelease * Upload assets on release not on tags
120 lines
4.9 KiB
YAML
120 lines
4.9 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: 1
|
|
jobs:
|
|
fast_finish: true
|
|
include:
|
|
# - stage: Build
|
|
# name: "Raspberry Pi Image Build"
|
|
# cache:
|
|
# directories:
|
|
# - imgcache
|
|
# before_script:
|
|
# - if [ ! -z "$DOCKER_USERNAME" ]; then
|
|
# echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin;
|
|
# fi
|
|
# - 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 -9 ${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
|
|
- gitbook fetch 3.2.3 && npm i npm@3.10.10 --prefix=~/.gitbook/versions/3.2.3/ # fixing https://travis-ci.org/github/CopterExpress/clover/jobs/766541125#L932
|
|
- 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
|
|
- for i in 1 2 3 4; do gitbook pdf ./ _book/clover.pdf && break || sleep 1; done
|
|
- sudo apt-get install ghostscript
|
|
- gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/default -dNOPAUSE -dQUIET -dBATCH -dDetectDuplicateImages -dCompressFonts=true -r150 -sOutputFile=_book/clover_ru_compressed.pdf _book/clover_ru.pdf
|
|
- gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/default -dNOPAUSE -dQUIET -dBATCH -dDetectDuplicateImages -dCompressFonts=true -r150 -sOutputFile=_book/clover_en_compressed.pdf _book/clover_en.pdf
|
|
- rm _book/clover_ru.pdf && mv _book/clover_ru_compressed.pdf _book/clover_ru.pdf
|
|
- rm _book/clover_en.pdf && mv _book/clover_en_compressed.pdf _book/clover_en.pdf
|
|
- ls -lah _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
|
|
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/
|