- Create a github repo
https://github.com/YOUR_USER_OR_ORG/crates
- Set the
config.json
to 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_auth
to 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.crate
to that release - adds a new release json to the
crates
repo
- 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}.crate
release attachment - user-wide with
{crate}
repo name andpackage.crate
release attachment
- monorepo with fixed repo name and