chore: monorepo (#1325)

This commit is contained in:
Dmitry Gozman
2026-01-23 10:37:33 +00:00
committed by GitHub
parent 85c64bbe0f
commit 6aab683338
63 changed files with 2652 additions and 2532 deletions

View File

@@ -16,19 +16,12 @@ jobs:
with:
node-version: '20'
cache: 'npm'
- name: Install dependencies
run: npm ci
- name: Run ESLint
run: npm run lint
- run: npm ci
- run: npm run lint
- name: Ensure no changes
run: git diff --exit-code
- name: Run cli lint
run: |
npm ci
npm run lint
working-directory: ./cli
test:
test_mcp:
strategy:
fail-fast: false
matrix:
@@ -47,8 +40,9 @@ jobs:
run: npx playwright install --with-deps
- name: Run tests
run: npm run test
working-directory: ./packages/playwright-mcp
test_docker:
test_mcp_docker:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
@@ -76,14 +70,12 @@ jobs:
# Used for the Docker tests to share the test-results folder with the container.
umask 0000
npm run test -- --project=chromium-docker
working-directory: ./packages/playwright-mcp
env:
MCP_IN_DOCKER: 1
test_extension:
runs-on: macos-latest
defaults:
run:
working-directory: ./extension
steps:
- uses: actions/checkout@v4
- name: Use Node.js 20
@@ -93,19 +85,17 @@ jobs:
cache: 'npm'
- name: Install dependencies
run: npm ci
- name: Playwright install
run: npx playwright install --with-deps
- name: Build extension
run: npm run build
working-directory: ./packages/extension
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: extension
path: ./extension/dist
retention-days: 7
- name: Install MCP server
run: |
cd ..
npm ci
npx playwright install chromium
- name: Run tests
run: |
if [[ "$(uname)" == "Linux" ]]; then
@@ -114,3 +104,4 @@ jobs:
npm run test
fi
shell: bash
working-directory: ./packages/extension

View File

@@ -7,7 +7,7 @@ on:
types: [published]
jobs:
publish-canary-npm:
publish-mcp-canary-npm:
if: github.event.schedule || github.event_name == 'workflow_dispatch'
runs-on: ubuntu-latest
permissions:
@@ -38,16 +38,19 @@ jobs:
- name: Update package.json version
run: |
npm version ${{ steps.canary-version.outputs.version }} --no-git-tag-version
working-directory: ./packages/playwright-mcp
- run: npm ci
- run: npx playwright install --with-deps
- run: npm run lint
- run: npm run ctest
working-directory: ./packages/playwright-mcp
- name: Publish to npm with next tag
run: npm publish --tag next
working-directory: ./packages/playwright-mcp
publish-release-npm:
publish-mcp-release-npm:
if: github.event_name == 'release'
runs-on: ubuntu-latest
permissions:
@@ -66,9 +69,11 @@ jobs:
- run: npx playwright install --with-deps
- run: npm run lint
- run: npm run ctest
working-directory: ./packages/playwright-mcp
- run: npm publish
working-directory: ./packages/playwright-mcp
publish-release-docker:
publish-mcp-release-docker:
if: github.event_name == 'release'
runs-on: ubuntu-latest
permissions:
@@ -93,8 +98,7 @@ jobs:
id: build-push
uses: docker/build-push-action@v6
with:
context: .
file: ./Dockerfile # Adjust path if your Dockerfile is elsewhere
file: ./Dockerfile
platforms: linux/amd64,linux/arm64
push: true
tags: |
@@ -127,17 +131,16 @@ jobs:
node-version: 20
cache: 'npm'
- name: Install extension dependencies
working-directory: ./extension
run: npm ci
- name: Build extension
working-directory: ./extension
working-directory: ./packages/extension
run: npm run build
- name: Get extension version
id: get-version
working-directory: ./extension
working-directory: ./packages/extension
run: echo "version=$(node -p "require('./package.json').version")" >> $GITHUB_OUTPUT
- name: Package extension
working-directory: ./extension
working-directory: ./packages/extension
run: |
cd dist
zip -r ../playwright-mcp-extension-${{ steps.get-version.outputs.version }}.zip .
@@ -146,4 +149,4 @@ jobs:
env:
GITHUB_TOKEN: ${{ github.token }}
run: |
gh release upload ${{github.event.release.tag_name}} ./extension/playwright-mcp-extension-${{ steps.get-version.outputs.version }}.zip
gh release upload ${{github.event.release.tag_name}} ./packages/extension/playwright-mcp-extension-${{ steps.get-version.outputs.version }}.zip