-
-
Notifications
You must be signed in to change notification settings - Fork 685
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
Run testbed for Android on Linux #2230
Conversation
55b05ea
to
68b52ad
Compare
I see their blog post says "larger hosted runners"....but I haven't seen any problems with the testing I've done today.... |
329bc77
to
a542570
Compare
CI is so much fun 🙃 |
Oh HELL YES. Plug this directly into my VEINS. It looks like it's passed CI; is there some other concern you had for this to still be a draft? |
haha
yeah....I've been re-running the Android testbed job every so often tonight....and sometimes it fails because [edit] I also don't think installing example failures: |
93c5ace
to
2cea015
Compare
So, I've been experimenting with this throughout the day. Ultimately, it does seem as though a runner is assigned that is not exposing So...I guess the question is do we want to introduce this volatility in to CI for this small gain? We'll also need to answer this when we add the ability to run the helloworld apps to |
How small is the "small minority"? Looking at the history of runs on this PR, you've done 25 passes, doing 40 builds each. and only 1 of those passes has failed; it's not clear how many of those builds actually failed, and how many were killed because of another failure - but it looks to be no more than 3. If the failure rate is 1 in 1000... or even 1 in 300... I think we can live with that. Dropping the testing time by a factor of 5 is a much bigger win than the minor inconvenience of a 1 in a 300 failure. As for restarting runs - we already have intermittent failures, and while it's inconvenient, it's not that inconvenient; this is one more possible intermittent failure. It's worth adding a note in the dev guide that this happens sometimes. It's also worth noting that the faster run means the Android logs have a lot less of the Android log noise complaining about the fact that the tests are running slow, which will likely resolve some of the other intermittent failures we're seeing. |
Hard to say without a better understanding of the distribution of failures. If the distribution is uniform, then today's testing suggests they are quite rare.....but I doubt their distribution is uniform. I saw more failures just messing around last night than I did all day today....so, some confluence of unknown factors likely impacts the likelihood of a failure and may demonstrate a distribution with sustained higher likelihoods of failures over certain periods of time. At the end of the day, though, this change is trivial to revert.....so, I'm game to see how it goes if you are. |
8336202
to
54bde24
Compare
54bde24
to
c715416
Compare
I left in a small piece of debug code to drop some breadcrumbs if/when this fails in the future. My hypothesis is KVM is always available on GitHub's 4-core runners....but not on their 2-core runners. Furthermore I think that's what driving the "minority of runners" situation here....I think they may be phasing out 2-core runners...or something... |
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.
Personally, I'm happy to try this as an experiment. I'll wait to see if @mhsmith has any concerns, but otherwise, I'm happy to merge this.
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 very much; this has been the biggest problem with Toga CI for a long time.
for posterity:
https://github.blog/2024-01-17-github-hosted-runners-double-the-power-for-open-source/ fwiw, I felt that GitHub had instrumentation in place detecting repos using KVM and would quietly promote them to the larger runners....if only because, at first, there were failures but they all of sudden dissipated. |
Changes
Notes
app-build-verify.yml
, I got this working and figured I share here...especially since Toga's CI has been serving as inspirationPR Checklist: