Skip to content
This repository has been archived by the owner on Nov 15, 2023. It is now read-only.

Release all crates to crates.io on polkadot release #12209

Open
Tracked by #12210
athei opened this issue Sep 8, 2022 · 0 comments
Open
Tracked by #12210

Release all crates to crates.io on polkadot release #12209

athei opened this issue Sep 8, 2022 · 0 comments

Comments

@athei
Copy link
Member

athei commented Sep 8, 2022

As a first step towards having a nicer developer experience when using substrate/polkadot/cumulus we want to allow users to depend on it via crates.io. Git dependencies are just annoying and prevent everyone from releasing their own stuff to crates.io.

This is is just the first step and has a very limited scope. We don't care about narrowing down changes to minor and fix releases. We just bump the major versions of all crates. This is how it works:

  • On master we still use git and path dependencies to connect substrate/polkadot/cumulus together
  • We remove all versions from manifests on master for path and git dependencies
  • On release we crate a tag on the release branches and release all the crates from there. The release process works like this:
    • Go through all the crates of all workspaces and set their version to the tag name. Don't deal with minor and fix version. Just use major versions: 38.0.0 -> 39.0.0.
    • This will re-add the versions to the dependencies in the manifest, too.
    • Then publish in this order: substrate->polkadot ->cumulus.
    • Within the workspace we need to start from the leaves and work our way up. cargo unleash might be able to do that.

This process would ideally be implemented as a github action. The workflow that uses it is then either manually triggered or on tag.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant