Skip to content
This repository has been archived by the owner on Feb 20, 2023. It is now read-only.

Bug 1545730 - Enable raptor tests on Fenix #1774

Merged
merged 2 commits into from
Apr 24, 2019

Conversation

JohanLorenzo
Copy link
Contributor

@JohanLorenzo JohanLorenzo commented Apr 18, 2019

Pull Request checklist

  • Quality: This PR builds and passes detekt/ktlint checks (A pre-push hook is recommended) N/A
  • Tests: This PR includes thorough tests or an explanation of why it does not N/A
  • Changelog: This PR includes a changelog entry or does not need one N/A
  • Accessibility: The code in this PR follows accessibility best practices or does not include any user facing features N/A

@JohanLorenzo JohanLorenzo requested review from a team as code owners April 18, 2019 16:10
@ghost ghost assigned JohanLorenzo Apr 18, 2019
@ghost ghost added the review label Apr 18, 2019
@JohanLorenzo JohanLorenzo changed the title [WIP] Enable raptor tests on Fenix [WIP] Bug 1545730 - Enable raptor tests on Fenix Apr 19, 2019
@JohanLorenzo JohanLorenzo reopened this Apr 19, 2019
@ghost ghost added review and removed review labels Apr 19, 2019
@JohanLorenzo JohanLorenzo force-pushed the raptor branch 5 times, most recently from 3c41557 to ca94bf5 Compare April 23, 2019 14:44
@JohanLorenzo
Copy link
Contributor Author

JohanLorenzo commented Apr 23, 2019

@JohanLorenzo JohanLorenzo changed the title [WIP] Bug 1545730 - Enable raptor tests on Fenix Bug 1545730 - Enable raptor tests on Fenix Apr 23, 2019
@JohanLorenzo
Copy link
Contributor Author

r? @davehunt

@davehunt
Copy link
Contributor

@JohanLorenzo I'm not familiar enough with this code to provide a review, is there someone else that can take it? I would also suggest @ionutgoldan @rwood-moz take a look over these changes, but shouldn't block.

Copy link
Contributor

@jmaher jmaher left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

there is a bit of rubber stamping going on here- this is easy to follow and read, likewise it is a good start for us to edit in the future.

I have a lot of nits I would like to mention regarding adding comments. I only have one item I did add as a followup todo which seemed most relevant and actionable.

_DEFAULT_TASK_URL, signing_task_id, DEFAULT_APK_ARTIFACT_LOCATION
)
architecture, _ = get_architecture_and_build_type_from_variant(variant)
worker_type = 'gecko-t-ap-perf-p2' if force_run_on_64_bit_device or architecture == 'aarch64' else 'gecko-t-ap-perf-g5'
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we need to fix this (as a followup is ok) for both refbrow and fenix- we only use gecko-t-ap-perf-g5, but for power/battery tests we need gecko-t-ap-batt-g5|p2. It isn't a priority to have speedometer power running, but having the plumbing so we can edit the test name/definition and it just works would be really nice.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good catch! I'll handle it in a followup.

app/build.gradle Outdated
doLast {
println "nightly: " + groovy.json.JsonOutput.toJson(GeckoVersions.nightly_version)
println "beta: " + groovy.json.JsonOutput.toJson(GeckoVersions.beta_version)
println "release: " + groovy.json.JsonOutput.toJson(GeckoVersions.release_version)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we need any of these other than nightly? If not, perhaps we should remove the others until they're needed.
One development behaviour I really like is having the simple obsolete-code-heuristic "if this isn't used [anymore], it can be deleted". If we add functionality because we'll need it in the future, then it's easier for obsolete code to stick around because it's not immediately obvious that it's not "code for the future".

When we need to find the beta geckoview version, we'll definitely be doing a new PR anyways, so having this as part of this changeset isn't saving us from a PR.

Not a blocker for this PR, but just a pattern that I appreciate. What do you think?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I agree with you, it's not used yet. I heard the first Fenix release will be on Geckoview 68 which will go beta soon. That said, we'll need to define new jobs anyway. I removed these extra lines.

arch in ('arm', 'aarch64') and
is_master_push
architecture in ('arm', 'aarch64') and
SHORT_HEAD_BRANCH == 'master'
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why do you need both is_master_push and SHORT_HEAD_BRANCH == 'master'? Aren't they confirming the same underlying fact?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good catch. is_master_push is misleading. I just renamed it into is_push

@@ -436,6 +452,115 @@ def craft_push_task(
},
)

def craft_raptor_tp6m_cold_task(self, for_suite):

def craft_function(signing_task_id, mozharness_task_id, variant, gecko_revision, force_run_on_64_bit_device=False):
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We never call _craft_raptor_task directly.
Perhaps instead of defining that function, then making a closure that wraps it with default values, why don't we just move the defaults into _craft_raptor_task itself and remove the need for craft_raptor_tp6m_cold_task?

Perhaps this is similar to my argument about printGeckoviewVersions - it seems like we're adding complexity ahead-of-time before it's warranted

Copy link
Contributor Author

@JohanLorenzo JohanLorenzo Apr 24, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

_craft_raptor_task() is going to be called at several places real soon, when new job types are enabled (like they are in r-b). I'd prefer this function around. This will make job addition easier.

@csadilek csadilek merged commit d72df34 into mozilla-mobile:master Apr 24, 2019
@ghost ghost removed the review label Apr 24, 2019
@JohanLorenzo JohanLorenzo deleted the raptor branch April 24, 2019 15:33
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants