hashie/hashie

[RFC] Change release schedule for Hashie

BobbyMcWho opened this issue ยท 19 comments

I'd like to propose that the release schedule for Hashie be increased in frequency. Since we're using semver, I think it makes complete sense to merge documentation only changes without bumping version, and maybe set up a github actions workflow to release whenever a change to the version.rb file is detected.

It would require a little more time in Code Review to make sure the appropriate semver version is used,but the CHANGELOG.md and UPGRADING.md changes are already requested at time of merge, and it's a little tough to know where you should add your changes in the UPGRADING.md file when you don't know what release your changes are actually going to be released in.

#483 would release 3.7.0, a year out from 3.6.0, which was 8 months from 3.5.7.

Not trying to cause upgrade fatigue for folks using the project, but at the same time I think it helps the morale of contributors to have their code usable in released versions sooner (without having to point at master).

RFC! :)

Sounds like @BobbyMcWho is volunteering for doing more work! :)

Shall we add him to co-maintainers @michaelherold?

I'd be down for helping out. :)

๐Ÿ‘ I'm all for making @BobbyMcWho a maintainer. I'll do that shortly!

up a github actions workflow to release whenever a change to the version.rb file is detected.

I've been wondering how such a workflow would work. I'm generally risk-averse when it comes to releasing the gem since it's such an infrastructure-heavy audience (you can get an idea of how many gems use us in my talk and accompanying blog post). But that's not really a healthy way to live so I'd be okay with opening up the release schedule.

We'd have to change up the RELEASING.md instructions and be very careful with contributions.

If you'd like to spearhead this effort, please feel free to put a Github Actions flow up for review!

Hmmm .... @dblock do you have the ability to add people to Team Hashie? I don't seem to have the commit bit for that.

It looks like nearly everything has been transferred out of Intridea at this point. I see that @bartoszkopinski created a hashie organization at some point. Bart, could you invite dB and myself to that organization and we can see about transferring it out to that new org?

Looks like I cannot add people and @mbleigh is still admin. Maybe he would be so kind to make @michaelherold and I admins of that group in https://github.com/orgs/intridea/teams/team-hashie/members?

@dblock you're an admin now.

@michaelherold I was at that talk! I'll have to give the workflow some thought, whether it's github actions, circleci, or something else. It doesn't matter too much to me, I could be convinced out of auto releases based on risk.

@michaelherold You're an admin too, party on!

I tried to add @BobbyMcWho to Team Hashie, but it complained that he's not a member of the intridea organization. I was able to add him as a collaborator to the repo though, so welcome onboard!

Back to the original thread, I've been thinking about it and I'm not fully sure how we could automate release via GitHub Actions unless we change to having maintainers write changelog entries. Because we try to make it easy for contributors to keep the changelog up-to-date, we would need to do some heavy formatting to the changelog as part of the release.

If you can figure that out, it would be great! Otherwise, we'll have to have a conversation about changelog management.

My thought was that the release would trigger off of a change to the version.rb file, and that maintainers would be the only ones to update that. (could enforce via a danger rule?)

@michaelherold @dblock

I created https://github.com/intridea/hashie/projects/1 for tracking the release of Hashie 4.0 . If ya'll have anything you've been longing for that you think absolutely should be released in the next major version, can you add it to the TODO? I'd like to get a lot of the recent changes into a released version so we can use them on a few projects we have going on.

I don't have anything, release it.

If @michaelherold agrees, he can publish 4.0, I don't have access to rubygems: my profile

I just added you as a maintainer on RubyGems.org, @BobbyMcWho. Feel free to release. Please make sure you have 2FA on in RubyGems.org.

I have things that I would like to do for a major version bump of Hashie but they're low on my priority list at the moment.

Yup, I made sure both Github and Rubygems have 2fa

Released! https://github.com/intridea/hashie/blob/v4.0.0/CHANGELOG.md

Gonna close this issue, I'll submit PR's as I can to change up some of the CI stuff.