Publish it on crates.io #132
Replies: 10 comments 1 reply
-
I would also like to add more info for developers about how to set up your local env to start contributing to this repo. Maybe for those "tutorials", we could use markdown in the |
Beta Was this translation helpful? Give feedback.
-
I haven't looked into this yet, but I noticed that most rust projects have a https://crates.io/ page, so it would probably be great for our project too :) |
Beta Was this translation helpful? Give feedback.
-
OK, we can add one more job in the CI workflow to publish it when we release a new version. |
Beta Was this translation helpful? Give feedback.
-
I think that it is a good idea to publish to to https://crates.io/ . I think that we should consider tagging our releases as "beta", so that others don't get the idea we think that our code is production-ready. (even if it is already used in production somewhere)... |
Beta Was this translation helpful? Give feedback.
-
What we should do once we start publishing the package:
More info: https://rurust.github.io/cargo-docs-ru/manifest.html#the-version-field
For semantic versioning (https://semver.org/#semantic-versioning-specification-semver):
Since we do not consider stable the current release, I suppose we should have used We could either: delete all previous releases or try to keep that information somehow. I proposed to rename current tags like this:
I suppose we can just do this for each tag:
We could also create a CHANGELOG file and delete all the releases. But It would be weird if we did not use it anymore. We can also just remove all the releases. It probably does not make sense for anyone to go back to a previous version, especially because we are not maintaining old versions yet. I would say we can just save all the previous releases info in a file (OLD_TEST_RELEASES.md) and just delete them. And then release the 0.1.0 version. |
Beta Was this translation helpful? Give feedback.
-
I'm not sure what the best practice is in this case. But I do prefer keeping the old tags and version numbers as they are and continue on a new major release: |
Beta Was this translation helpful? Give feedback.
-
That's fine for me. After all, we have not defined what we consider a ready-for-production app. And we have not even published an official package on crates.io. Maybe we should simply write down a list of things we consider essential in order to use the app in production, and they are still missing. I can start. For me, essential things are:
And nice things to have:
Nice things but not strictly necessary:
With those requirements, we could publish 3.0.0-beta and 3.0.0 in a couple of weeks. |
Beta Was this translation helpful? Give feedback.
-
We can have |
Beta Was this translation helpful? Give feedback.
-
I have created a workflow to publish a crate for one of my side projects. You can see the workflow here. I wanted to create a PR to publish a tracker crate automatically when we release a new version, but there are some limitations with crates.io tokens.
So, basically, we were going to use a @WarmBeer's personal token to publish the tracker, but if we do so, any maintainer who has access to the token can publish any of the @WarmBeer's crates. The only way to avoid that problem could be to create a new GitHub account for the organization and use that account for crates.io. Even in that case, we reduce the scope only to all organization projects. Any maintainer with access to the token could publish any crates linked to the new crates.io account. For the time being, I think we can publish manually. @WarmBeer maybe you can do it with the current version of all the Turrust packages so at least we can reserve the name. |
Beta Was this translation helpful? Give feedback.
-
I think we can close this. We are already publishing the crate and we have defined a release process. |
Beta Was this translation helpful? Give feedback.
-
Wouldn't it be useful to publish it on https://crates.io/?
I would like to write more documentation for the package. For example, for API endpoints like this:
If we do that, we can automatically have online documentation on https://docs.rs/.
If for some reason, we do not want to publish it yet, we could deploy the documentation to GitHub Pages.
Beta Was this translation helpful? Give feedback.
All reactions