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

Improve story for pushing out of HEAD releases #1050

Open
Emilgardis opened this issue Oct 3, 2022 · 2 comments · May be fixed by #1053
Open

Improve story for pushing out of HEAD releases #1050

Emilgardis opened this issue Oct 3, 2022 · 2 comments · May be fixed by #1053
Assignees
Labels
meta issues/PRs related to the maintenance of the crate.

Comments

@Emilgardis
Copy link
Member

Emilgardis commented Oct 3, 2022

Currently, to do releases we have to:

  1. bump the version number in Cargo.toml to x.y.z and apply changesets cargo xtask changelog --release vx.y.z. cargo release x.y.z --execute
  2. Create and merge the pr
  3. Create and push tag vx.y.z on that merge commit from bors when merged.

I'd like to streamline this process to only two steps

  1. cargo release x.y.z --execute
  2. submit pr and merge
  3. ???
  4. profit!! (CI creates tag and eventually publishes to crates.io)

There is also an issue with releasing versions behind origin:main, this could be improved by allowing the same process for those changes, ie:

  1. Create branch vx.y.z based on the most adjacent tag. Publish this branch (this shouldn't trigger ci)
  2. cargo release --execute x.y.z
  3. submit pr to merge changes into x.y.z and merge
  4. ci creates tag and eventually publishes to crates.io

This process doesn't work today, because the ci for publishing is only triggered on published tags.

Github doesn't allow the default github token in workflows to trigger other workflows except for workflows on workflow_dispatch and repository_dispatch, to circumvent this, it's possible to use a deploy key (which I've already added to this repo, secrets.COMMIT_KEY)

@Emilgardis Emilgardis added the meta issues/PRs related to the maintenance of the crate. label Oct 3, 2022
@Emilgardis Emilgardis self-assigned this Oct 3, 2022
@Alexhuszagh
Copy link
Contributor

Currently, to do releases we have to:

1. bump the version number in `Cargo.toml` to `x.y.z` and apply changesets `cargo xtask changelog --release vx.y.z`.

Building the changelog and bumping the version number are handled with cargo-release. See package.metadata.release. I don't have an issue though with making cargo xtask release effectively an alias for cargo release, since it's possible we could use it later to customize functionality.

2. Create and merge the pr

3. Create and push tag vx.y.z on that merge commit from bors when merged.

I assumed this was already handled.

@Emilgardis
Copy link
Member Author

updated the text

step 3 is not automatic, that's what I want to resolve

@Emilgardis Emilgardis linked a pull request Oct 3, 2022 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
meta issues/PRs related to the maintenance of the crate.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants