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

Release gems in batch #1449

Closed
st0012 opened this issue May 21, 2021 · 4 comments
Closed

Release gems in batch #1449

st0012 opened this issue May 21, 2021 · 4 comments

Comments

@st0012
Copy link
Collaborator

st0012 commented May 21, 2021

Current Workflow & Problems

Currently, all gems are all prepared and released individually. It's great for releasing patch version individually, but it also makes releasing minor versions complicated. Here's the general workflow:

  1. Prepare sentry-ruby's release
  2. Wait for sentry-ruby to be published
  3. Update integration gems' (like sentry-rails) sentry-ruby-core dependency version.
  • We can't do this before the release branch of sentry-ruby is merged to master.
  1. Prepare integration gems' release individually
  2. Wait for them to be published individually

Also, we can't have a shared changelog under the current releasing structure due to potential version collision.

New Workflow

Definition of the new workflow:

  • All gems (except sentry-raven) will always be released under the same version.
    • For example, to release sentry-sidekiq to 4.4.4, other sentry-* gems will also be bumped and released with version 4.4.4, regardless they have change or not.
  • sentry-raven will still be released solely.
  • New gems will firstly be released individually before joining the batch releasing process.

And the new release process will be:

  1. Prepare batch release
  2. Publish all of them at once 🙂
@st0012 st0012 self-assigned this May 21, 2021
@st0012
Copy link
Collaborator Author

st0012 commented May 21, 2021

cc @HazAT @BYK

@HazAT
Copy link
Member

HazAT commented May 21, 2021

Cool stuff, also we should have one changelog in release with different sections like we have in JS monorepo https://github.com/getsentry/sentry-javascript/releases/tag/6.4.1

So our users always can look at the release and changelog to understand what changed.
This will bring us a large step closer to making things easier for our users to version.

(The only downside is potential no-op releases for packages which is something we def. can live with)

@st0012
Copy link
Collaborator Author

st0012 commented May 21, 2021

@HazAT yeah that's part of the main drive behind this decision 😄

@st0012
Copy link
Collaborator Author

st0012 commented May 28, 2021

This is now completed with the help from @BYK 😉

@st0012 st0012 closed this as completed May 28, 2021
4.x automation moved this from To do to Done May 28, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
4.x
  
Done
Development

No branches or pull requests

2 participants