Add UI tests nightly build #17948
Add UI tests nightly build #17948
Conversation
@bhearsum please let me ask you for review in this PR... This is a new PR to try to solve the issue we commented a few days ago on slack about adding a new task to run UI tests on Nightly builds. Here in this PR looks like the ui-test-x86-nightly task is created successfully. I added the try_config file to check that, is there any other way I can try to know this is going to be fine on master and not break the decission task? |
@@ -49,13 +49,14 @@ job-template: | |||
# No test job runs on push against this build type. Although we do want nightly-simulation | |||
# signed to use it in the gecko trees. | |||
# We want beta on push so that we detect problem before shipping it | |||
(nightly-simulation|beta-firebase|android-test-beta): [github-push] | |||
(nightly-simulation|beta-firebase|android-test-beta|nightly-firebase|android-test-nightly): [github-push] |
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.
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 this may fix the issue; it's worth a try.
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!! Let's land it and try...if it fails I will revert it right away
@bhearsum I remember you mentioned about changing the build type to something different than Not sure if there are other options to modify that... |
This reverts commit 0328799.
@bhearsum Unfortunatelly same error as before:
Something still wrong trying to sign the android-test-nightly.... |
Do we need this signed? |
@aki thanks for jumping in... We need the apk to be signed but it does not have to be with the production signing task... that's not intended in this PR and not needed so if we can do dep signing that would be great... |
So in this block we want In this block we want Can we make the build not have the |
Oh I see.. I'm afraid I don't know how to use a different build type in order to get the nightly build for testing... these are the build types we have: https://github.com/mozilla-mobile/fenix/blob/master/app/build.gradle#L92 . I have followed same implementation as for the debug and beta tests that we have... These were the changes to allow the beta tests work in case that helps. I need the nightly build type so that it is used here and the correct apks for nighly are generated. If there is already a nightly being created per push in master and that's signed, not sure if we could use that one? Then we should only need to create the test apk... in theory the testApk and apk could be signed with different signature as long as they are signed, tests will run in Firebase. |
@isabelrios what is the test? Is the test this nightly build task, or are we running a UI test against a nightly build? |
@escapewindow the test we want to run is a UI test defined here. |
@isabelrios Hm.
I'm getting the impression that we need a new nightly build with dep-signing on push, in which case we might need a patch like this. |
Hope I can answer your questions @escapewindow ...
Some context here is that currently on master we are only running tests against the debug build and we are missing that coverage for nightly builds. On releases branches we run tests against beta builds. Each type of build should be covered somehow. At the moment the nightly build created and uploaded is only checked by the unit tests. Hope this makes sense...
Yes, that sounds like what we want but worried if that patch will complicate things considerably... |
Yes, that's why in #17948 (comment) I said
We've probably passed the point where encoding the config in yaml + |
Thanks @escapewindow for all your explanation, to be honest I don't have enough knowledge about TC or tashkgraph to know/understand if that change will have more pros or cons for now and in the future :( Don't know the consequences in terms of complexity for further implementations... Thanks again for all your help with this |
I think the above patch should be ok.
https://docs.mozilla-releng.net/en/latest/procedures/mobile_automation_setup.html?highlight=mobile#how-to-set-up-taskgraph-for-mobile describes how we can test taskgraph changes without testing in production. The last step (taskgraph-gen.py) allows us to generate a set of task graphs before we make a change, and compare it to what it looks like after we make a change. I did this, and the changes look like they're probably good. If you're going to be adding tasks and changing task configurations frequently, it's probably worth trying out.
No problem! |
okay, sounds good...should I go ahead and create a PR with those changes then @escapewindow? not sure if you prefer to do the changes in the taskgraph/signing kind.yml and then I re-do my PR or I can create the PR with that? As you prefer... :) |
If you're ok with it, please feel free to include those changes in a PR. |
@escapewindow Okay, I will create a new PR with those changes plus the original ones in this PR trying to have test running on Nightly. Thanks! |
* Try adding UI Tests to Nightly build * adding try_config file * remove try_task_config
…obile#17960) This reverts commit 0328799.
Creating a new PR to continue the work and investigate the issue found in the decission task previously when trying to add a test for Nightly builds, similar to the one added recently to Beta builds.
As commented in that PR: The idea is to run at least one test on the Nightly build in addition to the tests that run in the debug build so that if it fails we know something is not correct with the Nightly build that is used by the cron job to uplift it to the playstore. Currently there are only unit tests checking the Nightly build that is created by the cron job.