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
30 changes: 11 additions & 19 deletions CONTRIBUTING.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -33,25 +33,18 @@ cargo check
cargo test
----

==== Workspace caveat — `+gitbot-shared-context+`
==== Build from a bare clone

echidnabot’s `+Cargo.toml+` carries a *path dependency* on
`+gitbot-shared-context+` that assumes the
https://github.com/hyperpolymath/gitbot-fleet[gitbot-fleet] monorepo
layout (sibling directory `+../../shared-context+`). Building from a
bare clone of `+echidnabot+` alone therefore fails at the
dependency-resolution step. This is *acknowledged tech debt* — see issue
https://github.com/hyperpolymath/echidnabot/issues/18[#18]. Until that
is resolved, contributors who want a building tree should either:
`+Cargo.toml+` takes `+gitbot-shared-context+` as a git dependency, pinned
by its full commit hash (`+rev+`), as it takes `+echidna-core+`. A bare
clone of `+echidnabot+` builds, and its tests run, with the toolchain of
`+rust-toolchain.toml+`. No
https://github.com/hyperpolymath/gitbot-fleet[`+gitbot-fleet+`] checkout
is necessary.

[arabic]
. Clone the parent
https://github.com/hyperpolymath/gitbot-fleet[`+gitbot-fleet+`] and work
from `+gitbot-fleet/bots/echidnabot/+`, *or*
. Provide a local checkout of `+shared-context+` at
`+../../shared-context+` relative to this clone, *or*
. Limit your changes to *documentation* (which is what this PR-class
covers — no build required).
An earlier version of this section said that the dependency was a path
dependency at `+../../shared-context+` and that a bare clone failed. That
is not true any more.

'''''

Expand Down Expand Up @@ -174,8 +167,7 @@ Before opening a PR:

* [ ] `+cargo fmt --check+` is clean
* [ ] `+cargo clippy --all-targets -- -D warnings+` is clean
* [ ] `+cargo test+` passes (caveat: requires gitbot-fleet layout — see
above)
* [ ] `+cargo test+` passes
* [ ] New behaviour has tests (unit + integration where appropriate)
* [ ] Docs updated when touching public surface (README / wiki / CLI
help)
Expand Down
2 changes: 1 addition & 1 deletion README.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ failures, auto-resets after 5 minutes.

[source,bash]
----
# Build (requires gitbot-fleet layout — see CONTRIBUTING.md)
# Build (a bare clone builds; see CONTRIBUTING.adoc)
cargo build --release

# Initialise database
Expand Down
9 changes: 3 additions & 6 deletions RSR_COMPLIANCE.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -120,10 +120,6 @@ packaging primary going forward.
|echidnabot is registered as a submodule in `hyperpolymath/echidna` but
checked in as regular files. Acknowledged drift; fix path tracked in
`STATE.a2ml` `[known-drift]`.

|`Cargo.toml` path dep on `../../shared-context`
|Standalone-clone builds fail at dep resolution. Acknowledged; tracked
in issue #18. Working build requires the gitbot-fleet layout.
|===

== Outstanding Action Items
Expand All @@ -132,8 +128,9 @@ packaging primary going forward.
the work landing.)

* [ ] Generate SPDX SBOM at release time and attach to GitHub Release
* [ ] Resolve `gitbot-shared-context` path dependency for standalone
buildability (issue #18)
* [x] Resolve `gitbot-shared-context` path dependency for standalone
buildability. Done: `Cargo.toml` takes it as a git dependency with a
`rev` pin, and a bare clone builds.
* [ ] Realise the Zig FFI scaffold (replace `echidnabot` template
placeholders in `ffi/zig/`; see link:ABI-FFI-README.md[ABI-FFI-README.md]
"Current Status")
Expand Down
Loading