From 6faf92be8b602a1bb3b2b20aba1f44646f92d119 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Mon, 15 Jun 2026 20:52:16 +0000 Subject: [PATCH] Build from template@e1751d5 --- .github/workflows/ci.yaml | 60 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 .github/workflows/ci.yaml diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml new file mode 100644 index 0000000..14aac3a --- /dev/null +++ b/.github/workflows/ci.yaml @@ -0,0 +1,60 @@ +name: CI + +on: + pull_request: + branches: + - main + push: + branches: + - main + +jobs: + lint-and-test: + runs-on: ubuntu-latest + + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Setup Bun + uses: oven-sh/setup-bun@v2 + with: + bun-version: latest + + - name: Cache dependencies + uses: actions/cache@v4 + with: + path: ~/.bun/install/cache + key: ${{ runner.os }}-bun-${{ hashFiles('**/bun.lock') }} + restore-keys: | + ${{ runner.os }}-bun- + + - name: Install dependencies + run: bun install + + - name: Lint and format check + run: bunx @biomejs/biome ci . + + - name: Check docs formatting (Markdown & YAML) + run: bunx prettier --check "**/*.{md,yml,yaml}" + + - name: Type check + run: bun run typecheck + + - name: Scan for secrets + run: bunx secretlint "**/*" + + - name: Build project + run: bun run build + + - name: Check for unused code + run: bun run knip + continue-on-error: true + + - name: Upload build artifacts + uses: actions/upload-artifact@v4 + if: success() + with: + name: build-artifacts + path: dist/ + retention-days: 7