-
Notifications
You must be signed in to change notification settings - Fork 4.7k
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
Enable some browser legs on the extra-platforms pipeline #64065
Merged
Merged
Changes from 1 commit
Commits
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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.
This would mean that when
runtime-extra-platforms
is being run, then it will run only if the changes were found. But isn't the expectation that when running this pipeline manually, everything should run?Some of the other jobs in this file also seem to have the same issue.
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, I would expect at least the configurations that don't run full tests on PR's to run all when manually triggered.
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.
Since this is now not longer a mono specific pipeline like the runtime-manual was, we are still using the evaluate-paths logic for PRs but scheduled will run all.
However, we can adjust these conditions as convenient, for example instead of depending on the wasm debugger path subset, we can just make this less granular and depend on any mono change.
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.
That kinda defeats the purpose of running it manually, IMHO. IIUC, for PRs we run a limited set by default, like smoke tests for libraries. And we had added this separate pipeline to allow running all the tests, so we could check in the PR if anything broke. Otherwise, we would find out only on a rolling/scheduled build.
Please correct me if I'm wrong.
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.
I think I'm not being clear. If you change a path that applies to any of the needed tests, it will run all the tests, but only if you changed paths that need those tests. Inside this pipeline smoke tests will never run. You can confirm that by looking at this condition:
runtime/eng/pipelines/common/xplat-setup.yml
Line 52 in 97fec41
and
runtime/eng/pipelines/common/variables.yml
Line 18 in 97fec41
However, the mono tests will only run if you changed libraries or mono subset for example. Or the wasm debugger tests will only run if you changed the wasm debugger path subset.
If the PR contains changes to runtime tests then the runtime tests will run, etc. Same as the main PR pipeline works with the evaluate changed paths, but this pipeline will run all the tests, not smoke tests.
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.
But we only have either rolling or manual trigger with this pipeline. We don't have per PR run by default, only if invoked manually.
We have been using the evaluate-changed-paths ever since the repo was created and we have found very fue issues because of that but a huge gain on resource saving. I don't think we should throw in and create a pipeline for mono and one for non mono, that will cause more and more confusion to developers. Running based on changed paths is the same as if it were part of the main PR pipeline, even the smoke tests run only if mono or libraries are changed.
Rather than throwing more pipelines into the equation I would just update the legs that depend on wasm debugger or build browser paths, to instead depend on mono paths + debugger paths/build browser paths.
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.
Oh, then it would mean that the browser/windows jobs will run only on rolling builds, or manual runs. Was that an oversight?
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.
I missed we were setting evaluate paths. When triggered manually, we would be getting the same experience before we started running smoke tests only. That should be acceptable for most cases.
For changes that cause no legs to run, I think we either do what santi suggested and adjust specific paths or there is always the option to trigger manually from azdo. You can set any yml variable and force a full run if you wanted to.
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.
They will run on manual runs or scheduled runs for the extra-platforms pipeline. If we want them to run smoke tests on the main runtime pipeline, then we can do that as well.
Yeah, however if you set the mono subsets path + the wasm debugger and the build browser paths, I think it will be very very few cases where you will need to run it manually from the pipeline UI
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.
Yeah, runtime-staging. I can open a PR for that