Closed Bug 1595153 Opened 5 years ago Closed 5 years ago

[Thunderbird] Migration to Firefox-CI

Categories

(Thunderbird :: Build Config, task)

task
Not set
normal

Tracking

(thunderbird_esr68 fixed, thunderbird71 fixed, thunderbird72 fixed)

RESOLVED FIXED
Thunderbird 72.0
Tracking Status
thunderbird_esr68 --- fixed
thunderbird71 --- fixed
thunderbird72 --- fixed

People

(Reporter: rjl, Assigned: rjl)

References

Details

Attachments

(8 files)

This is a bug for tracking commits to Thunderbird repositories related to the Firefox CI migration.

For this bug, please use the Phabricator/Lando workflow.

This is a port of D14198 for Thunderbird. Using the hardcoded taskcluster.net
hostname is not supported on Firefox-CI.

Attachment #9107559 - Attachment description: Port bug 1492664 - use {artifact-reference: ..} for symbol uploads. → Bug 1595153 - Port bug 1492664: Use {artifact-reference: ..} for symbol uploads.
Attachment #9107560 - Attachment description: Bug 1595153 - Switch thunderbird to gcp scriptworkers; r?mtabara → Bug 1595153 - [firefox-ci] Switch thunderbird to gcp scriptworkers; r?mtabara
Attachment #9107561 - Attachment description: Bug 1595153: [firefox-ci] Switch to using aws-provider workers; → Bug 1595153 - [firefox-ci] Switch to using aws-provider workers;

Pushed by thunderbird@calypsoblue.org:
https://hg.mozilla.org/comm-central/rev/2b2791f094a6
Port bug 1492664: Use {artifact-reference: ..} for symbol uploads. r=darktrojan,tomprince
https://hg.mozilla.org/comm-central/rev/a3bc2a8807db
[firefox-ci] Switch to using aws-provider workers; r=rjl
https://hg.mozilla.org/comm-central/rev/9b8b03b90835
[firefox-ci] Switch thunderbird to gcp scriptworkers; r=mtabara

Status: ASSIGNED → RESOLVED
Closed: 5 years ago
Resolution: --- → FIXED
Status: RESOLVED → REOPENED
Keywords: leave-open
Resolution: FIXED → ---

Comment on attachment 9107561 [details]
Bug 1595153 - [firefox-ci] Switch to using aws-provider workers;

[Request applies to all patches associated with this bug]
These changes look good so far on comm-central. They will need uplifting to beta and esr68 as well.

Attachment #9107561 - Flags: approval-comm-esr68?
Attachment #9107561 - Flags: approval-comm-beta?

Comment on attachment 9107561 [details]
Bug 1595153 - [firefox-ci] Switch to using aws-provider workers;

Sure. Maybe wait with beta until TB 71 beta 3 is out the door.

Attachment #9107561 - Flags: approval-comm-esr68?
Attachment #9107561 - Flags: approval-comm-esr68+
Attachment #9107561 - Flags: approval-comm-beta?
Attachment #9107561 - Flags: approval-comm-beta+

Whatever build# that was for beta 3 had to be canceled because Shipit is being pointed at the new infrastructure and there wasn't a way to continue. We will have to start a new build Monday.

This is a port of D50357 for Thunderbird.

This is a port of D52456 for Thunderbird.

Pushed by thunderbird@calypsoblue.org: https://hg.mozilla.org/comm-central/rev/42caee63995f [firefox-ci] Use AWS Provider-based decision worker. r=tomprince https://hg.mozilla.org/comm-central/rev/572c9831cdfe [firefox-ci] Use taskcluster-proxy for windows builds' tooltool access. r=tomprince CLOSED TREE

Right now Thunderbird builds won't work because of a problem with the way toolchain tasks are set up.

At the moment, all of the toolchains are just references to the kind definitions in Firefox's tree. The problem is that at least a couple of those toolchain builds are using worker types that aren't set up for comm-* repos.

Specifically, clang uses b-linux-xlarge and b-linux-large which resolve to *comm-X/b-linux-large and *comm-X/b-linux-xlarge.

Those aren't defined in ci-configuration/worker-pools.yml though, so clang never builds.

I'm thinking an easy fix might be to change the alias for b-linux:

workers:
    aliases:
        b-linux.*:
            provisioner: comm-{level}
            implementation: docker-worker
           os: linux
-           worker-type: '{alias}'
+           worker-type: b-linux

That should work.. I am not sure about the ramifications of trying to build clang on a smaller image though.
These failed on try-comm-central as well so I will set up a test build and see how well it works.

Any other suggestions?

