gecko-dev/taskcluster/ci/source-test/mozlint.yml
Tom Ritter a5e3ca4de2 Bug 1444167 Add MinGW mozlint build job r=froydnj
MozReview-Commit-ID: Lo42O4xljwC

--HG--
extra : rebase_source : ad339f42b94f490a5122a2bf6c785ce450851084
2018-03-08 13:58:57 -06:00

173 lines
4.3 KiB
YAML

job-defaults:
always-target: true
treeherder:
kind: test
tier: 1
worker-type: aws-provisioner-v1/gecko-t-linux-xlarge
worker:
docker-image: {in-tree: "lint"}
max-run-time: 1800
run:
using: mach
when:
files-changed:
# Other misc lint related files.
- 'python/mozlint/**'
- 'tools/lint/**'
codespell:
description: Checks for misspellings in text files
platform: lint/opt
treeherder:
symbol: spell
run:
mach: lint -l codespell -f treeherder
when:
files-changed:
- '**/*.js'
- '**/*.jsm'
- '**/*.jxs'
- '**/*.xml'
- '**/*.html'
- '**/*.xhtml'
- '**/*.cpp'
- '**/*.c'
- '**/*.h'
- '**/*.configure'
- '**/*.py'
- '**/*.properties'
- '**/*.rst'
cpp-virtual-final:
description: lint C++ virtual function declarations
platform: lint/opt
treeherder:
symbol: Cvf
run:
mach: lint -l cpp-virtual-final -f treeherder
when:
files-changed:
- '**/*.cpp'
- '**/*.h'
- '**/*.mm'
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 &&
./mach lint -l eslint -f treeherder --quiet
when:
files-changed:
# Files that are likely audited.
- '**/*.js'
- '**/*.jsm'
- '**/*.jsx'
- '**/*.html'
- '**/*.xhtml'
- '**/*.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/**'
mingw-cap:
description: lint for MinGW Capitalization issues
platform: lint/opt
treeherder:
symbol: mingw
run:
mach: lint -l mingw-capitalization -f treeherder
when:
files-changed:
- '**/*.cpp'
- '**/*.cc'
- '**/*.c'
- '**/*.h'
py-compat:
description: lint for python 2/3 compatibility issues
platform: lint/opt
treeherder:
symbol: py-compat
run:
mach: lint -l py2 -l py3 -f treeherder
when:
files-changed:
- '**/*.py'
- '**/.flake8'
py-flake8:
description: flake8 run over the gecko codebase
platform: lint/opt
treeherder:
symbol: f8
run:
mach: lint -l flake8 -f treeherder
when:
files-changed:
- '**/*.py'
- '**/.flake8'
# moz.configure files are also Python files.
- '**/*.configure'
test-manifest:
description: lint test manifests
platform: lint/opt
treeherder:
symbol: tm
run:
mach: lint -l test-disable -f treeherder
when:
files-changed:
- '**/*.ini'
- 'python/mozlint/**'
- 'tools/lint/**'
wptlint-gecko:
description: web-platform-tests linter
platform: lint/opt
treeherder:
symbol: W
run:
mach: lint -l wpt -l wpt_manifest -f treeherder
when:
files-changed:
- 'testing/web-platform/tests/**'
- 'testing/web-platform/mozilla/tests/**'
- 'testing/web-platform/meta/MANIFEST.json'
- 'testing/web-platform/mozilla/meta/MANIFEST.json'
yaml:
description: yamllint run over the gecko codebase
platform: lint/opt
treeherder:
symbol: yaml
run:
mach: lint -l yaml -f treeherder
when:
files-changed:
- '**/*.yml'
- '**/*.yaml'
- '**/.ymllint'
shellcheck:
description: shellcheck run over the gecko codebase
platform: lint/opt
treeherder:
symbol: shell
run:
mach: lint -l shellcheck -f treeherder
when:
files-changed:
- '**/*.sh'