DXR is a code search and navigation tool aimed at making sense of large projects. It supports full-text and regex searches as well as structural queries.

Mercurial (3e31d6562a39)

VCS Links

Line Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
---
job-defaults:
    always-target: true
    treeherder:
        kind: test
        tier: 1
    worker-type: t-linux-xlarge
    worker:
        docker-image: {in-tree: "lint"}
        max-run-time: 1800
    run:
        using: mach
        comm-checkout: true
    when:
        files-changed:
            # Other misc lint related files.
            - 'python/mozlint/**'
            - 'tools/lint/**'

eslint:
    description: JS lint check
    platform: lint/opt
    treeherder:
        symbol: ES
    run:
        using: run-task
        command: >
            cd /builds/worker/checkouts/gecko/ &&
            cp -r /build/node_modules_eslint node_modules &&
            ln -s ../tools/lint/eslint/eslint-plugin-mozilla node_modules &&
            ln -s ../tools/lint/eslint/eslint-plugin-spidermonkey-js node_modules &&
            cd /builds/worker/checkouts/gecko/comm &&
            ../mach lint -f treeherder -l eslint --quiet
    when:
        files-changed:
            # Files that are likely audited.
            - 'comm/**/*.js'
            - 'comm/**/*.jsm'
            - 'comm/**/*.jsx'
            - 'comm/**/*.html'
            - 'comm/**/*.xhtml'
            - 'comm/**/*.xml'
            # Run when eslint policies change.
            - '**/.eslintignore'
            - '**/*eslintrc*'
            # The plugin implementing custom checks.
            - 'tools/lint/eslint/eslint-plugin-mozilla/**'
            - 'tools/lint/eslint/eslint-plugin-spidermonkey-js/**'

yaml:
    description: yamllint run over the taskcluster configuration
    platform: lint/opt
    treeherder:
        symbol: yaml
    run:
        mach: >
            lint -f treeherder -l yaml -n
            comm/mail/config
            comm/taskcluster
            comm/.*.yml
    when:
        files-changed:
            - 'comm/**/*.yml'
            - 'comm/**/*.yaml'
            - '**/.ymllint'

py-flake8:
    description: flake8 run over the thunderbird codebase
    platform: lint/opt
    treeherder:
        symbol: f8
    run:
        mach: >
            lint -f treeherder -l flake8 -n
            comm/taskcluster
    when:
        files-changed:
            - '**/*.py'
            - '**/.flake8'
            # moz.configure files are also Python files.
            - '**/*.configure'