blob: d876ae1f1587b8610f339cf09d3259bde7120879 [file] [log] [blame]
def _is_staging(job):
job_desc = native.existing_rule(job + "-staging")
job_subs = job_desc["substitutions"]
is_bazel = "PROJECT_NAME" in job_subs
is_gerrit = "GERRIT_PROJECT" in job_subs and job_subs["GERRIT_PROJECT"] != ""
# Take job with Gerrit review, or jobs that are not bazel jovbs
is_gerrit_or_not_bazel = is_gerrit or not is_bazel
# Exclude Benchmark jobs
is_not_benchmark = "-Benchmark" not in job
# Gold jobs are some bazel job that we include for testing
is_gold = job in ["TensorFlow", "Tutorial"]
return (is_gold or is_gerrit_or_not_bazel) and is_not_benchmark
def _is_testing(job):
# We include all test but the docker ones (they needs access to the docker server).
return not "docker" in job and job != "continuous-integration"
def job_lists(name = "jobs", visibility = None):
jobs = native.existing_rules()
native.filegroup(
name = name,
srcs = [j for j in jobs if j.endswith("/all")],
visibility = visibility,
)
native.filegroup(
name = "staging-" + name,
srcs = [j for j in jobs if j.endswith("/staging") and _is_staging(j[:-8])],
visibility = visibility,
)
native.filegroup(
name = "test-" + name,
srcs = [j for j in jobs if j.endswith("/test") and _is_testing(j[:-5])],
visibility = visibility,
)