1 Star 0 Fork 0

Jelly-LY/betaflight

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
.travis.sh 2.60 KB
一键复制 编辑 原始数据 按行查看 历史
mikeller 提交于 2021-02-09 21:52 . Make CI builds fail on warnings.
#!/bin/bash
FC_VER=$(make version)
REVISION=$(git rev-parse --short HEAD)
BRANCH=$(git rev-parse --abbrev-ref HEAD)
LAST_COMMIT_DATE=$(git log -1 --date=short --format="%cd")
TARGET_FILE=obj/betaflight_${FC_VER}_${TARGET}
TRAVIS_REPO_SLUG=${TRAVIS_REPO_SLUG:=$USER/undefined}
BUILDNAME=${BUILDNAME:=travis}
TRAVIS_BUILD_NUMBER=${TRAVIS_BUILD_NUMBER:=undefined}
MAKE="make EXTRA_FLAGS=-Werror"
CURL_BASEOPTS=(
"--retry" "10"
"--retry-max-time" "120" )
CURL_PUB_BASEOPTS=(
"--form" "revision=${REVISION}"
"--form" "branch=${BRANCH}"
"--form" "travis_build_number=${TRAVIS_BUILD_NUMBER}"
"--form" "last_commit_date=${LAST_COMMIT_DATE}"
"--form" "github_repo=${TRAVIS_REPO_SLUG}"
"--form" "build_name=${BUILDNAME}" )
# A hacky way of building the docs at the same time as the normal builds.
if [ $PUBLISHDOCS ] ; then
if [ $PUBLISH_URL ] ; then
# Patch Gimli to fix underscores_inside_words
curl -L "${CURL_BASEOPTS[@]}" https://github.com/walle/gimli/archive/v0.5.9.tar.gz | tar zxf -
sed -i 's/).render(/, :no_intra_emphasis => true).render(/' gimli-0.5.9/ext/github_markup.rb
cd gimli-0.5.9/
gem build gimli.gemspec && gem install gimli
cd ../
./build_docs.sh
curl -k "${CURL_BASEOPTS[@]}" "${CURL_PUB_BASEOPTS[@]}" --form "manual=@docs/Manual.pdf" ${PUBLISH_URL} || true
fi
elif [ $PUBLISHMETA ] ; then
if [ $PUBLISH_URL ] ; then
RECENT_COMMITS=$(git shortlog -n25)
curl -k "${CURL_BASEOPTS[@]}" "${CURL_PUB_BASEOPTS[@]}" --form "recent_commits=${RECENT_COMMITS}" ${PUBLISH_URL} || true
fi
elif [ $TARGET ] ; then
$MAKE $TARGET || exit $?
if [ $PUBLISH_URL ] ; then
if [ -f ${TARGET_FILE}.bin ] ; then
TARGET_FILE=${TARGET_FILE}.bin
elif [ -f ${TARGET_FILE}.hex ] ; then
TARGET_FILE=${TARGET_FILE}.hex
else
echo "build artifact (hex or bin) for ${TARGET_FILE} not found, aborting";
exit 1
fi
curl -k "${CURL_BASEOPTS[@]}" "${CURL_PUB_BASEOPTS[@]}" --form "file=@${TARGET_FILE}" ${PUBLISH_URL} || true
exit 0;
fi
elif [ $GOAL ] ; then
if [ "test-all" == "$GOAL" ] ; then
$MAKE checks || exit $?
else
export V=0
fi
$MAKE $GOAL || exit $?
if [ $PUBLISHCOV ] ; then
if [ "test-all" == "$GOAL" ] ; then
lcov --directory . -b src/test --capture --output-file coverage.info 2>&1 | grep -E ":version '402\*', prefer.*'406\*" --invert-match
lcov --remove coverage.info 'lib/test/*' 'src/test/*' '/usr/*' --output-file coverage.info # filter out system and test code
lcov --list coverage.info # debug before upload
coveralls-lcov coverage.info # uploads to coveralls
fi
fi
else
$MAKE all
fi
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/Jelly-LY/betaflight.git
git@gitee.com:Jelly-LY/betaflight.git
Jelly-LY
betaflight
betaflight
master

搜索帮助