CI/pr-size: Use pull_request_target to get write permission

- Build and use pr-size from the base branch
- Compare against the PR in a second step
This commit is contained in:
Yuri D'Elia 2023-08-04 17:49:49 +02:00
parent 18dc28b148
commit b9381d5278
1 changed files with 26 additions and 24 deletions

View File

@ -1,7 +1,7 @@
name: pr-size name: pr-size
on: on:
pull_request: pull_request_target:
branches: [ MK3, MK3_* ] branches: [ MK3, MK3_* ]
env: env:
@ -10,6 +10,8 @@ env:
jobs: jobs:
build: build:
runs-on: ubuntu-latest runs-on: ubuntu-latest
permissions:
pull-requests: write
steps: steps:
@ -18,34 +20,14 @@ jobs:
run: | run: |
sudo apt-get install cmake ninja-build python3-pyelftools python3-regex python3-polib sudo apt-get install cmake ninja-build python3-pyelftools python3-regex python3-polib
# build the PR branch # build the base branch
- name: Checkout PR - name: Checkout base
uses: actions/checkout@v3 uses: actions/checkout@v3
- name: Setup build dependencies - name: Setup build dependencies
run: | run: |
./utils/bootstrap.py ./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 - name: Build base
run: | run: |
rm -rf build-base rm -rf build-base
@ -54,11 +36,31 @@ jobs:
cmake .. -DCMAKE_TOOLCHAIN_FILE="../cmake/AvrGcc.cmake" -DCMAKE_BUILD_TYPE=Release -G Ninja cmake .. -DCMAKE_TOOLCHAIN_FILE="../cmake/AvrGcc.cmake" -DCMAKE_BUILD_TYPE=Release -G Ninja
ninja $TARGETS 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 # extract/show build differences
- name: Calculate binary changes - name: Calculate binary changes
run: | run: |
rm -rf build-changes 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 - name: Add PR Comment
uses: mshick/add-pr-comment@v2 uses: mshick/add-pr-comment@v2