knope icon indicating copy to clipboard operation
knope copied to clipboard

allow to skip GitHub Release (and only `tag`) for specific packages?

Open dotansimha opened this issue 4 months ago • 3 comments

Hi there!

I'm using Knope in a monorepo, and I would like to have a tag created for all packages, but only create a GitHub Release for some packages.

This is needed because while we do want to push tags for all Crates in our monorepo, we only want to "highlight" and create a Release for the main component, as this is the front-facing one that most users actually care about.

Any idea if that's possible with some configuration or config?

I would be happy to open a PR if that's something that could work out. I imagine the config could look like this:

[packages.inner]
versioned_files = ["..."] 
forge_release = false

[packages.product] # by default, this would have `git_tag = true, forge_release = true` 
versioned_files = ["..."]

Thanks

dotansimha avatar Nov 03 '25 15:11 dotansimha

It's not possible yet, but sounds like a great feature!

Definitely open to a PR. We could maybe have a list of packages to do releases for in the [github] block and fall back to tags only for ones that aren't in the list?

dbanty avatar Nov 03 '25 16:11 dbanty

It's not possible yet, but sounds like a great feature!

🎉

Definitely open to a PR. We could maybe have a list of packages to do releases for in the [github] block and fall back to tags only for ones that aren't in the list?

Yeah this might work, but I wonder if this setting is specific to [github] or something at the package level?

dotansimha avatar Nov 04 '25 07:11 dotansimha

something at the package level?

Definitely open to any ideas! I've also wanted to make extending workspaces easier, so it's possible folks will want to disable releases per-package. Here are some random thoughts:

[packages.my-package]
release = "Tag" # or `Forge` or `None` ?
[packages.my-package.release]
type = "Tag"
tag = "custom/$version/template"
skip = false  # or `true`

Another thing that's come up elsewhere is triggering specific CI workflows for specific packages when using the bot. Haven't thought about design for that yet, but that could also be in [packages.<name>.release]

dbanty avatar Nov 04 '25 18:11 dbanty