Repository navigation
chore(repo): remove the dead self-host Docker path, fix CI path filters and repo scripts - #2446
Conversation
…rs and repo scripts Docker - docker-compose.yml keeps only postgres and electric (what `bun db:up` starts). The api, web, ingest, alerting, scraper and otel-collector services could not start: the API is a Worker with no `start` script, apps/alerting has no Dockerfile, and the ingest build context was wrong. - Delete apps/api/Dockerfile, apps/web/Dockerfile and apps/web/nginx.conf, and the root `docker:build` / `docker:up` scripts. Drop the README "Docker (Local)" section. Docs - README and CONTRIBUTING no longer describe an embedded PGlite path for local entrypoints (nothing implements it). PR previews are described as Neon branches. - CONTRIBUTING: chat and triage run in apps/ai; the model overrides are MAPLE_TRIAGE_MODEL_OPENROUTER and MAPLE_TRIAGE_MODEL_WORKERS_AI. - apps/ios/README.md: five tabs, and the push code lives in packages/backend. - apps/landing/README.md replaces the Astro starter template. CI - `ts` filter: patterns are OR-ed, so the negated '!apps/ingest/**' and '!apps/ios/**' matched every file outside those paths and the filter was always true. Use the positive extglob 'apps/!(ingest|ios)/**' instead, and list the root files the TypeScript jobs read (knip.json, bunfig.toml, patches/**, the generated ingest insert mappings). - `cli` filter: the workspace closure of apps/cli and apps/local-ui is 21 packages and 6 libs, so list packages/** and lib/** whole, as `workers` does. - shellcheck lints by the same globs as the `shell` filter instead of a hand-kept list. Scripts - install.sh stages the bundle beside the targets and renames it into place: `cp` over a running binary fails with "Text file busy" on Linux. - uninstall.sh names everything it leaves under ~/.maple. - build-local-binary.sh runs from the repo root, so it works from any directory. - Delete package-charts.sh and bench-cold-queries.sh (no references). - generate-ios-openapi.ts drops getSpan and getLog, which no Swift code calls; the spec is regenerated. Dependencies - apps/landing drops the unused direct @astrojs/markdown-satteri dependency and generate-og.mjs imports playwright from its own workspace. - packages/email lists effect and @maple/strings as runtime dependencies.
|
Warning Review limit reachedYou've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Next included review available in 58 seconds. View limit details
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
The positive app pattern drops apps/ingest whole, but its alchemy.run.ts is typechecked by the alchemy program, and its package.json is a workspace manifest the install reads.
This comment has been minimized.
This comment has been minimized.
|
On the two review findings:
|
This comment has been minimized.
This comment has been minimized.
|
@maple-review-bot won't fix F1. The comment is correct for the matcher the pinned action bundles: against picomatch 2.3.2 and 4.0.7, |
|
Checked F1 — you're right, dismissing it. picomatch does not compile a negative extglob the way bash does. For F2 — confirmed fixed at head. Line 82 is |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
The generator's allowlist lost them in this PR because no Swift file calls them; the domain test keeps its own copy of the list and still expected them.
|
A CI failure traced back to this PR and is fixed in the latest push: removing |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
Maple review🟢 Confidence 9/10 · safe to merge. CI-config and infra deletions only, no runtime path changed; the enlarged shellcheck globs could not be run in the sandbox. Removes the non-functional self-host Docker Compose path, turns the CI
Before merge
|
|
Merged with 2 steps from "Before merge" still open. If they are done, tick them on the review comment; if not, now is the time.
|
Stacked on #2445. Part of the audit stack that starts at #2434.
The self-host Docker Compose stack is removed
It could not start, and has not been able to since the API became a Worker:
apps/api/Dockerfileran astartscript that does not exist,apps/alerting/Dockerfilewas missing, the ingest service used the wrong build context, and two services waited on the API healthcheck. This removes the dead path instead of repairing it:docker-compose.ymlkeepspostgresandelectric, whichbun db:upstarts.apps/api/Dockerfile,apps/web/Dockerfile,apps/web/nginx.conf, the rootdocker:buildanddocker:upscripts, and the README "Docker (Local)" section.otel/, and the development compose file. The deploy and local dev use them.If anyone still relies on
docker compose upfor self-hosting, this is the PR to stop.CI
tspath filter was always true. The filter action ORs its patterns, so'!apps/ingest/**'matched every file outside that path. Every change, including docs-only ones, ran the TypeScript and test jobs. It is now a positive pattern,apps/!(ingest|ios)/**. Docs-only andotel/-only PRs will skip those jobs for the first time, so the paths the jobs read but the filter never listed were added:knip.json,bunfig.toml,patches/**, the generated ClickHouse insert mappings, every app'salchemy.run.tsand ingest'spackage.json. The pattern excludes by prefix, so a future app namedingest*orios*needs its own line.clifilter missed most of its dependency closure.apps/cliandapps/local-uidepend on 21 packages and 6 libs; the filter listed 9. A change to, say,packages/web-dataskipped the only job that builds the native bundle. It now listspackages/**andlib/**.shellfilter triggers on, which adds eight scripts. One real finding in a chart publish script is fixed.Scripts
install.shcopied over a running binary, which fails with "Text file busy" on Linux. It stages beside the target and renames, as the updater does.build-local-binary.shonly worked from the repo root.uninstall.shnow names everything it leaves behind.Smaller
packages/emaillisted two runtime imports as dev dependencies. The landing app drops an unused dependency, and its starter-template README is replaced.Verification
install.shwere run against a fake bundle: the old one keeps the inode (in-place overwrite), the new one swaps it.README.md,docs/infra.mdandapps/ingest/src/main.rsall matched. With the new pattern they do not, and every other app still does.ios:openapi:checkpasses. The email tests (27) and the CLI test that readsinstall.sh(23) pass.Left for a decision
apps/cli/test/native-maintenance-sigint-probe.shis run by nothing. It is linted now; wiring it into the native checkpoint job is a separate call.otel/anddeploy/k8s-infra/) have drifted, andotel/railway.jsonmay be unused.@latest.