-
Notifications
You must be signed in to change notification settings - Fork 9.8k
[ci] Update Chrome install script and version. #5098
[ci] Update Chrome install script and version. #5098
Conversation
This brings the version of Chrome that we use for integration web tests in line with the one used by flutter/flutter and flutter/engine.
It looks like this pull request may not have tests. Please make sure to add tests before merging. If you need an exemption to this rule, contact Hixie on the #hackers channel in Chat (don't just cc him here, he won't see it! He's on Discord!). If you are not sure if you need tests, consider this rule of thumb: the purpose of a test is to make sure someone doesn't accidentally revert the fix. Ask yourself, is there anything in your PR that you feel it is important we not accidentally revert back to how it was before your fix? Reviewers: Read the Tree Hygiene page and make sure this patch meets those guidelines before LGTMing. |
script/install_chromium.sh
Outdated
mkdir "$TARGET_DIR" | ||
wget --no-verbose "https://www.googleapis.com/download/storage/v1/b/chromium-browser-snapshots/o/Linux_x64%2F${CHROMIUM_BUILD}%2Fchrome-linux.zip?alt=media" -O "$TARGET_DIR"/chromium.zip | ||
unzip "$TARGET_DIR"/chromium.zip -d "$TARGET_DIR"/ | ||
mkdir $TARGET_DIR |
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.
Why did you remove the quotes here?
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.
Because I had no idea what I was doing, but I've done some reading now :P
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.
readonly CHROMIUM_BUILD=929514 | ||
|
||
# The correct ChromeDriver is distributed alongside the chromium build above, as | ||
# `chromedriver_linux64.zip`, so no need to hardcode any extra info about it. |
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.
Do we know if this will be true in general going forward?
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 has been true since February 2019:
But I don't have any guarantees that this is going to continue to be true in the future (but it's very convenient as is!). Let me ask in YAQS, see if anybody responds.
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.
Found where it started to happen (it's mentioned as a "temporary" workaround):
https://bugs.chromium.org/p/chromedriver/issues/detail?id=2656#c15
The issue is currently assigned to a Googler, I'll try to reach out to them when they're back in the office.
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 has been true since February 2019
That sounds like the kind of "temporary" that's not likely to change a lot, so it seems fine to depend on. It's not like it's hard to go back to the old approach if it's changed without something better (and it sounds like it would probably remain this way until there's something better).
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, if this assumption changes, we'd also need to change the CIPD roller script in the engine repo (but that thing only runs seldomly, this script would break much earlier)
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.
LGTM
video player seems to be legitimately failing:
But when the same URL is tested here it seems to work: |
Transient server failure maybe? I really need to finish getting #4987 working to eliminate that URL. |
I extracted the video_player part of that PR into #5103 since they are particular problematic (as demonstrated here). |
Looks like either a transient failure, or that we're getting throttled/rate limited. After a rerun, a different package failed (both tests use the same m3u8 URL, though!): First:
Then:
Thanks for prioritizing that fix, I'll take a look! |
That's landed, so hopefully merging |
Looking much better in the current run (All ios test seem to have passed now). (Knock on wood.) |
(No tests for this .sh file yet, I guess it could get migrated as a dart tool?) |
Potentially, but it's so simple that I tend to categorize it as "it is a test"; there's no way for it to fail without the tests that need it failing. (Unlike most of the repo tooling, where silently not failing when it should is a very real danger that's happened a bunch of times in the past.) We could potentially even teach the bot to ignore that specific file. |
Yeah, that is a very good point! |
This brings the version of Chrome that we use for integration web tests in line with the one used by flutter/flutter and flutter/engine.
No Issue (that I could find); at first I thought this would help with a test that I'm writing for an unrelated issue, but then I thought that the improvements to the script might be interesting (we might want to rollback the chromium build_id to what was there before?)
Pre-launch Checklist
dart format
.)[shared_preferences]
pubspec.yaml
with an appropriate new version according to the pub versioning philosophy, or this PR is exempt from version changes.CHANGELOG.md
to add a description of the change, following repository CHANGELOG style.///
).If you need help, consider asking for advice on the #hackers-new channel on Discord.