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

Can we release any single package? #36

Open
ajainvivek opened this issue May 26, 2020 · 14 comments
Open

Can we release any single package? #36

ajainvivek opened this issue May 26, 2020 · 14 comments

Comments

@ajainvivek
Copy link

Is there any option to release just one package rather than release all at once?

@rwjblue
Copy link
Collaborator

rwjblue commented May 28, 2020

Do you mean something that would release only packages that are specifically changed since the last release? Or perhaps that you would want to explicitly request specific packages to be released?

I think we can add support for either (or both) of those things, I'd just like to flesh out what features we want to add.

@ajainvivek
Copy link
Author

That is right. Only release changed packages from the previous release.

Also, would nice to have release any single package on demand.

In my current project we use yarn workspace in combination with lerna. We have custom script which only releases lerna changed packages.

@rwjblue
Copy link
Collaborator

rwjblue commented Jun 6, 2020

Ya, I've seen similar configs before. I think that is something we can definitely do, but I think it would require that we figure out what changed. Do you happen to know how lerna figures that out? I could imagine a few different git commands that we could use 🤔. Then we'd have a config setting (e.g. detectChangesCommand) so folks could override / customize.

@cumt-robin
Copy link

i have the same question. is there any solution?

@scalvert
Copy link
Collaborator

We don't currently have support for releasing a single package, as this plugin is design to release all workspace packages at once, synchronizing their version numbers. If you need to independently release packages, it's best to install release-it within each of those. It's more cumbersome, but it does work. I did this exact thing in https://github.com/microsoft/sarif-js-sdk.

@buruofei
Copy link

Can we release any single package?+1

@buruofei
Copy link

i have the same question. is there any solution?

@scalvert
Copy link
Collaborator

I think this was already answered above -> #36 (comment)

@buruofei
Copy link

I think this was already answered above -> #36 (comment)

It's more cumbersome。in this reop,When I execute in the root directory wiht 「run npx release-it --no-git.push」,it just check changes the root package.json version
image

@scalvert
Copy link
Collaborator

I believe there's a missing step in the RELEASE.md. You need to cd into the respective package in order to release it. I'll ensure that's updated.

@gossi
Copy link

gossi commented Aug 7, 2023

This is very unfortunate not to have. As this is widely used for classic v1 ember addons, this is a bummer to migrate/release v2 addons, that are usually using workspaces.

Yes, it sorta works to cd into that folder for that one package you want to release... but you have to do manual post-processing to keep the next release rolling (such updating version numbers in other packages, etc. so changelog generation will find the right one) - we have a release stalling for weeks now, due to this.

The expected behavior of workspaces to me is, that it releases all found packages, that are not private: true... regardless of how many those are?

@scalvert
Copy link
Collaborator

scalvert commented Aug 7, 2023

@gossi I've never built v1 addons that require workspaces. We always released as part of the usual release-it process with the lerna-changelog plugin only.

Which v1 addons use workspaces? Also, it's probably not a terrible idea to migrate to v2 anyway...

@gossi
Copy link

gossi commented Aug 7, 2023

Sorry, what I meant is: The release-it combination with lerna-changelog is a welcome way to maintain a v1 addon.. BUT going into the v2 world, this is becoming ugly with release-it workspaces not capable handling workspace with only one public package in there. It contradicts the expectation of installing this your repo-root and release the one public package, while keeping all the necessary version numbers for the next changelog updated (at the moment, you have to manually update the version in the root package, as this is what's been read to make the diff for the changelog).

I'd very much see the release-it combo a nice tool to manage releases with no effort for v2 addons.

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

7 participants