Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Publish zebra crates to crates.io #6149

Closed
25 tasks done
Tracked by #6390
mpguerra opened this issue Feb 13, 2023 · 10 comments · Fixed by #6877
Closed
25 tasks done
Tracked by #6390

Publish zebra crates to crates.io #6149

mpguerra opened this issue Feb 13, 2023 · 10 comments · Fixed by #6877
Assignees
Labels
A-dependencies Area: Dependency file updates A-devops Area: Pipelines, CI/CD and Dockerfiles

Comments

@mpguerra
Copy link
Contributor

mpguerra commented Feb 13, 2023

Motivation

Once the code is audited and we do our first stable release, we will want to publish zebra to crates.io.

Instructions

https://doc.rust-lang.org/cargo/reference/publishing.html#before-publishing-a-new-crate

In particular, we'll want to include the Zcash Foundation in the crate description and homepage, and "Zcash" in the crate keywords.

Crates that need to be published

Testing and developer tools:

Reserved Crate Names

We have already reserved these crate names on crates.io.

We can, to just get the crate names, do local renames of zebra-cli to each one, publish, and so forth, for now.

These placeholders are now co-owned by @ZcashFoundation/owners (https://crates.io/teams/github:zcashfoundation:owners?sort=new):

@mpguerra mpguerra added C-enhancement Category: This is an improvement S-needs-triage Status: A bug report needs triage labels Feb 13, 2023
@mpguerra mpguerra added this to Zebra Feb 13, 2023
@github-project-automation github-project-automation bot moved this to 🆕 New in Zebra Feb 13, 2023
@mpguerra
Copy link
Contributor Author

Do we want to squat and publish the other crates, e.g zebra-network, etc... to crates.io?

@teor2345 teor2345 changed the title Publish zebra crates to crates.io Publish zebrad crate to crates.io Feb 22, 2023
@teor2345 teor2345 changed the title Publish zebrad crate to crates.io Publish zebra crates to crates.io Feb 22, 2023
@teor2345
Copy link
Contributor

Do we want to squat and publish the other crates, e.g zebra-network, etc... to crates.io?

We have to publish all our production crates to crates.io, because it won't accept a crate unless its dependencies are also published:

  • We will need to rename tower-batch, because it already exists, and does something different (file writing batches, not cryptography batches)

I don't mind if we squat or publish our test crates, it's probably easier just to publish them.

zebra-client is currently a placeholder, but we should add a README saying that.

@teor2345
Copy link
Contributor

Do we also want to publish a placeholder for zebra-cli? Or are we going to use zebrad as the zebra-cli instead?

(It seems simpler, but if we publish a placeholder, we can leave that decision for later.)

@teor2345
Copy link
Contributor

We might not be able to publish zebra-test due to the 10 MB crates.io size limit (our test data is close to that size):
https://doc.rust-lang.org/cargo/reference/publishing.html#packaging-a-crate

If we can't, we should still publish a placeholder.

@mpguerra
Copy link
Contributor Author

@dconnolly has been working on this. I'm hoping we can finish this off during next sprint (2023 Sprint 8)

@teor2345
Copy link
Contributor

@mpguerra should this be blocked by renaming tower-batch in #6202?

@dconnolly dconnolly self-assigned this Apr 17, 2023
@dconnolly dconnolly added P-High 🔥 A-dependencies Area: Dependency file updates A-devops Area: Pipelines, CI/CD and Dockerfiles and removed C-enhancement Category: This is an improvement S-needs-triage Status: A bug report needs triage P-Medium ⚡ labels Apr 17, 2023
@mpguerra
Copy link
Contributor Author

Now that we have the placeholders we can wait to publish the actual crates until we tag the stable release

@mpguerra
Copy link
Contributor Author

@teor2345
Copy link
Contributor

@dconnolly I split up the list of crates into crates that need to be published for the zebrad release, and everything else.

I think for our first step we might just want to publish the zebrad crates.

@teor2345
Copy link
Contributor

I removed the empty crates from the list because PR #6726 deletes them.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-dependencies Area: Dependency file updates A-devops Area: Pipelines, CI/CD and Dockerfiles
Projects
Archived in project
Development

Successfully merging a pull request may close this issue.

3 participants