Skip to content

Commit

Permalink
Add bloat check steps for all examples
Browse files Browse the repository at this point in the history
  • Loading branch information
andreilitvin authored and andy31415 committed Jun 3, 2020
1 parent 0b3c4d5 commit 3688738
Show file tree
Hide file tree
Showing 5 changed files with 75 additions and 29 deletions.
25 changes: 24 additions & 1 deletion .circleci/config.yml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

5 changes: 4 additions & 1 deletion .circleci/config/jobs/examples_esp32.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,9 @@ steps:
scripts/helpers/bloat-check.sh \
'Build Examples [ESP32]' \
example_binaries/esp32-build \
master_binaries/esp32-build
master_binaries/esp32-build \
bloat_report.txt
- store_artifacts:
path: example_binaries/esp32-build
- store_artifacts:
path: bloat_report.txt
10 changes: 10 additions & 0 deletions .circleci/config/jobs/examples_nrf.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,5 +12,15 @@ steps:
mkdir -p example_binaries/nrf-build
cp examples/lock-app/nrf5/build/chip-nrf52840-lock-example.out \
example_binaries/nrf-build/chip-nrf52840-lock-example.out
- run:
name: Bloat check
command: |
scripts/helpers/bloat-check.sh \
'Build Examples [nRF]' \
example_binaries/esp32-build \
master_binaries/esp32-build \
bloat_report.txt
- store_artifacts:
path: example_binaries/nrf-build
- store_artifacts:
path: bloat_report.txt
54 changes: 32 additions & 22 deletions .circleci/config/jobs/examples_standalone.yml
Original file line number Diff line number Diff line change
@@ -1,26 +1,36 @@
parameters:
builder:
type: string
builder:
type: string
environment:
BUILD_TYPE: "<< parameters.builder >>"
BUILD_TYPE: "<< parameters.builder >>"
executor: << parameters.builder >>
steps:
- load-built-tree:
builder: << parameters.builder >>
- load-build-environment:
builder: << parameters.builder >>
- load-persistent-ci-cache:
builder: << parameters.builder >>
- setup-environment:
builder: << parameters.builder >>
- run:
name: Build example Standalone Echo Client
command: scripts/examples/standalone_echo_client.sh
- run:
name: Preserve artifacts
command: |
mkdir -p example_binaries/<<parameters.builder>>
cp examples/chip-tool/build/chip-standalone-demo.out \
example_binaries/<<parameters.builder>>/chip-standalone-demo.out
- store_artifacts:
path: example_binaries/<<parameters.builder>>
- load-built-tree:
builder: << parameters.builder >>
- load-build-environment:
builder: << parameters.builder >>
- load-persistent-ci-cache:
builder: << parameters.builder >>
- setup-environment:
builder: << parameters.builder >>
- run:
name: Build example Standalone Echo Client
command: scripts/examples/standalone_echo_client.sh
- run:
name: Preserve artifacts
command: |
mkdir -p example_binaries/<<parameters.builder>>
cp examples/chip-tool/build/chip-standalone-demo.out \
example_binaries/<<parameters.builder>>/chip-standalone-demo.out
- run:
name: Bloat check
command: |
scripts/helpers/bloat-check.sh \
'Build Examples [<< parameters.builder >>]' \
example_binaries/<<parameters.builder>> \
master_binaries/<<parameters.builder>> \
bloat_report.txt
- store_artifacts:
path: example_binaries/<<parameters.builder>>
- store_artifacts:
path: bloat_report.txt
10 changes: 5 additions & 5 deletions scripts/helpers/bloat-check.sh
Original file line number Diff line number Diff line change
Expand Up @@ -5,18 +5,18 @@ set -x
JOBNAME=$1
SOURCEDIR=$2
OUTPUTDIR=$3
REPORTFILE=$4

mkdir -p ${OUTPUTDIR}
scripts/helpers/ci-fetch-artifacts.py \
--token "${CIRCLECI_API_TOKEN}" \
--job "${JOBNAME}" \
--download-dir "${OUTPUTDIR}"

echo "BLOAT REPORT" >${REPORTFILE}

for masterbinary in ${OUTPUTDIR}/*; do
newbinary=${SOURCEDIR}/$(basename $masterbinary)
echo "Checking $newbinary against $masterbinary"
echo "Size difference:"
bloaty $newbinary -- $masterbinary
echo "Largest symbols information:"
bloaty -d symbols -C short $newbinary | head -n 20
echo "Checking $newbinary against $masterbinary" >${REPORTFILE}
bloaty $newbinary -- $masterbinary >${REPORTFILE}
done

0 comments on commit 3688738

Please sign in to comment.