-
I have a yarn monorepo, and am making a change to one of the packages that other packages rely on. I increment my package version on publication, so although my PR includes breaking changes, I have not adjusted the Is there any way to have it pull from NPM instead? Here’s the action: appliances/test.yml at aeb1455f166a7a5ad21e886ed69c494972f8372a · tvkitchen/appliances · GitHub |
Beta Was this translation helpful? Give feedback.
Replies: 3 comments
-
slifty:
I don’t think that’s correct, certainly, I have not observed that before: I think this is an issue specific to the monorepo set-up you have. The monorepo tooling is responsible for creating the appropriate dependency linkage through As I understand it, the expectation of a monorepo is that the packages are all compatible with each commit, that is, if you introduce a breaking change to Package A then you must update Package B at the same time to be compatible. A monorepo (in the node world at least) is not multiple independent packages in one repository, it’s multiple dependent packages in one repository. A good first step to debugging this would be to upload an artifact containing the whole Action workspace, from there you can step through each dependency and identify any issues, e.g:
|
Beta Was this translation helpful? Give feedback.
-
Much appreciated and you are certainly right – (as you were responding I actually modified that section to be less conclusion-jumping). I don’t know why this didn’t manifest when I was using other CI solutions, but I think it was just luck. I also appreciate your point about the monorepo expectations! Given that, I’ll take this situation as actually a legitimately failing test and go fix my code. |
Beta Was this translation helpful? Give feedback.
-
slifty:
I could be wrong: during my own monorepo set-up process, I struggled to find any authoritative description of exactly how I should expect some of the finer points to be addressed. I know that Yarn (and npm, and Lerna) do – as you describe in your opening post – pull from npm when they cannot resolve a version locally so if you do want to have backwards incompatibility within the monorepo, it is possible:
|
Beta Was this translation helpful? Give feedback.
I don’t think that’s correct, certainly, I have not observed that before: I think this is an issue specific to the monorepo set-up you have. The monorepo tooling is responsible for creating the appropriate dependency linkage through
node_modules
–actions/checkout
just pulls down your repository contents.As I understand it, the expectation of a monorepo is that the packages are all compatible with each commit, that is, if you introduce a breaking change to Package A then you must update Package B at the same time to be compatible. …