chore(deps): bump the github-actions group with 2 updates (#14) #85
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: CI | |
| on: | |
| push: | |
| branches: [main, develop] | |
| pull_request: | |
| branches: [main] | |
| jobs: | |
| lint: | |
| name: Lint & Format Check | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v6 | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v6 | |
| with: | |
| node-version: '24' | |
| - name: Setup Bun | |
| uses: oven-sh/setup-bun@v2 | |
| with: | |
| bun-version: latest | |
| - name: Install dependencies | |
| run: bun install --frozen-lockfile | |
| - name: Run ESLint | |
| run: bun run lint | |
| - name: Check code formatting | |
| run: bun run format:check | |
| test: | |
| name: Test | |
| runs-on: ubuntu-latest | |
| permissions: | |
| contents: read | |
| id-token: write | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v6 | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v6 | |
| with: | |
| node-version: '24' | |
| - name: Setup Bun | |
| uses: oven-sh/setup-bun@v2 | |
| with: | |
| bun-version: latest | |
| - name: Install dependencies | |
| run: bun install --frozen-lockfile | |
| - name: Run type checking | |
| run: bun run typecheck | |
| - name: Run tests | |
| run: bun run test:coverage | |
| - name: Build package | |
| run: bun run build:package | |
| - name: Upload coverage to Codecov | |
| uses: codecov/codecov-action@v6 | |
| with: | |
| use_oidc: true | |
| files: ./packages/astro-gravatar/coverage/lcov.info | |
| flags: unittests | |
| name: codecov-umbrella | |
| docs: | |
| name: Docs Build | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v6 | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v6 | |
| with: | |
| node-version: '24' | |
| - name: Setup Bun | |
| uses: oven-sh/setup-bun@v2 | |
| with: | |
| bun-version: latest | |
| - name: Install dependencies | |
| run: bun install --frozen-lockfile | |
| - name: Validate Cloudflare Pages build | |
| run: bun run pages:check | |
| security: | |
| name: Security Scan | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v6 | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v6 | |
| with: | |
| node-version: '24' | |
| - name: Setup Bun | |
| uses: oven-sh/setup-bun@v2 | |
| with: | |
| bun-version: latest | |
| - name: Install dependencies | |
| run: bun install --frozen-lockfile | |
| - name: Run security audit | |
| # Ignore currently unpatched transitive advisories from latest Astro/eslint dependency chains. | |
| run: > | |
| bun audit --audit-level high | |
| --ignore=GHSA-25h7-pfq9-p65f | |
| --ignore=GHSA-rf6f-7fwh-wjgh | |
| --ignore=GHSA-c2c7-rcm5-vvqj | |
| --ignore=GHSA-mw96-cpmx-2vgc | |
| pack-test: | |
| name: Test Package Pack | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v6 | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v6 | |
| with: | |
| node-version: '24' | |
| - name: Setup Bun | |
| uses: oven-sh/setup-bun@v2 | |
| with: | |
| bun-version: latest | |
| - name: Install dependencies | |
| run: bun install --frozen-lockfile | |
| - name: Build package | |
| run: bun run build:package | |
| - name: Test package pack | |
| run: | | |
| cd packages/astro-gravatar | |
| bun pm pack --dry-run | |
| - name: Test version management | |
| run: | | |
| cd packages/astro-gravatar | |
| bun pm pkg get name version | |
| bundle-size: | |
| name: Bundle Size Check | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v6 | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v6 | |
| with: | |
| node-version: '24' | |
| - name: Setup Bun | |
| uses: oven-sh/setup-bun@v2 | |
| with: | |
| bun-version: latest | |
| - name: Install dependencies | |
| run: bun install --frozen-lockfile | |
| - name: Check bundle size | |
| run: | | |
| cd packages/astro-gravatar | |
| # Bundle the main utility (gravatar.ts) which represents core runtime code | |
| bun build src/lib/gravatar.ts --outfile=/tmp/bundle.js --minify | |
| SIZE=$(stat -c%s /tmp/bundle.js) | |
| echo "Bundle size (minified): $SIZE bytes ($(($SIZE / 1024))KB)" | |
| if [ $SIZE -gt 50000 ]; then | |
| echo "Error: Bundle size exceeds 50KB limit" | |
| exit 1 | |
| fi | |
| echo "✅ Bundle size check passed!" |