-
Notifications
You must be signed in to change notification settings - Fork 3.3k
[ci] Introduce LUCI versions of Linux desktop platform tests #4223
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
[ci] Introduce LUCI versions of Linux desktop platform tests #4223
Conversation
Adds scripts and LUCI targets for the Linux desktop build-all and platform test tasks, corresponding to the Cirrus linux-build_all_packages and linux-platform_test tasks. Part of flutter/flutter#114373
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 haven't tried this with led
because I use it so infrequently I can never remember what exactly I can edit from other existing things and what I can't, so my plan is just to land this, see if it works once things propagate, and then iterate from there. If either of you want to pre-test with led
though, please feel free :)
.ci.yaml
Outdated
properties: | ||
os: Ubuntu | ||
cores: "8" | ||
device_type: none |
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.
These three lines are copied from the config that seems to be running these tests in flutter/flutter.
.ci.yaml
Outdated
{"dependency": "cmake", "version": "build_id:8787856497187628321"}, | ||
{"dependency": "ninja", "version": "version:1.9.0"}, | ||
{"dependency": "curl", "version": "version:7.64.0"} | ||
] |
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.
These are copied from the flutter/flutter dependencies list of the desktop tests.
In flutter/flutter these are on targets, not in platform_properties, but since we'll need these in several tests I put them in a new configuration up here instead. Is that the right way to do it? Is there best practice/guidance on when to do configs vs duplicating in targets?
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 is the preferred way to go. Define any shared properties in platform level if all tests need. If some specific test needs an extra property, then add that to the target level.
The But the
|
Interesting, based on flutter/flutter#90676 (comment) I was expecting this not to happen any more. @godofredoc do you have any more context you can provide on that comment? Is there something I need to do in order to have an X server available in tests? |
This one is the lack of https://github.com/flutter/packages/blob/main/.ci/Dockerfile#L37-L40, which I forgot about. @keyonghan can you add this to your list of things I'll need infra support on in your comment? We'll need to figure out how to manage that setup in a LUCI world (or keep using Docker for this test, in which case this would be blocked on LUCI Docker). |
Oh, it looks like it's not that the new bots just handle this as the comment led me to think, but that
I'll try adding that to the script. |
We need a change in the packages recipe similar to this one https://flutter-review.googlesource.com/c/recipes/+/39186 pass the xvfb property in .ci.yaml |
The way flutter/packages is structured we shouldn't need that recipe change; the details of how things are executed are all in-repo scripts. I assumed that .ci.yaml property was acting as an install mechanism, but that doesn't seem to be the case based on what you linked to there. But I don't see anything related to |
xvfb is preinstalled on the vm image. |
I split out #4229 to land that while I iterate on this (especially since having that landed will make it easier for me to continue iterating on this without |
With the latest |
🎉 So we just need to figure out a solution to the Are the XDG utils pre-install on the image by any chance? |
@yusuf-goog Could we include the xdg-utils in our focal images for the VMs? |
Adds a desktop Linux platform configuration, and a LUCI version of the Linux desktop build-all test. Split from #4223 Part of flutter/flutter#114373
Marking as draft while we work out the dependencies. |
adc272d
to
65be06a
Compare
65be06a
to
ccf52b0
Compare
It turns out they are, but don't appear to be usable (or at least not using the same calls we make in Docker). I filed flutter/flutter#130074 (The last commit shoehorns the script into one of the existing desktop targets just for easy testing via presubmit, so the failure is currently visible in |
.ci.yaml
Outdated
@@ -292,8 +292,14 @@ targets: | |||
properties: | |||
add_recipes_cq: "true" | |||
version_file: flutter_master.version | |||
target_file: linux_build_all_packages.yaml | |||
# DO NOT LAND: For testing |
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.
Is this PR just for testing?
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.
The last commit to this PR is for testing, to see if it would work (which it didn't, thus flutter/flutter#130074)
This change sets up a .desktop file for our cipd chrome package which is required to get xdg-settings working. Unblocks: flutter#4223 Bug:flutter/flutter#130074
@yusuf-goog This is now fully working, and ready for review. |
flutter/packages@369ee7e...6889cca 2023-07-17 49699333+dependabot[bot]@users.noreply.github.com Bump github/codeql-action from 2.20.3 to 2.20.4 (flutter/packages#4490) 2023-07-15 stuartmorgan@google.com [ci] Switch Android unit tests to LUCI (flutter/packages#4406) 2023-07-15 stuartmorgan@google.com [ci] Introduce LUCI versions of Linux desktop platform tests (flutter/packages#4223) 2023-07-14 43054281+camsim99@users.noreply.github.com [camerax] Marks all wrapped classes as immutable (flutter/packages#4451) 2023-07-14 47866232+chunhtai@users.noreply.github.com [go_router] Bumps example go_router version and migrate example code (flutter/packages#4469) If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/flutter-packages-flutter-autoroll Please CC flutter-ecosystem@google.com,rmistry@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
flutter/packages@369ee7e...6889cca 2023-07-17 49699333+dependabot[bot]@users.noreply.github.com Bump github/codeql-action from 2.20.3 to 2.20.4 (flutter/packages#4490) 2023-07-15 stuartmorgan@google.com [ci] Switch Android unit tests to LUCI (flutter/packages#4406) 2023-07-15 stuartmorgan@google.com [ci] Introduce LUCI versions of Linux desktop platform tests (flutter/packages#4223) 2023-07-14 43054281+camsim99@users.noreply.github.com [camerax] Marks all wrapped classes as immutable (flutter/packages#4451) 2023-07-14 47866232+chunhtai@users.noreply.github.com [go_router] Bumps example go_router version and migrate example code (flutter/packages#4469) If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/flutter-packages-flutter-autoroll Please CC flutter-ecosystem@google.com,rmistry@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
Adds scripts and LUCI targets for the Linux desktop platform test tasks, corresponding to the Cirrus linux-platform_test tasks.
Part of flutter/flutter#114373