Skip to content

chore(deps): bump github/codeql-action/init from 4.36.2 to 4.36.3 #400

chore(deps): bump github/codeql-action/init from 4.36.2 to 4.36.3

chore(deps): bump github/codeql-action/init from 4.36.2 to 4.36.3 #400

Workflow file for this run

name: CI
on:
push:
branches: [main, 'feature/**', 'release/**']
pull_request:
branches: [main]
permissions:
contents: read
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
audit:
name: Security Audit
runs-on: ubuntu-latest
steps:
- name: Harden runner
uses: step-security/harden-runner@9af89fc71515a100421586dfdb3dc9c984fbf411 # v2.19.4
with:
egress-policy: audit
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- uses: oven-sh/setup-bun@0c5077e51419868618aeaa5fe8019c62421857d6 # v2.2.0
- name: Cache bun dependencies
uses: actions/cache@2c8a9bd7457de244a408f35966fab2fb45fda9c8 # v6.0.0
with:
path: ~/.bun/install/cache
key: bun-${{ runner.os }}-${{ hashFiles('bun.lock') }}
restore-keys: bun-${{ runner.os }}-
- run: bun install --frozen-lockfile
- name: Audit dependencies
run: bun audit --audit-level=critical
lint:
name: Lint & Format
runs-on: ubuntu-latest
steps:
- name: Harden runner
uses: step-security/harden-runner@9af89fc71515a100421586dfdb3dc9c984fbf411 # v2.19.4
with:
egress-policy: audit
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- uses: oven-sh/setup-bun@0c5077e51419868618aeaa5fe8019c62421857d6 # v2.2.0
- name: Cache bun dependencies
uses: actions/cache@2c8a9bd7457de244a408f35966fab2fb45fda9c8 # v6.0.0
with:
path: ~/.bun/install/cache
key: bun-${{ runner.os }}-${{ hashFiles('bun.lock') }}
restore-keys: bun-${{ runner.os }}-
- run: bun install --frozen-lockfile
- run: bun run lint
build:
name: Build & Typecheck
runs-on: ubuntu-latest
steps:
- name: Harden runner
uses: step-security/harden-runner@9af89fc71515a100421586dfdb3dc9c984fbf411 # v2.19.4
with:
egress-policy: audit
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- uses: oven-sh/setup-bun@0c5077e51419868618aeaa5fe8019c62421857d6 # v2.2.0
- name: Cache bun dependencies
uses: actions/cache@2c8a9bd7457de244a408f35966fab2fb45fda9c8 # v6.0.0
with:
path: ~/.bun/install/cache
key: bun-${{ runner.os }}-${{ hashFiles('bun.lock') }}
restore-keys: bun-${{ runner.os }}-
- run: bun install --frozen-lockfile
- name: Build all packages
run: bun run pkgs:build
- name: Type Check
run: bun run typecheck
- name: Bundle size report
run: |
echo "## Bundle Sizes" >> "$GITHUB_STEP_SUMMARY"
echo "" >> "$GITHUB_STEP_SUMMARY"
echo "| Package | Size |" >> "$GITHUB_STEP_SUMMARY"
echo "| --- | --- |" >> "$GITHUB_STEP_SUMMARY"
total=0
for dir in packages/*/lib; do
pkg=$(echo "$dir" | sed 's|packages/\(.*\)/lib|\1|')
size=$(du -sb "$dir" 2>/dev/null | cut -f1)
if [ -n "$size" ]; then
total=$((total + size))
human=$(numfmt --to=iec --suffix=B "$size")
echo "| $pkg | $human |" >> "$GITHUB_STEP_SUMMARY"
fi
done
human_total=$(numfmt --to=iec --suffix=B "$total")
echo "| **Total** | **$human_total** |" >> "$GITHUB_STEP_SUMMARY"
- name: Upload build output
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
with:
name: build-output
path: packages/*/lib
retention-days: 1
test:
name: Test (${{ matrix.runtime }}${{ matrix.runtime == 'node' && format(' {0}', matrix.node-version) || '' }})
needs: build
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
include:
- runtime: bun
- runtime: node
node-version: 22
- runtime: node
node-version: 24
steps:
- name: Harden runner
uses: step-security/harden-runner@9af89fc71515a100421586dfdb3dc9c984fbf411 # v2.19.4
with:
egress-policy: audit
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
if: matrix.runtime == 'node'
with:
node-version: ${{ matrix.node-version }}
- uses: oven-sh/setup-bun@0c5077e51419868618aeaa5fe8019c62421857d6 # v2.2.0
- name: Cache bun dependencies
uses: actions/cache@2c8a9bd7457de244a408f35966fab2fb45fda9c8 # v6.0.0
with:
path: ~/.bun/install/cache
key: bun-${{ runner.os }}-${{ hashFiles('bun.lock') }}
restore-keys: bun-${{ runner.os }}-
- run: bun install --frozen-lockfile
- name: Download build output
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
with:
name: build-output
path: packages
- name: Run tests with coverage (bun)
if: matrix.runtime == 'bun'
run: bun run test:coverage
- name: Run tests with coverage (node)
if: matrix.runtime == 'node'
run: npx vitest run --coverage
- name: Upload coverage
if: always() && matrix.runtime == 'bun'
uses: codecov/codecov-action@fb8b3582c8e4def4969c97caa2f19720cb33a72f # v7.0.0
with:
files: ./coverage/coverage-final.json
fail_ci_if_error: false