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

Publish after changes on the project root #148

Closed akowi-sknobloch closed 1 year ago

akowi-sknobloch commented 1 year ago

I have a Monorepo containing a .proto from wich i build a library to be used in NestJS and one to be used in the Browser. My Project structure looks like this:

root
  | - package.json
  | - example.proto
  | - NestJS Package
       |- package.json
  | - Browser Package
       |- package.json

When publishing changes to the NestJs or the Browser Packages they get a new release. When pushing a change to my .proto file semantic-release executes but no release gets generated.

I want changes on my root project to release a update for both packages, is this possible?

antongolub commented 1 year ago

@akowi-sknobloch,

You can introduce proto package and ref it as a dev dep in nestjs and browser manifests. Once proto is updated, dependants will get patches via deps bump.

akowi-sknobloch commented 1 year ago

Ok I've moved my proto file into it's own proto package. Now the release of my nestjs and browser packages fail because they cant find the upcoming version of the proto package. I get following error in my CI Log:

npm ERR! notarget No matching version found for @libraries/print-service-proto@1.0.3.

The current version of the proto package in my registry is 1.0.2. If i understand the docs correctly the version bump is expected but why does it not find it then? Am i missing additional config settings?

akowi-sknobloch commented 1 year ago

Ok seems like I've got it working now Found this section in the README: https://github.com/dhoulb/multi-semantic-release#npm-v85-npm-err-notarget-no-matching-version-found-for After adding a .npmrc to my root with workspaces-update=false I've got a successful release for all my packages