fix(deps): update dependency fastapi to v0.133.1 - autoclosed #417
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Auto-merge l10n PRs | |
| on: | |
| pull_request: | |
| types: [opened, synchronize, labeled] | |
| permissions: | |
| contents: write | |
| pull-requests: write | |
| jobs: | |
| auto-merge: | |
| runs-on: ubuntu-latest | |
| if: contains(github.event.pull_request.labels.*.name, 'l10n') | |
| steps: | |
| - name: Validate PR author | |
| env: | |
| AUTHOR: ${{ github.event.pull_request.user.login }} | |
| run: | | |
| if [[ | |
| "$AUTHOR" != "hay-kot" && | |
| "$AUTHOR" != "github-actions[bot]" && | |
| "$AUTHOR" != "mealie-actions[bot]" | |
| ]]; then | |
| echo "::error::PR author must be hay-kot, github-actions[bot], or mealie-actions[bot] for auto-merge (got: $AUTHOR)" | |
| exit 1 | |
| fi | |
| echo "Author validated: $AUTHOR" | |
| - name: Validate PR size | |
| env: | |
| GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| PR_NUMBER: ${{ github.event.pull_request.number }} | |
| REPO: ${{ github.repository }} | |
| run: | | |
| ADDITIONS=$(gh pr view "$PR_NUMBER" --repo "$REPO" --json additions --jq '.additions') | |
| DELETIONS=$(gh pr view "$PR_NUMBER" --repo "$REPO" --json deletions --jq '.deletions') | |
| TOTAL=$((ADDITIONS + DELETIONS)) | |
| echo "PR changes: +$ADDITIONS -$DELETIONS (total: $TOTAL lines)" | |
| if [ "$TOTAL" -gt 400 ]; then | |
| echo "::error::PR exceeds 400 line change limit ($TOTAL lines)" | |
| exit 1 | |
| fi | |
| - name: Validate file paths | |
| env: | |
| GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| PR_NUMBER: ${{ github.event.pull_request.number }} | |
| REPO: ${{ github.repository }} | |
| run: | | |
| FILES=$(gh pr view "$PR_NUMBER" --repo "$REPO" --json files --jq '.files[].path') | |
| for file in $FILES; do | |
| # Check if file matches any allowed path | |
| if [[ "$file" == "frontend/composables/use-locales/available-locales.ts" ]] || \ | |
| [[ "$file" =~ ^frontend/lang/ ]] || \ | |
| [[ "$file" =~ ^mealie/repos/seed/resources/[^/]+/locales/ ]]; then | |
| continue | |
| fi | |
| # File doesn't match allowed paths | |
| echo "::error::Invalid file path: $file" | |
| echo "Only the following paths are allowed:" | |
| echo " - frontend/composables/use-locales/available-locales.ts" | |
| echo " - frontend/lang/" | |
| echo " - mealie/repos/seed/resources/*/locales/" | |
| exit 1 | |
| done | |
| echo "All files are in allowed paths" | |
| - name: Approve PR | |
| env: | |
| GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| PR_NUMBER: ${{ github.event.pull_request.number }} | |
| REPO: ${{ github.repository }} | |
| run: | | |
| APPROVED=$(gh pr view "$PR_NUMBER" \ | |
| --repo "$REPO" \ | |
| --json reviews \ | |
| --jq '.reviews[] | select(.state == "APPROVED") | .id' \ | |
| | wc -l) | |
| if [ "$APPROVED" -gt 0 ]; then | |
| echo "PR already approved" | |
| exit 0 | |
| fi | |
| gh pr review "$PR_NUMBER" \ | |
| --repo "$REPO" \ | |
| --approve \ | |
| --body "Auto-approved: l10n PR from trusted author with valid file paths" | |
| - name: Generate GitHub App Token | |
| id: app-token | |
| uses: actions/create-github-app-token@v1 | |
| with: | |
| app-id: ${{ secrets.COMMIT_BOT_APP_ID }} | |
| private-key: ${{ secrets.COMMIT_BOT_APP_PRIVATE_KEY }} | |
| - name: Enable auto-merge | |
| env: | |
| GH_TOKEN: ${{ steps.app-token.outputs.token }} | |
| PR_NUMBER: ${{ github.event.pull_request.number }} | |
| REPO: ${{ github.repository }} | |
| run: | | |
| gh pr merge "$PR_NUMBER" \ | |
| --repo "$REPO" \ | |
| --auto \ | |
| --squash |