diff --git a/.travis.yml b/.travis.yml index 276b393141..32784a1e85 100644 --- a/.travis.yml +++ b/.travis.yml @@ -2,6 +2,13 @@ language: bash os: linux dist: trusty +git: + depth: 1 + submodules: false + +before_install: + - git submodule update --init # no recursive update + cache: directories: - $HOME/astyle @@ -78,7 +85,6 @@ jobs: stage: deploy script: $TRAVIS_BUILD_DIR/tests/common.sh env: BUILD_TYPE=package - if: env(CI_GITHUB_API_KEY) IS present deploy: # Create Github release, upload artifacts - provider: releases diff --git a/package/build_boards_manager_package.sh b/package/build_boards_manager_package.sh index be0ce0366b..aca8b64e1e 100755 --- a/package/build_boards_manager_package.sh +++ b/package/build_boards_manager_package.sh @@ -48,15 +48,6 @@ srcdir=$PWD rm -rf package/versions/$ver mkdir -p $outdir -# Get submodules -modules=libraries/SoftwareSerial -for mod in $modules; do - echo "refreshing submodule: $mod" - git submodule update --init -- $mod - (cd $mod && git reset --hard) -done -echo "done with submodules" - # Some files should be excluded from the package cat << EOF > exclude.txt .git @@ -132,13 +123,32 @@ fi cat $srcdir/package/package_esp8266com_index.template.json | \ jq "$jq_arg" > package_esp8266com_index.json -# Use Github API token, if available +# Use Github API token, when available curl_gh_token_arg=() -if [ ! -z "$CI_GITHUB_API_KEY" ]; then +if [ -z "$CI_GITHUB_API_KEY" ]; then + echo "curl: API key not present" +else + echo "curl: API key is present" curl_gh_token_arg=(-H "Authorization: token $CI_GITHUB_API_KEY") fi + # Get previous release name -curl --silent "${curl_gh_token_arg[@]}" https://api.github.com/repos/esp8266/Arduino/releases > releases.json +curl --silent -D curl-headers.txt "${curl_gh_token_arg[@]}" https://api.github.com/repos/esp8266/Arduino/releases > releases.json + +echo "======== >>> curl dumped header >>>" +cat curl-headers.txt +echo "======== <<< curl dumped header <<<" +if ! grep "HTTP.*200 OK" curl-headers.txt > /dev/null; then + if [ -z "$CI_GITHUB_API_KEY" ]; then + # github api is rate-limiting + echo "---- Bad moon phase, in a PR, exit successfully" + exit 0 + else + echo "---- Please debug curl request, exit with error" + exit 1 + fi +fi + # Previous final release (prerelase == false) prev_release=$(jq -r '. | map(select(.draft == false and .prerelease == false)) | sort_by(.created_at | - fromdateiso8601) | .[0].tag_name' releases.json) # Previous release (possibly a pre-release)