diff --git a/.github/workflows/deploy-mcp-on-merge.yml b/.github/workflows/deploy-mcp-on-merge.yml index da1c7ef..188ba10 100644 --- a/.github/workflows/deploy-mcp-on-merge.yml +++ b/.github/workflows/deploy-mcp-on-merge.yml @@ -6,10 +6,35 @@ on: - master # Trigger only on pushes to the master branch jobs: - deploy: - name: Deploy MCP Server - uses: ./.github/workflows/deploy-mcp-server.yml - # Pass secrets explicitly to the called workflow's 'secrets' input - secrets: - CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }} - CLOUDFLARE_ACCOUNT_ID: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }} \ No newline at end of file + deploy-mcp-worker: + name: Deploy Worker (mcp-server) + runs-on: ubuntu-latest + environment: production + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + # We need Node.js to generate rules and run wrangler/npm + - name: Set up Node.js + uses: actions/setup-node@v4 + with: + node-version-file: '.nvmrc' # Assuming .nvmrc is in the root + cache: 'npm' + cache-dependency-path: '**/package-lock.json' # Cache npm deps for root and worker + + - name: Install root dependencies + run: npm ci + + - name: Generate preparedRules.json + run: npm run generate-rules # Assuming direct execution works + + - name: Install worker dependencies + run: cd mcp-server && npm ci + + - name: Deploy Worker (mcp-server) + uses: cloudflare/wrangler-action@v3 + with: + apiToken: ${{ secrets.CLOUDFLARE_WORKER_TOKEN }} + accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }} + workingDirectory: "./mcp-server" + command: deploy \ No newline at end of file diff --git a/.github/workflows/deploy-mcp-server.yml b/.github/workflows/deploy-mcp-server.yml deleted file mode 100644 index 0d7d3db..0000000 --- a/.github/workflows/deploy-mcp-server.yml +++ /dev/null @@ -1,40 +0,0 @@ -name: Deploy MCP Server Worker - -on: - workflow_call: - secrets: - CLOUDFLARE_API_TOKEN: - required: true - CLOUDFLARE_ACCOUNT_ID: - required: true - -jobs: - deploy-worker: - name: Deploy Worker (mcp-server) - runs-on: ubuntu-latest - steps: - - name: Checkout repository - uses: actions/checkout@v4 - - # We need Node.js to generate rules and run wrangler/npm - - name: Set up Node.js - uses: actions/setup-node@v4 - with: - node-version-file: '.nvmrc' # Assuming .nvmrc is in the root - cache: 'npm' - cache-dependency-path: '**/package-lock.json' # Cache npm deps for root and worker - - - name: Install root dependencies - run: npm ci - - - name: Generate preparedRules.json - run: npm run generate-rules # Assuming direct execution works - - - name: Install worker dependencies - run: cd mcp-server && npm ci - - - name: Deploy Worker (mcp-server) - env: - CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }} - CLOUDFLARE_ACCOUNT_ID: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }} - run: cd mcp-server && npx wrangler deploy --account-id ${{ secrets.CLOUDFLARE_ACCOUNT_ID }} # Assumes wrangler.jsonc is configured \ No newline at end of file diff --git a/.github/workflows/master.yml b/.github/workflows/master.yml index 842b878..7f1c52b 100644 --- a/.github/workflows/master.yml +++ b/.github/workflows/master.yml @@ -86,18 +86,34 @@ jobs: command: pages deploy dist --project-name='ai-rules-builder' # Use the command input gitHubToken: ${{ secrets.GITHUB_TOKEN }} # Optional: Adds commit details to deployments - deploy-worker: - name: Deploy Worker - needs: deploy # Run after successful pages deployment + deploy-mcp-worker: + name: Deploy Worker (mcp-server) runs-on: ubuntu-latest - permissions: - contents: read # Needed to checkout the repository steps: - name: Checkout repository uses: actions/checkout@v4 - - name: Call Deploy Worker Workflow - uses: ./.github/workflows/deploy-mcp-server.yml + # We need Node.js to generate rules and run wrangler/npm + - name: Set up Node.js + uses: actions/setup-node@v4 + with: + node-version-file: '.nvmrc' # Assuming .nvmrc is in the root + cache: 'npm' + cache-dependency-path: '**/package-lock.json' # Cache npm deps for root and worker + + - name: Install root dependencies + run: npm ci + + - name: Generate preparedRules.json + run: npm run generate-rules # Assuming direct execution works + + - name: Install worker dependencies + run: cd mcp-server && npm ci + + - name: Deploy Worker (mcp-server) + uses: cloudflare/wrangler-action@v3 with: - CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }} - CLOUDFLARE_ACCOUNT_ID: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }} + apiToken: ${{ secrets.CLOUDFLARE_WORKER_TOKEN }} + accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }} + workingDirectory: "./mcp-server" + command: deploy diff --git a/.github/workflows/pull-request.yml b/.github/workflows/pull-request.yml index 9a7b4bf..689493f 100644 --- a/.github/workflows/pull-request.yml +++ b/.github/workflows/pull-request.yml @@ -163,3 +163,27 @@ jobs: `- E2E Tests: ${e2eStatus}\n\n` + `Please check the workflow logs for details.` }); + + deploy-mcp-worker: + name: Deploy Worker (mcp-server) + runs-on: ubuntu-latest + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + # We need Node.js to generate rules and run wrangler/npm + - name: Set up Node.js + uses: actions/setup-node@v4 + with: + node-version-file: '.nvmrc' # Assuming .nvmrc is in the root + cache: 'npm' + cache-dependency-path: '**/package-lock.json' # Cache npm deps for root and worker + + - name: Install root dependencies + run: npm ci + + - name: Generate preparedRules.json + run: npm run generate-rules # Assuming direct execution works + + - name: Install worker dependencies + run: cd mcp-server && npm ci diff --git a/mcp-server/README.md b/mcp-server/README.md index 3ef7f68..a610871 100644 --- a/mcp-server/README.md +++ b/mcp-server/README.md @@ -1,4 +1,4 @@ -# remote-mcp-server-authless +# 10x Rules MCP Server ## 1. Project Description diff --git a/mcp-server/package.json b/mcp-server/package.json index 363f0f0..055c0f3 100644 --- a/mcp-server/package.json +++ b/mcp-server/package.json @@ -1,6 +1,6 @@ { - "name": "remote-mcp-server-authless", - "version": "0.0.0", + "name": "10x-rules-mcp-server", + "version": "0.0.1", "private": true, "scripts": { "deploy": "wrangler deploy",