diff --git a/.github/workflows/keepalive.yml b/.github/workflows/keepalive.yml index 4f33340..804b388 100644 --- a/.github/workflows/keepalive.yml +++ b/.github/workflows/keepalive.yml @@ -1,4 +1,4 @@ -name: Keepalive +name: ๐Ÿ’“ Keepalive # Supabase pauses a free-tier project after roughly a week without external API # traffic, which takes production and the e2e suite down with it. Nothing else in diff --git a/.github/workflows/ci.yml b/.github/workflows/pull-request-checks.yml similarity index 98% rename from .github/workflows/ci.yml rename to .github/workflows/pull-request-checks.yml index c392a48..37f82f3 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/pull-request-checks.yml @@ -1,10 +1,7 @@ -name: CI +name: ๐Ÿงช Pull request checks on: - push: - branches: [main] pull_request: - branches: [main] # Least privilege: this workflow only reads the repository. Set explicitly so it # stays read-only even if the repo or org default token permission is widened. diff --git a/.github/workflows/sanity-check.yml b/.github/workflows/sanity-check.yml new file mode 100644 index 0000000..e8638f3 --- /dev/null +++ b/.github/workflows/sanity-check.yml @@ -0,0 +1,45 @@ +name: โœ… Sanity check + +on: + push: + branches: [main] + +# Least privilege: this workflow only reads the repository. +permissions: + contents: read + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: false + +env: + BUN_VERSION: 1.3.14 + +jobs: + sanity-check: + name: ๐Ÿฉบ Sanity check + runs-on: ubuntu-latest + timeout-minutes: 15 + steps: + - name: ๐Ÿ“ฅ Checkout repository + uses: actions/checkout@v5 + with: + persist-credentials: false + + - name: ๐ŸฅŸ Set up Bun + uses: oven-sh/setup-bun@v2 + with: + bun-version: ${{ env.BUN_VERSION }} + + - name: ๐Ÿ“ฆ Install dependencies + run: bun install --frozen-lockfile + + - name: ๐Ÿšฆ Full check + run: bun run system-check + + - name: ๐ŸŽ‰ All clear + run: echo "โœ… ${GITHUB_SHA:0:7} landed on \`main\` clean โ€” typecheck, format, lint, tests, and web build all green." >> "$GITHUB_STEP_SUMMARY" + + - name: ๐Ÿšจ Something broke + if: failure() + run: echo "๐Ÿ’ฅ ${GITHUB_SHA:0:7} broke \`main\` โ€” check the failed step above." >> "$GITHUB_STEP_SUMMARY"