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 automation #2624

Open
ota-meshi opened this issue Nov 27, 2024 · 4 comments
Open

Release automation #2624

ota-meshi opened this issue Nov 27, 2024 · 4 comments

Comments

@ota-meshi
Copy link
Member

Currently, I manually release this package.
I didn't change the release flow in the hope that it would be easy for the previous maintainer to go back.
But now that we have new maintainers, I think it's time to rethink the release flow.
I don't have any preference on how to automate it.
@FloEdelmann @waynzh Can you give me your opinion/preference?

@waynzh
Copy link
Member

waynzh commented Nov 30, 2024

I don't have much experience regarding automated releases. I noticed that typescript-eslint automatically publishes minor versions every Monday through an action from a private repository.

However I don't think our update frequency necessitates that. Perhaps we could consider actions similar to eslint-sevlte or eslint-stylistic that generate a release changelog PR if there are changes. Manually merging or merging at a fixed time every week seems to be quite efficient for me.

@FloEdelmann
Copy link
Member

FloEdelmann commented Dec 11, 2024

I fully agree with @waynzh.

In other repositories like https://github.com/stylelint/stylelint, I have had good experiences as a contributor with changesets. But I have no experience with setting it up.

@G-Rath
Copy link
Contributor

G-Rath commented Dec 19, 2024

fwiw we use semantic-release over at eslint-plugin-jest and co - landed commits are formatted following conventional commits, which in turn semantic-release uses to build the changelog and determine what kind of release to do (patch, minor, major); that all happens automatically making releases very hands off and also means stuff is released ASAP so there's no "when will this fix be released" etc kind of stuff.

It also supports pre-releases and other stuff like that.

It tends to be my go-to for release automation and I've set it up a few times, if you'd like a hand - it would of course mean going forward you'd use conventional commits, but existing commits shouldn't cause trouble; plus if you're squashing your PRs, generally only the PR title (which gets used as the final commit message) actually needs to be formatted "conventionally".

(I was looking some stuff up and came across this, so figured I'd share my two cents from one plugin maintainer to another - thanks for all your work on this plugin, it's made my intro into Vue smoother ❤️)

@FloEdelmann
Copy link
Member

Thanks for sharing this @G-Rath! However, I think changesets and its somewhat more manual approach is better suited for eslint-plugin-vue than semantic-release. We usually accumulate a few changes for a release, and then manually format the changelog in the GitHub release. That's only my personal opinion though 🙂

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

No branches or pull requests

4 participants