This commit is contained in:
Minoru Mizutani 2025-04-29 16:34:28 +09:00
parent 7eaee6f091
commit 91ff0e5a3e
No known key found for this signature in database
2 changed files with 133 additions and 0 deletions

131
.github/workflows/ci.yml vendored Normal file
View file

@ -0,0 +1,131 @@
name: CI
on:
push:
branches: [main]
paths:
- '**/*'
- '!**/*.md'
- '!.github/**'
- '.github/workflows/ci.yml'
pull_request:
branches: [main]
paths:
- '**/*'
- '!**/*.md'
- '!.github/**'
- '.github/workflows/ci.yml'
permissions:
contents: read
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: false
jobs:
format:
runs-on: ubuntu-24.04-arm
steps:
- name: Setup repo
uses: actions/checkout@v4
- name: Setup Deno
uses: denoland/setup-deno@v1
with:
deno-version: v1.x
- name: Cache Deno dependencies
uses: actions/cache@v4
with:
path: |
~/.deno
~/.cache/deno
key: ${{ runner.os }}-deno-${{ hashFiles('deno.lock') }}
restore-keys: |
${{ runner.os }}-deno-
- name: Verify formatting
run: deno fmt src/ tests/ --check
lint:
runs-on: ubuntu-24.04-arm
steps:
- name: Setup repo
uses: actions/checkout@v4
- name: Setup Deno
uses: denoland/setup-deno@v1
with:
deno-version: v1.x
- name: Cache Deno dependencies
uses: actions/cache@v4
with:
path: |
~/.deno
~/.cache/deno
key: ${{ runner.os }}-deno-${{ hashFiles('deno.lock') }}
restore-keys: |
${{ runner.os }}-deno-
- name: Run linter
run: deno lint
typecheck:
runs-on: ubuntu-24.04-arm
steps:
- name: Setup repo
uses: actions/checkout@v4
- name: Setup Deno
uses: denoland/setup-deno@v1
with:
deno-version: v1.x
- name: Cache Deno dependencies
uses: actions/cache@v4
with:
path: |
~/.deno
~/.cache/deno
key: ${{ runner.os }}-deno-${{ hashFiles('deno.lock') }}
restore-keys: |
${{ runner.os }}-deno-
- name: Run type check
run: deno check src/**/*.ts tests/**/*.ts
test:
runs-on: ubuntu-24.04-arm
steps:
- name: Setup repo
uses: actions/checkout@v4
- name: Setup Deno
uses: denoland/setup-deno@v1
with:
deno-version: v1.x
- name: Cache Deno dependencies
uses: actions/cache@v4
with:
path: |
~/.deno
~/.cache/deno
key: ${{ runner.os }}-deno-${{ hashFiles('deno.lock') }}
restore-keys: |
${{ runner.os }}-deno-
- name: Run tests
run: deno task test
- name: Generate coverage
run: deno coverage coverage --exclude="node_modules/"
- name: Upload coverage reports
uses: codecov/codecov-action@v4
with:
directory: ./coverage/
fail_ci_if_error: false
token: ${{ secrets.CODECOV_TOKEN }}

View file

@ -18,6 +18,8 @@
"proxy:watch": "deno run --watch --allow-env --allow-read --allow-sys=homedir --allow-run=open --allow-write=\"$HOME/.mcp-auth/mcp-remote-deno-0.0.1\" --allow-net=0.0.0.0,127.0.0.1,localhost src/proxy.ts",
"client:start": "deno run --allow-env --allow-read --allow-sys=homedir --allow-run=open --allow-write=\"$HOME/.mcp-auth/mcp-remote-deno-0.0.1\" --allow-net=0.0.0.0,127.0.0.1,localhost src/client.ts",
"client:watch": "deno run --watch --allow-env --allow-read --allow-sys=homedir --allow-run=open --allow-write=\"$HOME/.mcp-auth/mcp-remote-deno-0.0.1\" --allow-net=0.0.0.0,127.0.0.1,localhost src/client.ts",
"check": "deno check src/**/*.ts tests/**/*.ts",
"fmt": "deno fmt src/ tests/",
"test": "deno test --allow-net=0.0.0.0,127.0.0.1,localhost --allow-env --allow-read --allow-sys=homedir tests/",
"test:watch": "deno test --watch --allow-net=0.0.0.0,127.0.0.1,localhost --allow-env --allow-read --allow-sys=homedir tests/",
"test:coverage": "deno test --coverage=coverage --allow-net=0.0.0.0,127.0.0.1,localhost --allow-env --allow-read --allow-sys=homedir tests/ && deno coverage coverage"