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
Publish packages in topological order #11434
Conversation
Publish packages in topological order
This reverts commit b45709d.
|
Questions:
|
Sort of? If we're not using lerna, then it's an independent package (examples include protocol-definitions, tinylicious, etc.), and thus has its own CI pipeline to build and release. The release process itself should ensure that the releases are done in the right order, (for example, when releasing the client packages, if a protocol-defs update is needed, the release tools require it to be released first) so you shouldn't need to account for it.
It will likely trigger the "Extraneous files check" in CI. That's designed to catch files that are generated unexpectedly during CI. |
| package_name=$(grep -oP 'npm notice package: \K.*' "publish_log") | ||
| npm pack $package_name | ||
| if cmp -s "$f" "$local_f" | ||
| f=$(find -name "${packageName}-[0-9]*.tgz") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Does this work with our internal version schema 2.0.0-internal.x.y.z?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, since this is a glob pattern and not regex. This pattern expects a single number after the package name to get around some packages starting with the same names e.g. a-b-2.0.0.tgz and a-b-c-2.0.0.tgz. Then as long as the name ends in .tgz, the file will match.
Thanks, @tylerbutler. Sorry for the late response, I wasn't notified you replied. For the second point, does this check get triggered in test pipelines? The pipelines I've run against this branch have been passing without seeming to trigger anything. |
@jenn-le If the CI is passing, then we'll call it good. :) I suggest merging main and pushing before you merge so you can get a fresh CI run. |
Here's a fresh, passing CI run: https://dev.azure.com/fluidframework/internal/_build/results?buildId=87938&view=results |
|
This commit is queued for merging with the |
This uses
lerna ls --toposortin order to get the topological order of packages in the repo and changes the pipeline step to publish packages in this order.Successful pipeline run here: https://dev.azure.com/fluidframework/internal/_build/results?buildId=83788&view=results