From 320746144a07dff4fd935cad67da593d400272fb Mon Sep 17 00:00:00 2001 From: Lim Chee Aun Date: Sun, 18 Aug 2024 17:40:24 +0800 Subject: [PATCH] Test i18n PR automation --- .github/workflows/i18n-automerge.yml | 38 ++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 .github/workflows/i18n-automerge.yml diff --git a/.github/workflows/i18n-automerge.yml b/.github/workflows/i18n-automerge.yml new file mode 100644 index 00000000..80b3cc9d --- /dev/null +++ b/.github/workflows/i18n-automerge.yml @@ -0,0 +1,38 @@ +name: i18n PR auto-merge + +on: + pull_request: + types: [opened, synchronize, reopened, labeled] + +jobs: + run-and-merge: + if: contains(github.event.pull_request.labels.*.name, 'i18n') && + github.event.pull_request.base.ref == 'main' && + github.event.pull_request.head.ref == 'l10n_main' + runs-on: ubuntu-latest + + steps: + - name: Checkout code + uses: actions/checkout@v3 + + - name: Count lines changed + run: | + # Calculate the total number of lines changed (added, removed, or modified) + LINES_CHANGED=$(git diff --shortstat ${{ github.event.pull_request.base.sha }} ${{ github.event.pull_request.head.sha }} | awk '{print $4 + $6 + $8}') + echo "Total lines changed: $LINES_CHANGED" + + # Check if the number of lines changed is more than 20 + if [ "$LINES_CHANGED" -le 20 ]; then + echo "ERROR: 20 or fewer lines have been changed. Failing the check." + exit 1 + else + echo "Success: More than 20 lines have been changed." + fi + + - name: Merge pull request + if: ${{ success() }} + run: | + PR_NUMBER=$(echo ${{ github.event.pull_request.number }}) + gh pr merge $PR_NUMBER --auto --squash + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}