Aethel Bot OSS repository! aethel.xyz
bot fun ai discord discord-bot aethel
at dev 103 lines 2.3 kB view raw
1name: Pull Request Checks 2 3on: 4 pull_request: 5 branches: [main, dev] 6 types: [opened, synchronize, reopened] 7 8jobs: 9 pr-checks: 10 name: PR Quality Checks 11 runs-on: self-hosted 12 permissions: 13 contents: read 14 pull-requests: read 15 statuses: write 16 17 steps: 18 - name: Checkout code 19 uses: actions/checkout@v4 20 with: 21 fetch-depth: 0 22 23 - name: Setup Bun 24 uses: oven-sh/setup-bun@v2 25 with: 26 bun-version: latest 27 28 - name: Install backend dependencies 29 run: bun install --frozen-lockfile 30 31 - name: Install frontend dependencies 32 run: | 33 cd web 34 bun install --frozen-lockfile 35 36 - name: Check backend build 37 run: bun run build 38 39 - name: TypeScript check frontend 40 run: | 41 cd web 42 bunx tsc --noEmit 43 44 - name: Check frontend build 45 run: | 46 cd web 47 bun run build 48 49 - name: Run backend linting 50 run: bunx --bun eslint ./src ./web/src --ext .ts,.tsx 51 52 - name: Check code formatting 53 run: bunx --bun prettier --check "**/*.{js,json,md,ts,tsx}" --ignore-path .prettierignore 54 55 - name: Validate PR title 56 uses: amannn/action-semantic-pull-request@v5 57 env: 58 GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 59 with: 60 types: | 61 feat 62 fix 63 docs 64 style 65 refactor 66 perf 67 test 68 chore 69 requireScope: false 70 71 size-check: 72 name: Bundle Size Check 73 runs-on: self-hosted 74 permissions: 75 contents: read 76 pull-requests: read 77 78 steps: 79 - name: Checkout code 80 uses: actions/checkout@v4 81 82 - name: Setup Bun 83 uses: oven-sh/setup-bun@v2 84 with: 85 bun-version: latest 86 87 - name: Install frontend dependencies 88 run: | 89 cd web 90 bun install --frozen-lockfile 91 92 - name: Build frontend for size check 93 run: | 94 cd web 95 bun run build 96 97 - name: Check bundle size 98 run: | 99 cd web 100 echo "Frontend build size:" 101 du -sh dist/ 102 echo "Individual asset sizes:" 103 find dist/ -name "*.js" -o -name "*.css" | xargs ls -lh