- Create a github repo
https://github.com/YOUR_USER_OR_ORG/crates - Set the
config.jsonto something like:
{
"dl": "https://github.com/YOUR_USER_OR_ORG/{crate}/releases/download/v{version}/package.crate"
}- Create a CLI tool / cargo subcommand that
- uses
github_authto log in and - creates a tag in the current git repo that corresponds to the crate version
- publishes a new github release for that tag
- runs
cargo package - attaches the the
package.crateto that release - adds a new release json to the
cratesrepo
- uses
- Profit!
- Crate names need to match repository names!
- Need some way to get the release description
- Should work in CI / CD as well
- Two modes:
- monorepo with fixed repo name and
{crate}.craterelease attachment - user-wide with
{crate}repo name andpackage.craterelease attachment
- monorepo with fixed repo name and