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
on:
pull_request:
pull_request_target:
branches: [ MK3, MK3_* ]
env:
@ -10,6 +10,8 @@ env:
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