Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 0 additions & 19 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,25 +15,6 @@ permissions:
contents: read

jobs:
changes:
name: Detect changed paths
runs-on: ubuntu-latest
outputs:
web: ${{ steps.filter.outputs.web }}
mcp_gateway: ${{ steps.filter.outputs.mcp_gateway }}
packages: ${{ steps.filter.outputs.packages }}
ci: ${{ steps.filter.outputs.ci }}
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Detect changed paths
id: filter
env:
GITHUB_EVENT_PULL_REQUEST_BASE_SHA: ${{ github.event.pull_request.base.sha }}
run: bash scripts/ci-detect-changes.sh

ci:
name: Test and build
runs-on: macos-latest
Expand Down
2 changes: 1 addition & 1 deletion AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
- The repository is organized as a Stygian-style Bun/Turbo monorepo: `apps/web` for the Next.js dashboard, `services/mcp-gateway` for the Swift/Vapor backend, and `packages/*` for shared contracts/types.
- Backend code lives under `services/mcp-gateway/Sources/App`; stale references to `Sources/MyContextProtocol`, `services/backend`, or `services/frontend` should be corrected when touched.
- Development and production run on Railway with isolated Web, Gateway, and Postgres environments. The former Fly, Supabase, and Vercel production resources were permanently removed after the Railway cutover.
- CI is designed to run on GitHub Actions through `.github/workflows/ci.yml`, `scripts/ci.sh`, and `scripts/ci-detect-changes.sh`; Depot workflows are legacy and should not be reintroduced.
- CI is designed to run on GitHub Actions through `.github/workflows/ci.yml` and `scripts/ci.sh`; Depot workflows are legacy and should not be reintroduced.
- Railway deploys through its GitHub integration (`dev` → Development, `main` → Production, Wait for CI on); do not reintroduce Actions deploy jobs or `railway up` deploy scripts.
- The frontend was merged into this repository by git subtree from the archived `Stygian-Tech/my-context-protocol-frontend` history.
- `mcp-server-kit` is the canonical external Swift package for reusable MCP protocol primitives. Local two-repo development may use a sibling checkout; GitHub Actions and Railway remote builds require a published Git revision.
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ GitHub Actions is the source of truth for CI. The single workflow at `.github/wo
bash scripts/ci.sh
```

The workflow detects changes with `scripts/ci-detect-changes.sh`, runs the Bun/Turbo workspace checks, and runs Swift tests/builds for `services/mcp-gateway`. Railway's GitHub integration deploys `dev` to Development and `main` to Production once those checks pass.
The workflow runs the Bun/Turbo workspace checks and the Swift tests/builds for `services/mcp-gateway`. Railway's GitHub integration deploys `dev` to Development and `main` to Production once those checks pass.

### Deployment

Expand Down
2 changes: 1 addition & 1 deletion docs/test-plans/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,4 +11,4 @@
| Development deployment | Merge to `dev` | Railway GitHub integration deploys `dev` after CI passes |
| Production deployment | Merge `dev` into `main` | Railway GitHub integration deploys `main` after CI passes |

CI uses `scripts/ci-detect-changes.sh` for path detection and `scripts/ci.sh` as the shared local/GitHub entrypoint.
CI uses `scripts/ci.sh` as the shared local/GitHub entrypoint.
4 changes: 4 additions & 0 deletions railway/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,10 @@ railway config apply

Repeat with `--environment production` after the Development change is verified.

`railway config plan` always lists `sleepApplication: null → false` for Gateway and Web in both
environments. Railway reports the field as unset rather than `false` once serverless is off, so the
declared value never matches and the line is expected noise, not a pending change.

Keep each repository-backed service root directory at `/`. The Gateway Dockerfile is intentionally
located at the repository root because Railway builds it from the monorepo root. Set Gateway
database fields to the corresponding `${{Postgres.PG*}}` reference variables so runtime traffic
Expand Down
92 changes: 0 additions & 92 deletions scripts/ci-detect-changes.sh

This file was deleted.

3 changes: 3 additions & 0 deletions services/mcp-gateway/Tests/AppTests/McpToolNamingTests.swift
Original file line number Diff line number Diff line change
Expand Up @@ -909,6 +909,9 @@ private func withMcpToolNamingApp(
let (apply, restore) = mcpToolNamingTemporaryEnv([
"USE_SQLITE": "1",
"USE_MEMORY_SESSIONS": "1",
// The retention scheduler prunes once at boot; its deletes race this suite's inserts and
// lock the shared in-memory SQLite database.
"DISABLE_SKILL_USAGE_RETENTION_SCHEDULER": "1",
"MCP_OAUTH_ENABLED": "0",
"FRONTEND_URL": "http://localhost:3000",
"DATABASE_URL": nil,
Expand Down
Loading