Closed Bug 1587554 Opened 5 years ago Closed 5 years ago

Migrate generic-worker, tc-lib-artifact-go CI to community deployment

Categories

(Taskcluster :: Operations and Service Requests, task)

task
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: dustin, Assigned: pmoore)

References

Details

Attachments

(1 file)

This will need reconfiguration of a bunch of "manual" workers, and creation of some Windows workers in the community-tc deployment.

It looks like https://github.com/taskcluster/taskcluster-lib-artifact-go/blob/master/.taskcluster.yml refers to a lot of the same workers, so please migrate that as well.

Summary: Migrate generic-worker CI to community deployment → Migrate generic-worker, tc-lib-artifact-go CI to community deployment

In essence there are three parts to this PR:

  1. Decision Task

The huge .taskcluster.yml is gone and replaced with a single decision task. I did this to reduce the risk of inconsistencies in CI between the different platforms (no more copy/paste between task definitions), and to pave the way for us to introduce a try commit syntax in a future PR.

  1. No more hardcoded taskIds integration task dependencies

Rather than integration tests depending on pre-run tasks in the cluster, the integration tests now generate the test dependency on the fly if it doesn't exist. When the CI lived in taskcluster.net deployment, three different tasks were created, that tests depended on. These tasks had some artifacts that the integration tests could mount, for example. Migrating to the new cluster broke these tests.

Rather than just recreate them in the new cluster, I decided it was better to generate them on the fly if they don't exist. The tasks were documented already (those docs get deleted as part of this PR), but generating-on-the-fly seems better. So all the tasks that depended on these hardcoded taskIds in the past now don't have the hardcoded taskId, but instead call a method that generates the task if it doesn't exist, or just return the taskId if it does exist.

  1. Migration to the new community-tc cluster

Obviously, everything needed to be ported to the new cluster. This PR includes all the changes for that to happen. See the worker overview page to see the new workers in action. At the same time I've extended test coverage to include Windows 10 on ARM, and Linux on ARM too (using a raspberry pi) and migrated the mac stadium worker to the new cluster too. We've lost Windows 7 support for now, but when we have a solution for Windows 7 (32 bit) we can add it back in by uncommenting a couple of lines in the new tasks.yml file. I've also manually set up a Windows 10 worker in Azure to give us Windows 10 coverage until we have an Azure provider that can spawn instances for us in Worker Manager.

Attachment #9113888 - Flags: review?(miles)
Attachment #9113888 - Flags: review?(miles) → review+

Pete: is there anything left to do here?

Flags: needinfo?(pmoore)

All done, thanks!

Status: NEW → RESOLVED
Closed: 5 years ago
Flags: needinfo?(pmoore)
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: