name: pr-size on: pull_request_target: branches: [ MK3, MK3_* ] env: TARGETS: "MK3S_MULTILANG MK3_MULTILANG" jobs: build: runs-on: ubuntu-latest permissions: pull-requests: write steps: # setup base required dependencies - name: Setup dependencies run: | sudo apt-get update sudo apt-get install cmake ninja-build python3-pyelftools python3-regex python3-polib # build the base branch - name: Checkout base uses: actions/checkout@v4 - name: Cache Dependencies uses: actions/cache@v4 id: cache-pkgs with: path: ".dependencies" key: "build-deps-1_0_0-linux" - name: Setup build dependencies run: | ./utils/bootstrap.py - name: Cache permissions run: sudo chmod -R 744 .dependencies - name: Build base run: | rm -rf build-base mkdir build-base cd build-base cmake .. -DCMAKE_TOOLCHAIN_FILE="../cmake/AvrGcc.cmake" -DCMAKE_BUILD_TYPE=Release -G Ninja ninja $TARGETS # save pr-size for later use - name: Save base data run: | cp -f ./.github/workflows/pr-size.sh build-base # build the PR branch - name: Checkout PR uses: actions/checkout@v4 with: clean: false ref: ${{ github.event.pull_request.head.sha }} - name: Build PR run: | rm -rf build-pr mkdir build-pr cd build-pr cmake .. -DCMAKE_TOOLCHAIN_FILE="../cmake/AvrGcc.cmake" -DCMAKE_BUILD_TYPE=Release -G Ninja ninja $TARGETS # extract/show build differences - name: Calculate binary changes run: | rm -rf build-changes ./build-base/pr-size.sh build-changes build-base build-pr $TARGETS - name: Add PR Comment uses: mshick/add-pr-comment@v2 with: message-path: build-changes