Skip to content

setup no longer writes a dead MCP_AUTH_TOKEN secret back to the worker #33

setup no longer writes a dead MCP_AUTH_TOKEN secret back to the worker

setup no longer writes a dead MCP_AUTH_TOKEN secret back to the worker #33

Workflow file for this run

name: CI
on:
push:
branches: [main]
pull_request:
branches: [main]
env:
COVERAGE_LINE_THRESHOLD: "0.85"
COVERAGE_FUNC_THRESHOLD: "0.75"
jobs:
typecheck:
name: Typecheck
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- uses: actions/checkout@v4
- uses: oven-sh/setup-bun@v2
with:
bun-version: latest
- name: Install dependencies
run: bun install --frozen-lockfile
- name: Run typecheck
run: bun run typecheck
openapi-drift:
name: OpenAPI drift gate
runs-on: ubuntu-latest
timeout-minutes: 5
steps:
- uses: actions/checkout@v4
- uses: oven-sh/setup-bun@v2
with:
bun-version: latest
- name: Install dependencies
run: bun install --frozen-lockfile
- name: Regenerate openapi.json
run: bun run openapi:gen
- name: Fail if openapi.json drifted
run: git diff --exit-code openapi.json || (echo "openapi.json is out of date — run 'bun run openapi:gen' locally and commit the result" && exit 1)
test:
name: Test + Coverage
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- uses: actions/checkout@v4
- uses: oven-sh/setup-bun@v2
with:
bun-version: latest
- name: Install dependencies
run: bun install --frozen-lockfile
- name: Run tests with coverage
run: bun test --coverage --coverage-reporter=lcov
- name: Check coverage thresholds
run: node scripts/check-coverage.mjs
env:
COVERAGE_LINE_THRESHOLD: ${{ env.COVERAGE_LINE_THRESHOLD }}
COVERAGE_FUNC_THRESHOLD: ${{ env.COVERAGE_FUNC_THRESHOLD }}
LCOV_PATH: coverage/lcov.info
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v4
with:
files: coverage/lcov.info
fail_ci_if_error: false
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
cli-test:
name: CLI Test + Coverage
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- uses: actions/checkout@v4
- uses: oven-sh/setup-bun@v2
with:
bun-version: latest
- name: Install dependencies
run: bun install --frozen-lockfile
- name: Run CLI tests with coverage
working-directory: cli
run: bun test --coverage --coverage-reporter=lcov
- name: Check CLI coverage thresholds
run: node scripts/check-coverage-cli.mjs
env:
CLI_LCOV_PATH: cli/coverage/lcov.info
CLI_COVERAGE_LINE_THRESHOLD: "0.80"
CLI_COVERAGE_FUNC_THRESHOLD: "0.70"
integration:
name: Integration + E2E
runs-on: ubuntu-latest
timeout-minutes: 15
steps:
- uses: actions/checkout@v4
- uses: oven-sh/setup-bun@v2
with:
bun-version: latest
- name: Install dependencies
run: bun install --frozen-lockfile
- name: Build worker bundle (dry-run)
run: bun run test:integration:build
- name: Run integration tests
run: bun run test:integration
- name: Run e2e tests (test/e2e/)
run: bun test --path-ignore-patterns "" test/e2e/