From f00ad0d92b94d496fa80d3c8cd9591622e69507d Mon Sep 17 00:00:00 2001 From: Ben Marx Date: Tue, 1 Sep 2026 15:15:21 -0700 Subject: [PATCH 1/3] docs: stop pointing contributors at the repositories being archived Step 6 of the monorepo migration, the part that lives in this repository. Archiving `doublezero-offchain` and `doublezero-solana` is a separate action on those repositories. `offchain/CONTRIBUTING.md` told contributors to fork `doublezero-offchain` and to open pull requests and issues against it. Both stop being true the moment that repository is archived. The rest of the file repeated what the root README already says, so the file goes and the one thing the root lacked, the code of conduct, moves there. DEVELOPMENT gains a short section on the two imported trees. The offchain crates are ordinary workspace members and the Quickstart targets cover them. The Solana L1 programs and the Elixir scheduler are not covered by anything at the root, and until now nothing said so. --- CHANGELOG.md | 2 ++ DEVELOPMENT.md | 19 +++++++++++++++++++ README.md | 4 ++++ offchain/CONTRIBUTING.md | 23 ----------------------- 4 files changed, 25 insertions(+), 23 deletions(-) delete mode 100644 offchain/CONTRIBUTING.md diff --git a/CHANGELOG.md b/CHANGELOG.md index 2fa89368cc..2a29be997d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -45,6 +45,8 @@ All notable changes to this project will be documented in this file. - `smartcontract`'s `test-sbf` target runs from each program's directory, the way `build-programs` already does, instead of once from `smartcontract/`. An unscoped `cargo test-sbf` resolves the whole workspace against the platform-tools rustc, which reports itself as 1.89.0-dev, and the workspace now carries crates declaring a higher minimum: `aws-sdk-s3` at 1.94.1 and `rustler` at 1.91, both reached through the offchain crates and neither in any program's dependency graph. Serviceability runs before telemetry, whose test helper loads the serviceability `.so` from `target/deploy`. - `smartcontract`'s `test-sbf` target names its four program packages instead of running unscoped. An unscoped `cargo test-sbf` resolves the whole workspace against the platform-tools rustc (1.89.0-dev), and the workspace now carries crates declaring a higher minimum, `aws-sdk-s3` at 1.94.1 and `rustler` at 1.91, both reached through the offchain crates. Neither is in any program's dependency graph. The sibling `test-programs` and `lint-programs` targets were already package-scoped, which is why only this one failed. - The imported `offchain/` tree catches up with the three pull requests that landed in `doublezero-offchain` after the import point: `doublezero-solana shreds pay` is removed (`withdraw`, `list`, `payments` and `price` stay), the fund-seat instruction is removed from the offchain Solana SDK while `shreds payments` keeps reading leftover fund-seat transactions, and the solana-cli crate moves to 0.5.12. Author, date and message come across unchanged, with the pull request references named the way the import named its own. `solana/` needed no sync: its upstream tip is the imported tip. + - `offchain/CONTRIBUTING.md` is removed and its code of conduct moves to the root README. It told contributors to fork `doublezero-offchain` and open pull requests and issues there, which stops being true when that repository is archived, and the rest of it duplicated the root's contributing guidance. + - DEVELOPMENT gains a section on the two imported trees, naming the parts the root `make` targets do not cover: the Solana L1 programs, which keep their own workspace and toolchain, and the Elixir scheduler. ## [v0.38.0](https://github.com/malbeclabs/doublezero/compare/client/v0.37.0...client/v0.38.0) - 2026-08-28 diff --git a/DEVELOPMENT.md b/DEVELOPMENT.md index 4b71af22de..3aba3bf064 100644 --- a/DEVELOPMENT.md +++ b/DEVELOPMENT.md @@ -20,6 +20,25 @@ make fmt make ci ``` +## The imported trees + +`offchain/` and `solana/` came from `doublezero-offchain` and `doublezero-solana`. +The offchain Rust crates are ordinary members of the root workspace, so the +Quickstart targets above cover them. Two parts are not covered: + +```bash +# The Solana L1 programs keep their own workspace, lockfile and 1.91 toolchain, +# so nothing at the root builds them. Their program bytes have to stay +# reproducible against solana/programs/sha256sums_*.txt, which is why they are +# held out. +cd solana && make lint && make test-lib && make test-sbf + +# The offchain scheduler is Elixir. `just elixir-ci` runs what CI runs. +cd offchain/scheduler && mix deps.get && mix test +``` + +Both have their own CI workflows (`solana`, `elixir`), path-scoped to their trees. + ## Local end-to-end testing The local devnet and end-to-end test environments both run entirely in Docker containers. diff --git a/README.md b/README.md index 7e2be5336e..6a982e0758 100644 --- a/README.md +++ b/README.md @@ -20,6 +20,10 @@ make ci For coding standards, local test instructions, and devnet usage, refer to [DEVELOPMENT](./DEVELOPMENT.md). +This project is intended to be a safe, welcoming space for collaboration, and +contributors are expected to adhere to the [Contributor Covenant Code of +Conduct](http://contributor-covenant.org/). + ## License Licensed under the **Apache License 2.0**. diff --git a/offchain/CONTRIBUTING.md b/offchain/CONTRIBUTING.md deleted file mode 100644 index 41da45dded..0000000000 --- a/offchain/CONTRIBUTING.md +++ /dev/null @@ -1,23 +0,0 @@ -### How to Contribute to this repository - -We value contributions from the community and will do everything we -can go get them reviewed in a timely fashion. If you have code to send -our way or a bug to report: - -- **Contributing Code**: If you have new code or a bug fix, fork this - repo, create a logically-named branch, and [submit a PR against this - repo](https://github.com/malbeclabs/doublezero-offchain). Include a - write up of the PR with details on what it does. - -- **Reporting Bugs**: Open an issue [against this - repo](https://github.com/malbeclabs/doublezero-offchain/issues) with as - much detail as you can. At the very least you'll include steps to - reproduce the problem. - -This project is intended to be a safe, welcoming space for -collaboration, and contributors are expected to adhere to the -[Contributor Covenant Code of -Conduct](http://contributor-covenant.org/). - -Above all, thank you for taking the time to be a part of the DoubleZero -Foundation community. From 8966dd0d0b297ce8225f9f18b1442c81d57f69be Mon Sep 17 00:00:00 2001 From: bgm-malbeclabs Date: Wed, 2 Sep 2026 13:07:33 +0900 Subject: [PATCH 2/3] Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 6a982e0758..7635d687aa 100644 --- a/README.md +++ b/README.md @@ -22,7 +22,7 @@ For coding standards, local test instructions, and devnet usage, refer to [DEVEL This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant Code of -Conduct](http://contributor-covenant.org/). +Conduct](https://www.contributor-covenant.org/). ## License From beed3d2dccc5cde58eb30c6c047f828b946c9d11 Mon Sep 17 00:00:00 2001 From: bgm-malbeclabs Date: Wed, 2 Sep 2026 13:07:52 +0900 Subject: [PATCH 3/3] Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> --- DEVELOPMENT.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/DEVELOPMENT.md b/DEVELOPMENT.md index 3aba3bf064..0ff724ed1c 100644 --- a/DEVELOPMENT.md +++ b/DEVELOPMENT.md @@ -33,8 +33,8 @@ Quickstart targets above cover them. Two parts are not covered: # held out. cd solana && make lint && make test-lib && make test-sbf -# The offchain scheduler is Elixir. `just elixir-ci` runs what CI runs. -cd offchain/scheduler && mix deps.get && mix test +# The offchain scheduler is Elixir. Run the same checks as `.github/workflows/elixir.yml`. +cd offchain/scheduler && mix deps.get && mix format --check-formatted && mix compile --warnings-as-errors && mix credo --strict && mix test --cover ``` Both have their own CI workflows (`solana`, `elixir`), path-scoped to their trees.