actions: add footprint diff action
This action will run on each PR and will post a comment if footprint of some reference applications has changed, initially as a FYI but later it will be enforced when footprint for example is gone beyond a certain threshold. Signed-off-by: Anas Nashif <anas.nashif@intel.com>
This commit is contained in:
parent
eaed951e96
commit
8d34fbad9f
69
.github/workflows/footprint.yml
vendored
Normal file
69
.github/workflows/footprint.yml
vendored
Normal file
|
@ -0,0 +1,69 @@
|
|||
name: Footprint Delta
|
||||
|
||||
on: pull_request
|
||||
|
||||
jobs:
|
||||
footprint-cancel:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Cancel Previous Runs
|
||||
uses: styfle/cancel-workflow-action@0.6.0
|
||||
with:
|
||||
access_token: ${{ github.token }}
|
||||
footprint-delta:
|
||||
runs-on: ubuntu-latest
|
||||
needs: footprint-cancel
|
||||
container:
|
||||
image: zephyrprojectrtos/ci:v0.17.1
|
||||
options: '--entrypoint /bin/bash'
|
||||
strategy:
|
||||
fail-fast: false
|
||||
env:
|
||||
ZEPHYR_SDK_INSTALL_DIR: /opt/toolchains/zephyr-sdk-0.12.4
|
||||
CLANG_ROOT_DIR: /usr/lib/llvm-12
|
||||
ZEPHYR_TOOLCHAIN_VARIANT: zephyr
|
||||
steps:
|
||||
- name: Cancel Previous Runs
|
||||
uses: styfle/cancel-workflow-action@0.6.0
|
||||
with:
|
||||
access_token: ${{ github.token }}
|
||||
- name: Update PATH for west
|
||||
run: |
|
||||
echo "$HOME/.local/bin" >> $GITHUB_PATH
|
||||
|
||||
- name: checkout
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
ref: ${{ github.event.pull_request.head.sha }}
|
||||
fetch-depth: 0
|
||||
|
||||
- name: west setup
|
||||
run: |
|
||||
west init -l . || true
|
||||
west update
|
||||
|
||||
- name: Detect Changes in Footprint
|
||||
env:
|
||||
BASE_REF: ${{ github.base_ref }}
|
||||
run: |
|
||||
export ZEPHYR_BASE=${PWD}
|
||||
git config --global user.email "actions@zephyrproject.org"
|
||||
git config --global user.name "Github Actions"
|
||||
git remote -v
|
||||
git rebase origin/${BASE_REF}
|
||||
git checkout -b this_pr
|
||||
west build -b frdm_k64f tests/benchmarks/footprints -t ram_report
|
||||
cp build/ram.json ram2.json
|
||||
west build -b frdm_k64f tests/benchmarks/footprints -t rom_report
|
||||
cp build/rom.json rom2.json
|
||||
|
||||
git checkout origin/${BASE_REF}
|
||||
west update
|
||||
west build -p always -b frdm_k64f tests/benchmarks/footprints -t ram_report
|
||||
west build -b frdm_k64f tests/benchmarks/footprints -t rom_report
|
||||
cp build/ram.json ram1.json
|
||||
cp build/rom.json rom1.json
|
||||
|
||||
git checkout this_pr
|
||||
./scripts/footprint/fpdiff.py ram1.json ram2.json
|
||||
./scripts/footprint/fpdiff.py rom1.json rom2.json
|
Loading…
Reference in a new issue