Flags: needinfo?(mozilla)

We can duplicate the worker gecko-b-linux large worker types to comm.

Flags: needinfo?(mozilla)

The Clang toolchain builds use large and xlarge build workers.
Configuring them for Thunderbird builds as suggested.

Pushed by thunderbird@calypsoblue.org: https://hg.mozilla.org/comm-central/rev/c45cd28f33e2 Disable Nightly builds. a=me DONTBUILD CLOSED TREE
Pushed by mozilla@jorgk.com: https://hg.mozilla.org/comm-central/rev/c80cce86e74e Temporarily hard-code worker type to fix Clang toolchain builds. a=jorgk CLOSED TREE

Sorry to interfere here, but I'd like to maintain C-C in a buildable state since M-C changes are being merged. I trust there is no issue with backing out one line later.

(In reply to Rob Lemley [:rjl] from comment #13)

Created attachment 9107714 [details]
Bug 1595153 - Add large and xlarge b-linux workers to comm provisioners. r?callek

The Clang toolchain builds use large and xlarge build workers.
Configuring them for Thunderbird builds as suggested.

Did we miss these in the migration? Where are/were they used? -- Can this wait until Monday to deploy/fix?

Flags: needinfo?(rob)

We seem to be OK with the bandaid landed in comment #15.

(In reply to Justin Wood (:Callek) from comment #17)

Did we miss these in the migration? Where are/were they used? -- Can this wait until Monday to deploy/fix?

As Jörg states, he's landed my bandaid, so yes Monday is fine. That's the expectation Tom gave me when I talked to him last night.

These are used only when building the Clang toolchains. Thunderbird uses a loader for toolchains that uses the same kind configs as Firefox. So if you look in comm-central for these workers being used, you don't see them. Perfectly understandable why this didn't get caught earlier. In hindsight, I should have been running try jobs a lot earlier than I did because by the time I realized that Clang wasn't building due to no configured workers being available it was already quite late.

The bandaid I came up with does work. It just aliases the larger instance names to b-linux so the jobs run. However it takes around 70 minutes to compile Clang9 on the smaller instances, whereas looking at the same build jobs that ran for Firefox over the weekend it runs in about 20 minutes.

The time isn't such a big deal IMHO. (Jörg may disagree, he's the one that has to sit there and wait for toolchains to build when they get updated by the build team.) I'm more concerned about the possibility a Clang update that doesn't compile on the smaller instance.

I'm looking at this thinking to myself that it's unreasonable to set up worker instances for what amounts to maybe 10 or so build jobs across the Thunderbird repos in a month.

I'll look for you in IRC tomorrow (Monday).

Flags: needinfo?(rob)
Pushed by mozilla@jorgk.com: https://hg.mozilla.org/comm-central/rev/41278090902a Backed out changeset c45cd28f33e2 to re-enable Nightly builds. a=backout

Tooltool changes for Firefox CI.

Attachment #9107962 - Flags: review?(geoff)
Comment on attachment 9107962 [details] [diff] [review] tooltool_internal_for_beta.patch Review of attachment 9107962 [details] [diff] [review]: ----------------------------------------------------------------- You already landed this line, so I don't think it is the change you're looking for.
Attachment #9107962 - Flags: review?(geoff)

This is the right patch for comm-central. The extra-config piece isn't needed now.

Attachment #9107973 - Flags: review?(geoff)
Comment on attachment 9107973 [details] [diff] [review] tooltool_partialbackout_for_central.patch Review of attachment 9107973 [details] [diff] [review]: ----------------------------------------------------------------- That's more like it.
Attachment #9107973 - Flags: review?(geoff) → review+
Comment on attachment 9107962 [details] [diff] [review] tooltool_internal_for_beta.patch Yup grabbed the wrong one. This one is for c-beta. I'm not going to land the extra-config piece on beta just to back it out in the next commit.
Attachment #9107962 - Attachment description: tooltool_partialbackout.patch → tooltool_internal_for_beta.patch
Attachment #9107962 - Attachment filename: tooltool_partialbackout.patch → tooltool_internal_for_beta.patch
Attachment #9107962 - Flags: review?(geoff)
Attachment #9107962 - Flags: review?(geoff) → review+
Pushed by thunderbird@calypsoblue.org: https://hg.mozilla.org/comm-central/rev/9412e46f895c Port bug 1595368: Consistent logic to determine tooltool url. r=darktrojan DONTBUILD
Status: REOPENED → RESOLVED
Closed: 5 years ago5 years ago
Keywords: leave-open
Resolution: --- → FIXED
Target Milestone: --- → Thunderbird 72.0
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: