feat: migrate MCP runtime to TypeScript

This commit is contained in:
nac
2026-08-15 05:02:28 +00:00
parent 7eb416ded1
commit 27672a0940
83 changed files with 6559 additions and 12057 deletions
+13 -21
View File
@@ -14,27 +14,19 @@ jobs:
timeout-minutes: 10
steps:
- uses: actions/checkout@v4
- uses: astral-sh/setup-uv@v6
- uses: actions/setup-node@v4
with:
version: "0.8.8"
enable-cache: true
- name: Set up Python
run: uv python install 3.12
- name: Verify lockfile
run: uv lock --check
node-version: "20.19.5"
cache: npm
- name: Install locked dependencies
run: uv sync --locked --group dev --python 3.12
- name: Lint and formatting
run: |
uv run ruff check nocobase_crm_mcp scripts tests
uv run ruff format --check nocobase_crm_mcp scripts tests
- name: Type check
run: uv run mypy
- name: Compile package
run: uv run --python 3.12 python -m compileall -q nocobase_crm_mcp scripts
run: npm ci
- name: Lint, format, and type check
run: npm run check
- name: Run tests
run: uv run --python 3.12 python -m unittest discover -s tests -v
- name: Build distribution
run: uv build
- name: Audit dependencies
run: uv run pip-audit
run: npm test
- name: Build bundled distribution
run: npm run build
- name: Verify package contents
run: npm pack --dry-run
- name: Audit bundled dependency graph
run: npm audit --audit-level=high
+39
View File
@@ -0,0 +1,39 @@
name: Release
on:
push:
tags: ["v*"]
permissions:
contents: write
jobs:
release:
runs-on: ubuntu-latest
timeout-minutes: 15
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: "20.19.5"
cache: npm
- run: npm ci
- name: Verify release version
run: node scripts/verify-release-version.mjs "$GITHUB_REF_NAME"
- run: npm run check
- run: npm test
- run: npm audit --audit-level=high
- run: npm run build
- name: Pack release and checksums
run: |
mkdir -p release
npm pack --pack-destination release
cd release
sha256sum ./*.tgz > SHA256SUMS
- name: Publish private GitHub Release assets
uses: softprops/action-gh-release@v2
with:
files: |
release/*.tgz
release/SHA256SUMS
generate_release_notes: true