-
Notifications
You must be signed in to change notification settings - Fork 117
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
Update Zulip tests and re-enable #441
Conversation
This has the update to unblock autocomplete changes: zulip/zulip-flutter#1190 flutter/flutter#143249 and with that, tests pass again on Flutter main.
Tests pass in Zulip's own CI on Flutter main, after zulip/zulip-flutter#1190, so I expect they'll pass here too. We'll have confirmation on that soon. @justinmc @Piinks I saw a mention at #437 (comment) that there was more than one upstream change these tests were blocking. I guess any others haven't yet landed, given that tests pass — what's the other PR (or PRs) involved? (I did just re-scan through Zulip's PR queue and my email, but didn't spot anything.) Happy to take updates as needed. |
There were a couple PRs that were seeing test flakes actually, @gnprice do you have a sense for how flaky some tests may be in this test suite? |
We've had a flaky test or two in the past, but I'm not aware of any right now. If you can track down the affected test runs or PRs, I'd be glad to investigate. |
(I've also now kicked off running our test suite a bunch of times in a loop, on my own machine — so if there is a flake currently present, hopefully that will find it.) |
Other than this comment #437 (comment)
|
Thanks — looking into those. |
I've investigated and I believe there are no flakes in the tests. There is an infra issue, which caused one and probably both of the failures mentioned above. I'll deal with that. The failure at #437 (comment) comes from The failure on https://github.com/flutter/flutter/pull/161091/checks quoted above is hard to pin down because the checks have been re-run since then, and there doesn't seem to be a way to get more details from GitHub (though I spent some time digging for them). Do you have a more complete log than that snippet? Lacking more info on that one, though: "5 failed" is exactly the number of tests that would fail for lack of libsqlite3.so, so with no sign of another issue it's probably that one. Then to actively search out any flakes:
|
This package is no longer included in GitHub's new version of the "ubuntu-latest" images. That causes nondeterministic failures when the runner happens to use the new version: flutter#441 (comment) The actual shared library file libsqlite3.so.0.8.6 -- in the package libsqlite3-0 -- is still installed by default anyway. This package adds the symlink at "libsqlite3.so", which is the filename some libraries apparently look for.
Fixed that infra issue by installing the package again. Also updated the PR description so it provides an accurate commit message for a squash-merge commit. |
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.
Thanks for the thorough investigation! This LGTM!
@gnprice Thanks for jumping on this right after the holidays! |
reason for revert: sudo apt-get install does not work on LUCI |
This reverts commit 8cf7a67.
Reverts: #441 Initiated by: matanlurey Reason for reverting: sudo apt-get install does not work on LUCI Original PR Author: gnprice Reviewed By: {Piinks} This change reverts the following previous change: This has the update to unblock autocomplete changes: zulip/zulip-flutter#1190 flutter/flutter#143249 and with that, tests pass again on Flutter main. Also install libsqlite3-dev on Linux, a package which is no longer included in GitHub's new version of the "ubuntu-latest" images. The lack of it causes nondeterministic failures when the runner happens to use the new image: #441 (comment) The actual shared library file libsqlite3.so.0.8.6 -- in the package libsqlite3-0 -- is still installed by default anyway. This package adds the symlink at "libsqlite3.so", which is the filename some libraries apparently look for.
Earlier I'd tried adding this "apt install" command directly in the test registry, as a "setup" line in the "zulip.test" file: flutter/tests#441 But the Flutter "customer testing" suite gets run in two different environments; and it turns out that not only does the LUCI environment not need this step (the Zulip tests there were working fine right up until they were disabled last week due to the failures in GitHub Actions), but it also doesn't permit it: there's no access to `sudo`: https://discord.com/channels/608014603317936148/1290464157765865552/1331449169830871122 https://ci.chromium.org/ui/p/flutter/builders/prod/Linux%20customer_testing/22301/overview Error output (reformatted): Processing ./../../bin/cache/pkg/tests/registry/zulip.test... >> sudo apt install -y libsqlite3-dev | sudo: a terminal is required to read the password; either use the -S option to read from standard input or configure an askpass helper ERROR: Setup command failed: sudo apt install -y libsqlite3-dev So we need this bit of conditional logic too. That makes this a little more complex than fits in a "setup" line in the test registry. So instead let's make this script which we can invoke from there.
Earlier I'd tried adding this "apt install" command directly in the test registry, as a "setup" line in the "zulip.test" file: flutter/tests#441 But the Flutter "customer testing" suite gets run in two different environments; and it turns out that not only does the LUCI environment not need this step (the Zulip tests there were working fine right up until they were disabled last week due to the failures in GitHub Actions), but it also doesn't permit it: there's no access to `sudo`: https://discord.com/channels/608014603317936148/1290464157765865552/1331449169830871122 https://ci.chromium.org/ui/p/flutter/builders/prod/Linux%20customer_testing/22301/overview Error output (reformatted): Processing ./../../bin/cache/pkg/tests/registry/zulip.test... >> sudo apt install -y libsqlite3-dev | sudo: a terminal is required to read the password; either use the -S option to read from standard input or configure an askpass helper ERROR: Setup command failed: sudo apt install -y libsqlite3-dev So we need this bit of conditional logic too. That makes this a little more complex than fits in a "setup" line in the test registry. So instead let's make this script which we can invoke from there.
This re-lands 8cf7a67. Difference from previous version: This version has the new setup step do its work only where `sudo` is available (in GitHub Actions), and successfully do nothing where it's unavailable (in LUCI). The step isn't needed in LUCI. The logic lives in a setup script added today to the Zulip tree: zulip/zulip-flutter#1300
This has the update to unblock autocomplete changes:
zulip/zulip-flutter#1190
flutter/flutter#143249
and with that, tests pass again on Flutter main.
Also install libsqlite3-dev on Linux, a package which is no longer
included in GitHub's new version of the "ubuntu-latest" images. The
lack of it causes nondeterministic failures when the runner happens
to use the new image:
#441 (comment)
The actual shared library file libsqlite3.so.0.8.6 -- in the package
libsqlite3-0 -- is still installed by default anyway. This package
adds the symlink at "libsqlite3.so", which is the filename some
libraries apparently look for.
Pre-launch Checklist
///
).If you need help, consider asking for advice on the #hackers-new channel on Discord.