Commit e9b2cd3
fix(build): resolve standalone; stop the release path hanging (#109)
Closes the blocker behind three red workflows, and removes a hang
sitting in the release path. Two independent faults, both measured.
## 1. echidnabot could not build standalone (issue #18)
`Cargo.toml` carried `gitbot-shared-context = { path =
"../../shared-context" }`, which resolves only inside the `gitbot-fleet`
monorepo layout. CI checks out this repo alone, so it died at dependency
resolution:
```
error: failed to get `gitbot-shared-context` as a dependency of package `echidnabot v0.1.0`
failed to read `/home/runner/work/shared-context/Cargo.toml`
No such file or directory (os error 2)
```
That single line is why **`db-checks`, `cargo-audit` and `Rust CI` were
all red**.
`hyperpolymath/gitbot-fleet` is public and contains `shared-context/`
with package `gitbot-shared-context` v0.1.0, so the dependency now
points there, pinned to a rev. Cargo locates a package in a repo
subdirectory automatically, so this works from a bare clone **and** from
the monorepo.
Fleet developers who want their local working copy can add a `[patch]`
entry or a `.cargo/config.toml` `paths` override — the ergonomics are
preserved without the repo being unbuildable for everyone else.
**Maintenance note:** Dependabot does not bump rev-pinned git
dependencies, so the rev needs occasional manual attention. That seemed
a fair trade against a crate that cannot build.
### Why this rather than checking out both repos in CI
Asserting the monorepo layout (two checkouts plus a `cargo metadata`
assertion) also works, and the assertion is worth keeping wherever the
layout genuinely *is* assumed — it fails fast with a legible message.
But as the fix it means every workflow and every future consumer repeats
the dance, and **a standalone clone still cannot build**, which is the
actual complaint in #18. This removes the constraint instead of
asserting it.
## 2. `cargo test --lib` hangs, in the release path
`publish.yml` ran a bare `cargo test --lib` — measured hanging **past 20
minutes (exit 124)** — behind only a 15-minute job timeout.
Suites are now named explicitly (`integration_tests`, `lifecycle`,
`property_tests`, `seam_test`, `smoke`), and the resulting gap is
**declared in the step summary on every run**:
> **Excluded: `cargo test --lib` (crate unit tests).** Measured hanging
>20 min (exit 124)…
An exclusion nobody can see is indistinguishable from coverage, so it is
restated every run rather than silently dropped.
## 3. Housekeeping
Deletes `instant-sync.yml` and `push-email-notify.yml`. Both were
`disabled_manually`; a disabled workflow file still reads as "we have
this gate", so removing them is more honest than leaving them dark.
## Verification
- **`cargo fetch` exits 0** — resolves the whole dependency graph. This
is precisely the operation that previously failed, so it is the direct
proof.
- `cargo metadata` parses; `publish.yml` strict-parses as YAML.
- `cargo check --all-targets` run locally against the new manifest.
Expected effect once merged: `db-checks`, `cargo-audit` and `Rust CI` go
green together — and `db-checks`, which had **never run** before the
previous PR, finally gates for real.
---------
Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
Co-authored-by: Mistral Vibe <vibe@mistral.ai>1 parent bbf8ab6 commit e9b2cd3
50 files changed
Lines changed: 1430 additions & 902 deletions
File tree
- .cargo
- .github/workflows
- benches
- src
- adapters
- api
- dispatcher
- executor
- feedback
- fleet
- modes
- scheduler
- store
- trust
- tests
- fixtures/manifest
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
16 | 16 | | |
17 | 17 | | |
18 | 18 | | |
19 | | - | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
20 | 24 | | |
21 | 25 | | |
22 | 26 | | |
| |||
This file was deleted.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
44 | 44 | | |
45 | 45 | | |
46 | 46 | | |
47 | | - | |
48 | | - | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
49 | 72 | | |
50 | 73 | | |
51 | 74 | | |
| |||
This file was deleted.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
12 | 12 | | |
13 | 13 | | |
14 | 14 | | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
0 commit comments