diff --git a/.github/workflows/pr-size.sh b/.github/workflows/pr-size.sh index 8187151e2..46d569bd9 100755 --- a/.github/workflows/pr-size.sh +++ b/.github/workflows/pr-size.sh @@ -26,11 +26,14 @@ avr_ram() echo "This PR will consume:" > "$MESSAGE" for TARGET in $@ do - base_bin=$(echo ${BASE_DIR}/build_gen/*/$TARGET) + # strip the multilang prefix + variant=${TARGET%_MULTILANG} + + base_bin=$(echo ${BASE_DIR}/build_gen/$variant/${variant}_lang_base) base_flash=$(avr_flash "$base_bin") base_ram=$(avr_ram "$base_bin") - pr_bin=$(echo ${PR_DIR}/build_gen/*/$TARGET) + pr_bin=$(echo ${PR_DIR}/build_gen/$variant/${variant}_lang_base) pr_flash=$(avr_flash "$pr_bin") pr_ram=$(avr_ram "$pr_bin") diff --git a/.github/workflows/pr-size.yml b/.github/workflows/pr-size.yml index 1440c2a9c..2c68acd88 100644 --- a/.github/workflows/pr-size.yml +++ b/.github/workflows/pr-size.yml @@ -1,15 +1,17 @@ name: pr-size on: - pull_request: + pull_request_target: branches: [ MK3, MK3_* ] env: - TARGETS: "MK3S-EINSy10a_ENGLISH MK3-EINSy10a_ENGLISH" + TARGETS: "MK3S_MULTILANG MK3_MULTILANG" jobs: build: runs-on: ubuntu-latest + permissions: + pull-requests: write steps: @@ -18,34 +20,14 @@ jobs: run: | sudo apt-get install cmake ninja-build python3-pyelftools python3-regex python3-polib - # build the PR branch - - name: Checkout PR + # build the base branch + - name: Checkout base uses: actions/checkout@v3 - name: Setup build dependencies run: | ./utils/bootstrap.py - - 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 - - # save pr-size for later use - - name: Save pr-size from PR - run: | - cp -f ./.github/workflows/pr-size.sh build-pr - - # build the base branch - - name: Checkout base - uses: actions/checkout@v3 - with: - clean: false - ref: ${{ github.event.pull_request.base.ref }} - - name: Build base run: | rm -rf build-base @@ -54,11 +36,31 @@ jobs: 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@v3 + 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-pr/pr-size.sh build-changes build-base build-pr $TARGETS + ./build-base/pr-size.sh build-changes build-base build-pr $TARGETS - name: Add PR Comment uses: mshick/add-pr-comment@v2