dhoulb / multi-semantic-release

Proof of concept that wraps semantic-release to work with monorepos.
BSD Zero Clause License
203 stars 36 forks source link

new fix ignore private packages :( #77

Closed IGZangelcostales closed 3 years ago

IGZangelcostales commented 3 years ago

Hello!!

My multi-semantic-release stop working since update 2.8.5 (ignore private packages). I need to use private packages to create releases.

now, how can I create releases for private packages? is there any option? Thank you.

antongolub commented 3 years ago

@reuzel, @moroine

Let's introduce a flag for this behaviour.

moroine commented 3 years ago

I can add the option next week. Could you give a bit more context about your usage of private package? I'll be able to look into this next week.

I was assuming semantic release used with npm and private packages are not published there. Did version 2.8.4 was working as expected? Because on my side, I was running with an infinite loop due to private package.

IGZangelcostales commented 3 years ago

Thanks for review this.

I use it for a repository that has like 15 microservices (all in python) I only use Yarn (package.json) for the tag and release of all of those microservices. Because I use Lerna workspaces I need that the packages are defined as privates (if not I get an error: Workspaces can only be enabled in private projects) and if you ignore the private packages I am left in limbo.

Version 2.8.4 is working as expected. Maybe only for my use, I only use private packages.

moroine commented 3 years ago

@IGZangelcostales for workspace, that's the root package.json which is required to be private, not the one in packages

IGZangelcostales commented 3 years ago

you are right, I have removed the "private" from the rest of the packages, and semantic-release start working with 2.8.5 without problems. Thank you a lot.

moroine commented 3 years ago

@IGZangelcostales should we close this issue?

cherryblossom000 commented 3 years ago

Ignoring private packages should have been considered a breaking change. Private packages are not ignored by semantic-release, unlike what #76 says. In fact, semantic-release's FAQ suggests using a private package to update the version in package.json (e.g. to push via git) without publishing to npm:

If you wish to only update the package.json and push via Git you can set the project to "private": true, within your package.json to prevent publishing to the npm registry.

This is exactly how I was using private packages with multi-semantic-release.

I like the suggestion of using a flag; I think the default should be set to include private packages, however, as this is what the behaviour was before 2.8.5.

antongolub commented 3 years ago

:tada: This issue has been resolved in version 2.9.0 :tada:

The release is available on:

Your semantic-release bot :package::rocket: