Closed Bug 1490082 Opened 6 years ago Closed 4 years ago

Run ci-admin/ci-config/taskgraphs's unit tests and lint as part of the phabricator review process

Categories

(Developer Infrastructure :: Source Code Analysis, enhancement)

enhancement
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: dustin, Assigned: tomprince)

References

Details

Attachments

(15 files)

47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
These are basic Python things, nothing fancy.

python setup.py test
python setup.py flake8
This is a good idea. We currently only support mozilla-central, but we can figure out how to support other projects too (not only ci-admin, but for example NSS too). I've filed https://github.com/mozilla/release-services/issues/1511.

Hi Kim,

Is this something your team would like to pick up?

Thanks,
Pete

Component: Task Configuration → Phabricator
Flags: needinfo?(kmoir)
Product: Firefox Build System → Conduit
Version: Trunk → unspecified

I talked to Steven about this and he said that Sylvestre's team has a bot that polls lando to run linting tests. This is not within the scope of our tools.

Flags: needinfo?(kmoir)
Component: Phabricator → Source Code Analysis
Product: Conduit → Firefox Build System

Pete, we have been discussing about extending our tools to other project.
I think we should start a discussion on how to implement that in a scalable way.

Summary: Run ci-admin's unit tests and lint as part of the phabricator review process → Run ci-admin/ci-config/taskgraphs's unit tests and lint as part of the phabricator review process

Reviewbot uses try_task_config to pass information about what phabricator diff
is being checked via this file, so add support for getting info from it.

Assignee: nobody → mozilla
Status: NEW → ASSIGNED

This different from the one in mozilla-central, as it uses a morph to generate
the code-review task. This makes it easier for downstream projects, as they
will not need to add boilerplate kind to generate the task.

ci-admin check changes the working directory, to make pytest work. If the
--ci-configuration-directory is not absolute, it won't be found after
changing directory. Ask click to make it absolute for us, when parsing the
command-line.

This enables using the same taskgraph config for both ci-admin and
ci-configuration.

Blocks: 1619470

This means that configuration will be kept in sync, and it will also pick up
the code-review configuration.

Attachment #9130336 - Attachment description: Bug 1490082: Enable ci-admin's taskgraph for ci-configuration; r?Callek → Bug 1490082: Use ci-admin's taskgraph for ci-configuration; r?Callek
Depends on: 1608103

When checking out multiple repos, robustcheckout won't cleanup
sub-repositories, so include the layout in the cache name.

When I first setup the non-gecko taskgraph, I imagined that we would
use a docker image with taskgraph pre-installed. However, rather than
dealing with the implications of chain-of-trust for those images, we
ended up installing taskgraph at runtime. ci-admin pre-dates that change. In
the interest of keeping things aligned, this switches ci-admin to install
taskgraph at runtime.

ci-admin and ci-config share a taskgraph configuration. Since ci-config only
contains the taskcluster configuration, there is not a need for it to have it's
own .taskcluster.yml. This adds support to ci-admin to specify that a project uses
a .taskcluster.yml from another repository.

When I first setup the non-gecko taskgraph, I imagined that we would use a
docker image with taskgraph pre-installed. However, rather than dealing with
the implications of chain-of-trust for those images, we ended up installing
taskgraph at runtime. This removes the now unused image.

This also adjust the hg-push task to pass the required environment variables through.

Now that ci-configuration is using a .taskcluster.yml from ci-admin, we can
remove the .taskcluster.yml from ci-configuration.

Status: ASSIGNED → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Product: Firefox Build System → Developer Infrastructure
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: