123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- #!/usr/bin/env bash
- LOCAL_TOOLS_DIR=$HOME/avr-tools
- if [ -z "$TRAVIS_BUILD_DIR" ]; then
- echo "This script should be run by Travis-CI environment"
- echo "If you want to simulate Travis build, please set TRAVIS_BUILD_DIR"
- echo "environment variable to directory where your code lives"
- exit 1
- fi
- # download all compilers
- $TRAVIS_BUILD_DIR/scripts/travis-fill-cache.sh
- # prepare output dir
- OUTPUT_DIR="$TRAVIS_BUILD_DIR/sizes-out"
- mkdir -p "$OUTPUT_DIR"
- OUTPUT_TABLE="$OUTPUT_DIR/sizes.txt"
- OUTPUT_JSON="$OUTPUT_DIR/sizes.json"
- # compiler list
- COMPILERS=$(cat $TRAVIS_BUILD_DIR/docs/arduino-gcc-versions.md |grep -i "| yes |"|cut -f 2 -d '|')
- COMPILERS="$COMPILERS microchip"
- # table header
- echo -n "| target \ compiler |" >"$OUTPUT_TABLE"
- for compiler in $COMPILERS; do
- echo -n " $compiler |" >>"$OUTPUT_TABLE"
- done
- echo >>"$OUTPUT_TABLE"
- # table header separator
- echo -n "|-|" >>"$OUTPUT_TABLE"
- for compiler in $COMPILERS; do
- echo -n "-|">>"$OUTPUT_TABLE"
- done
- echo >>"$OUTPUT_TABLE"
- # get repo and commit info for json output
- if [[ "$TRAVIS_PULL_REQUEST" = "false" ]]; then
- REPO="$TRAVIS_REPO_SLUG"
- BRANCH="$TRAVIS_BRANCH"
- else
- REPO="$TRAVIS_PULL_REQUEST_SLUG"
- BRANCH="$TRAVIS_PULL_REQUEST_BRANCH"
- fi
- # start json
- echo "{\"slug\":\"$REPO\",\"branch\":\"$BRANCH\",\"commit\":\"$TRAVIS_COMMIT\",\"emoji\":\"true\",\"builds\":[" >"$OUTPUT_JSON"
- # build everything
- cat $TRAVIS_BUILD_DIR/.travis.yml|grep " - OPTIBOOT_TARGET="|cut -f 2- -d '=' \
- |tr -d '"'|sort|while read target; do
- echo -n "| $target |" >>"$OUTPUT_TABLE"
- echo "{\"t\":\"$target\",\"v\":[">>"$OUTPUT_JSON"
- for compiler in $COMPILERS; do
- echo "Checking size for $target @ $compiler"
- size=$($TRAVIS_BUILD_DIR/scripts/travis-build.sh $compiler $target 2>/dev/null|grep -A 2 avr-size|tail -n1|awk '{ print $1;}')
- if [[ -z "$size" ]]; then
- size="x"
- fi
- echo -n " $size |" >>"$OUTPUT_TABLE"
- echo "{\"c\":\"$compiler\",\"s\":\"$size\"}," >>"$OUTPUT_JSON"
- done
- echo >>"$OUTPUT_TABLE"
- sed -i '$ s/.$//' "$OUTPUT_JSON"
- echo "]}," >>"$OUTPUT_JSON"
- done
- sed -i '$ s/.$//' "$OUTPUT_JSON"
- echo "]}">>"$OUTPUT_JSON"
- echo "========= OUTPUT SIZES START ============="
- cat "$OUTPUT_TABLE"
- echo "========== OUTPUT SIZES END =============="
- echo "Checking results against last commit"
- echo "========= OUTPUT SIZES COMPARE START ============="
- curl -H "Content-Type: application/json" --data @$OUTPUT_JSON https://api.travisjoin.w7i.pl/tj/compare/$REPO/$BRANCH/last
- echo "========== OUTPUT SIZES COMPARE END =============="
- echo "Uploading results to TravisJoin"
- curl -H "Content-Type: application/json" --data @$OUTPUT_JSON https://api.travisjoin.w7i.pl/tj/add/$REPO/$BRANCH/$TRAVIS_COMMIT
- exit 0
|