Skip to content

extract builder logic into new builder binary crate#3106

Merged
syphar merged 1 commit intorust-lang:mainfrom
syphar:libs-bin-builder-with-bin
Dec 27, 2025
Merged

extract builder logic into new builder binary crate#3106
syphar merged 1 commit intorust-lang:mainfrom
syphar:libs-bin-builder-with-bin

Conversation

@syphar
Copy link
Copy Markdown
Member

@syphar syphar commented Dec 26, 2025

Also

  • moved CompressionAlgorithm to docs_rs_types crate.
  • moved db::add_package into docs_rs_database crate.
  • moved related things into builder crate (blacklist)
  • moved doc_coverage types & parsing into _types crate
  • I decided to start with new Config & Context structs, with some conversion
    in between, not migrating all the old code.
  • to ease the migration I temporarily disabled the support for other registries in manual builds from the CLI
  • there are some tests in the builder that also did web requests. I think
    I want to move these into "integration tests" which stay at the root of our
    project, when the migration of the other parts is finished. But IMO that's easier to do when the test-environment etc is more fleshed out.
  • there are some things the main crate accesses from the builder-binary-crate,
    I probably need to move them to shared crates when I start migrating the other
    binaries later.
  • the build_queue and queue_builder in the builder are just a MVP, a better structure is possible, but I want to do this separately.
  • I'm not sure if I will have each binary have it's own TestEnvironment,
    or if I want to merge these.
  • crate priorities move into the queue subcrate
  • for now I didn't remove anything from the old cratesfyi binary. Like this
    I can start playing around with the new builder on the server without breaking
    anything.
  • I'm not 100% certain about which CLI commands to move where yet. Current idea:
    we will have a docs_rs_cli (or _admin) binary for everything that just
    edits stuff in the database and the other services (web, watcher, builder)
    just pick it up. Inside the watcher/builder binary itself we would do things
    that need the full environment (index, build env, docker, ...).
  • all the builder functionality is moved into the builder binary crate. The
    old binary uses the new build-binary as library and calls its functions.
  • the file / module structure in the builder-binary is not final yet, but for now I want something merged before optimizing that later.

@github-actions github-actions bot added the S-waiting-on-review Status: This pull request has been implemented and needs to be reviewed label Dec 26, 2025
@syphar syphar self-assigned this Dec 27, 2025
@syphar syphar force-pushed the libs-bin-builder-with-bin branch 5 times, most recently from f5a843b to 9a971f7 Compare December 27, 2025 03:30
@syphar syphar changed the title (WIP for CI): extract builder logic into new builder binary crate extract builder logic into new builder binary crate Dec 27, 2025
@syphar syphar force-pushed the libs-bin-builder-with-bin branch from 9a971f7 to d3e7853 Compare December 27, 2025 03:38
@syphar syphar marked this pull request as ready for review December 27, 2025 03:38
@syphar syphar requested a review from a team as a code owner December 27, 2025 03:38
@syphar syphar force-pushed the libs-bin-builder-with-bin branch from d3e7853 to 86e77f4 Compare December 27, 2025 03:54
@syphar syphar force-pushed the libs-bin-builder-with-bin branch from 86e77f4 to 98d36de Compare December 27, 2025 04:06
@syphar syphar merged commit 257677f into rust-lang:main Dec 27, 2025
13 checks passed
@github-actions github-actions bot added S-waiting-on-deploy This PR is ready to be merged, but is waiting for an admin to have time to deploy it and removed S-waiting-on-review Status: This pull request has been implemented and needs to be reviewed labels Dec 27, 2025
@syphar syphar deleted the libs-bin-builder-with-bin branch December 27, 2025 13:13
@syphar syphar removed the S-waiting-on-deploy This PR is ready to be merged, but is waiting for an admin to have time to deploy it label Jan 3, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants