mirror of
https://github.com/mongodb/mongo.git
synced 2024-12-01 09:32:32 +01:00
46 lines
2.3 KiB
YAML
46 lines
2.3 KiB
YAML
# These paths are relative to the directory containing this configuration file
|
|
files:
|
|
- evaluated_evergreen.yml
|
|
help_url: https://wiki.corp.mongodb.com/pages/viewpage.action?pageId=133273894
|
|
|
|
rules:
|
|
# keyval.inc is a deprecated command. This rule is to prevent the
|
|
# proliferation of it.
|
|
- rule: "limit-keyval-inc"
|
|
# the maximum number of keyval.inc commands to allow in your YAML
|
|
limit: 4
|
|
# With the extraction of shell scripts from the Evergreen YAML, we expect
|
|
# users to source a script called `prelude.sh`. This script requires that
|
|
# the user be in ${workdir}, so we forbid users from `cd`ing with
|
|
# `working_dir` parameter.
|
|
- rule: "no-working-dir-on-shell"
|
|
# Embedding shell.exec scripts in the Evergreen yaml has been a historical
|
|
# source of pain:
|
|
# * No ability to lint/shellcheck
|
|
# * Distraction from the build matrix
|
|
# * Tons of scrolling to get anywhere.
|
|
# We completed a project to completely eject all shell scripts from the
|
|
# YAML, and now require this of all shell scripts. Add your scripts to the
|
|
# evergreen/ directory, and make use of subprocess.exec.
|
|
- rule: "no-shell-exec"
|
|
# Historically, expansions.update has been used to inject shell scripts
|
|
# into expansions, which were then used to inject commonly used snippets
|
|
# as required. With the extraction of the shell scripts, the correct
|
|
# paradigm is to source a script in the evergreen/ directory, or to add a
|
|
# function to `evergreen/prelude.sh`.
|
|
- rule: "no-multiline-expansions-update"
|
|
# To prevent the proliferation of undocumented build-parameters, we require
|
|
# params to have a non-empty description, and a name matching [a-z][a-z0-9_]*.
|
|
- rule: "invalid-build-parameter"
|
|
# To ensure that the expansions file loaded by prelude.sh is not stale, we
|
|
# require the user to add sometimes superfluous expansions.write calls to
|
|
# ere on side of correctness.
|
|
# - rule: "required-expansions-write"
|
|
# regex: .*\/evergreen\/.*\.sh
|
|
# Generated tests must depend on build_variant_gen (which generates the
|
|
# tasks that contain them) and archive_dist_test (which contains
|
|
# built assets).
|
|
- rule: "dependency-for-func"
|
|
dependencies:
|
|
generate resmoke tasks: ["build_variant_gen", "archive_dist_test"]
|