Closed Bug 1179476 Opened 9 years ago Closed 9 years ago

use in gecko tree mozharness across all buildbot based jobs

Categories

(Release Engineering :: Applications: MozharnessCore, defect)

defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: jlund, Assigned: jlund)

References

Details

Attachments

(4 files, 2 obsolete files)

this bug will be broken up into a few parts

part 1 - enable mh in-tree for c-i jobs that are using mozharness pinning on a project branch (ash)

part 2 - enable mh in-tree for c-i jobs that are using mozharness pinning across all branches

part 3 - enable mh in-tree for all factory based jobs that clone mh as a build step (e.g. android nightly builds)

part 4 - enable mh in-tree for all desktop and mobile l10n jobs (right now they are not using mh pinning)

part 5 - enable mh in-tree for all release jobs
this is to support the few edge cases where we download mozharness in factory based jobs. e.g. b2g32 gecko builds
Attachment #8630725 - Flags: review?(rail)
(In reply to Jordan Lund (:jlund) from comment #1)
> Created attachment 8630725 [details] [diff] [review]
> 150707_bug_1179476_MozillaBuildFactory_support_for_mozharness_in_tree-
> bbotcustom.patch
> 
> this is to support the few edge cases where we download mozharness in
> factory based jobs. e.g. b2g32 gecko builds

this addresses part 3 from comment 0

part 1 and 2 is being covered in https://bugzilla.mozilla.org/show_bug.cgi?id=1154801
Attachment #8630725 - Flags: review?(rail) → review+
this is part 4, desktop_l10n and mobile_l10n support.

These builders were missing the required repo_path property that is used in the archiver client call so I added it.
this is part 5 of this bug

Rail, I was wondering if you could help me with this. Or maybe point me to someone who can. I am quite unfamiliar with release.py and releases themselves.

my logic here was:

  1) find all instances where we clone mozharness in release.py.
  2) see if there was a rev that I could use to get mozharness from. In this case, I found that we use tags (the same tag across the gecko tree and our build repos).
  3) find the release.py equivalent of repo_path. I found sourceRepoInfo['clonePath']
  4) add support for tags in ScriptFactory and archiver_client.py[1]

This code is untested. What's the normal procedure here for patching release.py? Do release folks run staging builds before every release? Do you have any current release builds you could run in staging with this?

[1] https://bugzilla.mozilla.org/show_bug.cgi?id=1181331#c4
Attachment #8631085 - Flags: review?(rail)
Comment on attachment 8630776 [details] [diff] [review]
150707_bug_1179476_l10n_support_for_mozharness_in_tree-bbotcustom.patch

feel free to bounce this review. There are not many mozharness l10n folks in releng anymore :)

this is part 4 of this bug. See https://bugzilla.mozilla.org/show_bug.cgi?id=1179476#c3
Attachment #8630776 - Flags: review?(rail)
Comment on attachment 8631085 [details] [diff] [review]
150708_bug_1179476_release_support_for_mozharness_in_tree-bbotcustom.patch

Review of attachment 8631085 [details] [diff] [review]:
-----------------------------------------------------------------

::: process/release.py
@@ +908,5 @@
>                          scriptName='scripts/mobile_l10n.py',
>                          extra_args=extra_args,
>                          use_credentials_file=True,
>                          env=env,
> +                        relengapi_archiver_repo_path=sourceRepoInfo['clonePath'],

sourceRepoInfo['clonePath'] won't work, it's a staging only variable.

sourceRepoInfo['path'] will work for firefox and fennec, but not for TB.

Something like this may work:

relengapi_archiver_repo_path = sourceRepoInfo['path']
if sourceRepoKey == "comm":
    relengapi_archiver_repo_path = releaseConfig['sourceRepositories']['mozilla']['path']
Comment on attachment 8630776 [details] [diff] [review]
150707_bug_1179476_l10n_support_for_mozharness_in_tree-bbotcustom.patch

Review of attachment 8630776 [details] [diff] [review]:
-----------------------------------------------------------------

lgtm
Attachment #8630776 - Flags: review?(rail) → review+
Attachment #8631085 - Flags: review?(rail) → review-
Attachment #8631277 - Flags: review?(rail) → review+
all instances where ScriptFactory was used in release.py was patched however I missed ReleaseBuildFactory (which inherits from MercurialBuildFactory).

We need to pass a --tag to those instances as they do not have a revision property. This solution is akin to ScriptFactory solution:
https://bugzilla.mozilla.org/show_bug.cgi?id=1179476#c4
https://bugzilla.mozilla.org/show_bug.cgi?id=1179476#c8
Attachment #8631897 - Flags: review?(nthomas)
Comment on attachment 8631897 [details] [diff] [review]
150709_bug_1154801_scriptfactory_gecko_mozharness-test_fix-bbotcustom.patch

wrong patch. sorryf for the noise
Attachment #8631897 - Attachment is obsolete: true
Attachment #8631897 - Flags: review?(nthomas)
same applies as https://bugzilla.mozilla.org/show_bug.cgi?id=1179476#c9

sorry, I need about 50 context lines to get the class in release.py (it is ReleaseBuildFactory)
Attachment #8631903 - Flags: review?(nthomas)
Attachment #8631903 - Attachment is patch: true
Attachment #8631903 - Attachment mime type: text/x-patch → text/plain
Attachment #8631903 - Flags: review?(nthomas) → review+
Depends on: 1183117
this has been live and used everywhere since last week. Resolving
Status: NEW → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: