summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Ostmo <kostmo@gmail.com>2019-02-19 15:33:58 -0800
committerFacebook Github Bot <facebook-github-bot@users.noreply.github.com>2019-02-19 15:37:09 -0800
commit09c9af94512c7eed69665c15f9847028a6849556 (patch)
treee90523340a2c00675cbeb4df136e35f6cef9bb90
parentf827f9f77ac928b0e911713cee4864cd0a601ad4 (diff)
downloadpytorch-09c9af94512c7eed69665c15f9847028a6849556.tar.gz
pytorch-09c9af94512c7eed69665c15f9847028a6849556.tar.bz2
pytorch-09c9af94512c7eed69665c15f9847028a6849556.zip
U/kostmo/gen circle conf (#17189)
Summary: Diagram preview: ![binarysmoketests-config-dimensions](https://user-images.githubusercontent.com/261693/53040977-a0f88d00-3437-11e9-9190-796cc243e0f9.png) Pull Request resolved: https://github.com/pytorch/pytorch/pull/17189 Differential Revision: D14141362 Pulled By: kostmo fbshipit-source-id: 0625a1234d0307c6be79f17e756ddb1cc445b374
-rw-r--r--.circleci/.gitignore2
-rw-r--r--.circleci/binary_build_definitions.py187
-rw-r--r--.circleci/build_env_definitions.py195
-rw-r--r--.circleci/conf_tree.py98
-rwxr-xr-x.circleci/generate-config-yml.py288
-rw-r--r--.circleci/make_build_configs.py134
-rw-r--r--.circleci/miniutils.py6
-rw-r--r--.circleci/miniyaml.py61
-rw-r--r--.circleci/verbatim-sources/binary-build-specs-header.yml3
-rw-r--r--.circleci/verbatim-sources/binary-build-tests-header.yml4
-rw-r--r--.circleci/verbatim-sources/binary-build-tests.yml25
-rw-r--r--.circleci/verbatim-sources/binary-build-uploads-header.yml2
-rw-r--r--.circleci/verbatim-sources/job-specs-caffe2-builds.yml159
-rw-r--r--.circleci/verbatim-sources/job-specs-custom.yml193
-rw-r--r--.circleci/verbatim-sources/job-specs-header.yml5
-rw-r--r--.circleci/verbatim-sources/job-specs-html-update.yml24
-rw-r--r--.circleci/verbatim-sources/remaining-sections.yml2338
-rw-r--r--.circleci/verbatim-sources/smoke-test-specs-header.yml4
-rw-r--r--.circleci/verbatim-sources/workflows-binary-build-header.yml4
-rw-r--r--.circleci/verbatim-sources/workflows-binary-builds-smoke-subset.yml26
-rw-r--r--.circleci/verbatim-sources/workflows-binary-smoke-header.yml3
-rw-r--r--.circleci/verbatim-sources/workflows-caffe2-builds.yml37
-rw-r--r--.circleci/verbatim-sources/workflows-caffe2-macos-builds.yml4
-rw-r--r--.circleci/verbatim-sources/workflows-nightly-tests-header.yml1
-rw-r--r--.circleci/verbatim-sources/workflows-nightly-tests.yml108
-rw-r--r--.circleci/verbatim-sources/workflows-nightly-uploads-header.yml14
-rw-r--r--.circleci/verbatim-sources/workflows-nightly-uploads.yml197
-rw-r--r--.circleci/verbatim-sources/workflows-pytorch-linux-builds.yml78
-rw-r--r--.circleci/verbatim-sources/workflows-pytorch-macos-builds.yml7
-rw-r--r--.circleci/verbatim-sources/workflows-s3-html.yml12
-rw-r--r--.circleci/verbatim-sources/workflows.yml12
-rw-r--r--.travis.yml5
32 files changed, 1669 insertions, 2567 deletions
diff --git a/.circleci/.gitignore b/.circleci/.gitignore
new file mode 100644
index 0000000000..c215392585
--- /dev/null
+++ b/.circleci/.gitignore
@@ -0,0 +1,2 @@
+*.svg
+*.png
diff --git a/.circleci/binary_build_definitions.py b/.circleci/binary_build_definitions.py
new file mode 100644
index 0000000000..723b4eaa62
--- /dev/null
+++ b/.circleci/binary_build_definitions.py
@@ -0,0 +1,187 @@
+from collections import OrderedDict
+
+import conf_tree
+import miniutils
+import make_build_configs
+
+
+class Conf:
+ def __init__(self, os, cuda_version, pydistro, parms, smoke=False, libtorch_variant=None):
+
+ self.os = os
+ self.cuda_version = cuda_version
+ self.pydistro = pydistro
+ self.parms = parms
+ self.smoke = smoke
+ self.libtorch_variant = libtorch_variant
+
+ def genBuildEnvParms(self):
+ return [self.pydistro] + self.parms + [make_build_configs.get_processor_arch_name(self.cuda_version)]
+
+ def genDockerImage(self):
+
+ docker_word_substitution = {
+ "manywheel": "manylinux",
+ "libtorch": "manylinux",
+ }
+
+ docker_distro_prefix = miniutils.override(self.pydistro, docker_word_substitution)
+
+ alt_docker_suffix = self.cuda_version or "80"
+ docker_distro_suffix = "" if self.pydistro == "conda" else alt_docker_suffix
+ return miniutils.quote("soumith/" + docker_distro_prefix + "-cuda" + docker_distro_suffix)
+
+ def getNamePrefix(self):
+ return "smoke" if self.smoke else "binary"
+
+ def genBuildName(self, build_or_test):
+ parts = [self.getNamePrefix(), self.os] + self.genBuildEnvParms()
+
+ if self.smoke:
+ if self.libtorch_variant:
+ parts.append(self.libtorch_variant)
+ else:
+ parts.append(build_or_test)
+
+ return "_".join(parts)
+
+ def genYamlTree(self, build_or_test):
+
+ env_dict = OrderedDict({
+ "BUILD_ENVIRONMENT": miniutils.quote(" ".join(self.genBuildEnvParms())),
+ })
+
+ if self.libtorch_variant:
+ env_dict["LIBTORCH_VARIANT"] = miniutils.quote(self.libtorch_variant)
+
+ os_word_substitution = {
+ "macos": "mac",
+ }
+
+ os_name = miniutils.override(self.os, os_word_substitution)
+
+ d = {
+ "environment": env_dict,
+ "<<": "*" + "_".join([self.getNamePrefix(), os_name, build_or_test]),
+ }
+
+ if build_or_test == "test":
+ tuples = []
+ if self.cuda_version:
+ tuples.append(("USE_CUDA_DOCKER_RUNTIME", miniutils.quote("1")))
+
+ if not (self.smoke and self.os == "macos"):
+ tuples.append(("DOCKER_IMAGE", self.genDockerImage()))
+
+ if self.smoke:
+ # TODO: Fix this discrepancy upstream
+ tuples.reverse()
+
+ for (k, v) in tuples:
+ env_dict[k] = v
+
+ else:
+ if self.os == "linux" and build_or_test != "upload":
+ d["docker"] = [{"image": self.genDockerImage()}]
+
+ if build_or_test == "test":
+ if self.cuda_version:
+ d["resource_class"] = "gpu.medium"
+
+ return d
+
+
+def gen_build_env_list(smoke):
+
+ root = make_build_configs.TopLevelNode(
+ "Builds",
+ make_build_configs.CONFIG_TREE_DATA,
+ smoke,
+ )
+
+ config_list, dot = conf_tree.dfs(root)
+
+ newlist = []
+ for c in config_list:
+ conf = Conf(
+ c.find_prop("os_name"),
+ c.find_prop("cu"),
+ c.find_prop("package_format"),
+ [c.find_prop("pyver")],
+ c.find_prop("smoke"),
+ c.find_prop("libtorch_variant")
+ )
+ newlist.append(conf)
+
+ return newlist, dot
+
+
+def add_build_entries(jobs_dict, phase, smoke):
+
+ configs, _ = gen_build_env_list(smoke)
+ for conf_options in configs:
+ jobs_dict[conf_options.genBuildName(phase)] = conf_options.genYamlTree(phase)
+
+
+def add_binary_build_specs(jobs_dict):
+ add_build_entries(jobs_dict, "build", False)
+
+
+def add_binary_build_uploads(jobs_dict):
+ add_build_entries(jobs_dict, "upload", False)
+
+
+def add_smoke_test_specs(jobs_dict):
+ add_build_entries(jobs_dict, "test", True)
+
+
+def add_binary_build_tests(jobs_dict):
+
+ def testable_binary_predicate(x):
+ return x.os == "linux" and (x.smoke or x.pydistro != "libtorch")
+
+ configs, _ = gen_build_env_list(False)
+ filtered_configs = filter(testable_binary_predicate, configs)
+
+ for conf_options in filtered_configs:
+ jobs_dict[conf_options.genBuildName("test")] = conf_options.genYamlTree("test")
+
+
+def gen_schedule_tree(cron_timing):
+ return [{
+ "schedule": {
+ "cron": miniutils.quote(cron_timing),
+ "filters": {
+ "branches": {
+ "only": ["master"],
+ },
+ },
+ },
+ }]
+
+
+def add_jobs_and_render(jobs_dict, toplevel_key, smoke, cron_schedule):
+
+ jobs_list = []
+
+ configs, graph = gen_build_env_list(smoke)
+ for build_config in configs:
+ build_name = build_config.genBuildName("build")
+ jobs_list.append(build_name)
+
+ d = OrderedDict(
+ triggers=gen_schedule_tree(cron_schedule),
+ jobs=jobs_list,
+ )
+
+ jobs_dict[toplevel_key] = d
+
+ graph.draw(toplevel_key + "-config-dimensions.png", prog="twopi")
+
+
+def add_binary_build_jobs(jobs_dict):
+ add_jobs_and_render(jobs_dict, "binarybuilds", False, "5 5 * * *")
+
+
+def add_binary_smoke_test_jobs(jobs_dict):
+ add_jobs_and_render(jobs_dict, "binarysmoketests", True, "15 16 * * *")
diff --git a/.circleci/build_env_definitions.py b/.circleci/build_env_definitions.py
new file mode 100644
index 0000000000..8bb39e8693
--- /dev/null
+++ b/.circleci/build_env_definitions.py
@@ -0,0 +1,195 @@
+from collections import OrderedDict
+
+import miniutils
+
+
+DOCKER_IMAGE_PATH_BASE = "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/"
+
+DEFAULT_DOCKER_VERSION = 282
+
+
+class DockerHide:
+ """Hides element for construction of docker path"""
+ def __init__(self, val):
+ self.val = val
+
+ def __str__(self):
+ return self.val
+
+
+class Conf:
+ def __init__(self,
+ distro,
+ parms,
+ pyver=None,
+ cuda_version=None,
+ is_xla=False,
+ restrict_phases=None,
+ cuda_docker_phases=None,
+ gpu_resource=None,
+ docker_version_override=None):
+
+ self.distro = distro
+ self.pyver = pyver
+ self.parms = parms
+
+ self.cuda_version = cuda_version
+ self.is_xla = is_xla
+ self.restrict_phases = restrict_phases
+
+ # FIXME does the build phase ever need CUDA runtime?
+ self.cuda_docker_phases = cuda_docker_phases or []
+
+ self.gpu_resource = gpu_resource
+
+ # FIXME is this different docker version intentional?
+ self.docker_version_override = docker_version_override
+
+ def getParms(self):
+ leading = ["pytorch"]
+ if self.is_xla:
+ leading.append(DockerHide("xla"))
+
+ cuda_parms = []
+ if self.cuda_version:
+ cuda_parms.extend(["cuda" + self.cuda_version, "cudnn7"])
+ return leading + ["linux", self.distro] + cuda_parms + self.parms
+
+ # TODO: Eliminate this special casing in docker paths
+ def genDockerImagePath(self, build_or_test):
+
+ build_env_pieces = self.getParms()
+ build_env_pieces = list(filter(lambda x: type(x) is not DockerHide, build_env_pieces))
+
+ build_job_name_pieces = build_env_pieces + [build_or_test]
+
+ base_build_env_name = "-".join(build_env_pieces)
+
+ docker_version = self.docker_version_override or DEFAULT_DOCKER_VERSION
+
+ return miniutils.quote(DOCKER_IMAGE_PATH_BASE + base_build_env_name + ":" + str(docker_version))
+
+ def getBuildJobNamePieces(self, build_or_test):
+ return self.getParms() + [build_or_test]
+
+ def genBuildName(self, build_or_test):
+ return ("_".join(map(str, self.getBuildJobNamePieces(build_or_test)))).replace(".", "_")
+
+ def genYamlTree(self, build_or_test):
+
+ build_job_name_pieces = self.getBuildJobNamePieces(build_or_test)
+
+ base_build_env_name = "-".join(map(str, self.getParms()))
+ build_env_name = "-".join(map(str, build_job_name_pieces))
+
+ env_dict = {
+ "BUILD_ENVIRONMENT": build_env_name,
+ "DOCKER_IMAGE": self.genDockerImagePath(build_or_test),
+ }
+
+ if self.pyver:
+ env_dict["PYTHON_VERSION"] = miniutils.quote(self.pyver)
+
+ if build_or_test in self.cuda_docker_phases:
+ env_dict["USE_CUDA_DOCKER_RUNTIME"] = miniutils.quote("1")
+
+ d = {
+ "environment": env_dict,
+ "<<": "*" + "_".join(["pytorch", "linux", build_or_test, "defaults"]),
+ }
+
+ if build_or_test == "test":
+ resource_class = "large"
+ if self.gpu_resource:
+ resource_class = "gpu." + self.gpu_resource
+
+ if self.gpu_resource == "large":
+ env_dict["MULTI_GPU"] = miniutils.quote("1")
+
+ d["resource_class"] = resource_class
+
+ return d
+
+
+BUILD_ENV_LIST = [
+ Conf("trusty", ["py2.7.9"]),
+ Conf("trusty", ["py2.7"]),
+ Conf("trusty", ["py3.5"]),
+ Conf("trusty", ["py3.5"]),
+ Conf("trusty", ["py3.6", "gcc4.8"]),
+ Conf("trusty", ["py3.6", "gcc5.4"]),
+ Conf("trusty", ["py3.6", "gcc5.4"], is_xla=True, docker_version_override=278),
+ Conf("trusty", ["py3.6", "gcc7"]),
+ Conf("trusty", ["pynightly"]),
+ Conf("xenial", ["py3", "clang5", "asan"], pyver="3.6"),
+ Conf("xenial",
+ ["py3"],
+ pyver="3.6",
+ cuda_version="8",
+ gpu_resource="medium",
+ cuda_docker_phases=["test"]),
+ Conf("xenial",
+ ["py3", DockerHide("multigpu")],
+ pyver="3.6",
+ cuda_version="8",
+ restrict_phases=["test"],
+ cuda_docker_phases=["build", "test"],
+ gpu_resource="large"),
+ Conf("xenial",
+ ["py3", DockerHide("NO_AVX2")],
+ pyver="3.6",
+ cuda_version="8",
+ restrict_phases=["test"],
+ cuda_docker_phases=["build", "test"],
+ gpu_resource="medium"),
+ Conf("xenial",
+ ["py3", DockerHide("NO_AVX"), DockerHide("NO_AVX2")],
+ pyver="3.6",
+ cuda_version="8",
+ restrict_phases=["test"],
+ cuda_docker_phases=["build", "test"],
+ gpu_resource="medium"),
+ Conf("xenial",
+ ["py2"],
+ pyver="2.7",
+ cuda_version="9",
+ cuda_docker_phases=["test"],
+ gpu_resource="medium"),
+ Conf("xenial",
+ ["py3"],
+ pyver="3.6",
+ cuda_version="9",
+ gpu_resource="medium",
+ cuda_docker_phases=["test"]),
+ Conf("xenial",
+ ["py3", "gcc7"],
+ pyver="3.6",
+ cuda_version="9.2",
+ gpu_resource="medium",
+ cuda_docker_phases=["test"]),
+ Conf("xenial",
+ ["py3", "gcc7"],
+ pyver="3.6",
+ cuda_version="10",
+ restrict_phases=["build"]),
+]
+
+
+def add_build_env_defs(jobs_dict):
+
+ mydict = OrderedDict()
+ for conf_options in BUILD_ENV_LIST:
+
+ def append_environment_dict(build_or_test):
+ d = conf_options.genYamlTree(build_or_test)
+ mydict[conf_options.genBuildName(build_or_test)] = d
+
+ phases = ["build", "test"]
+ if conf_options.restrict_phases:
+ phases = conf_options.restrict_phases
+
+ for phase in phases:
+ append_environment_dict(phase)
+
+ jobs_dict["version"] = 2
+ jobs_dict["jobs"] = mydict
diff --git a/.circleci/conf_tree.py b/.circleci/conf_tree.py
new file mode 100644
index 0000000000..b562d9fc4f
--- /dev/null
+++ b/.circleci/conf_tree.py
@@ -0,0 +1,98 @@
+import colorsys
+import sys
+
+from pygraphviz import AGraph
+
+
+class ConfigNode:
+ def __init__(self, parent, node_name):
+ self.parent = parent
+ self.node_name = node_name
+ self.props = {}
+
+ def get_label(self):
+ label = self.node_name
+ if not label:
+ # FIXME this shouldn't be necessary
+ label = "<None>"
+ return label
+
+ def get_children(self):
+ return []
+
+ def get_parents(self):
+ return (self.parent.get_parents() + [self.parent.get_label()]) if self.parent else []
+
+ def get_depth(self):
+ return len(self.get_parents())
+
+ def get_node_key(self):
+ return "%".join(self.get_parents() + [self.get_label()])
+
+ def find_prop(self, propname, searched=None):
+ """
+ Checks if its own dictionary has
+ the property, otherwise asks parent node.
+ """
+
+ if searched is None:
+ searched = []
+
+ searched.append(self.node_name)
+
+ if propname in self.props:
+ return self.props[propname]
+ elif self.parent:
+ return self.parent.find_prop(propname, searched)
+ else:
+ # raise Exception('Property "%s" does not exist anywhere in the tree! Searched: %s' % (propname, searched))
+ return None
+
+
+def rgb2hex(rgb_tuple):
+ def toHex(f):
+ return "%02x" % int(f * 255)
+
+ return "#" + "".join(map(toHex, list(rgb_tuple)))
+
+
+def dfs(toplevel_config_node):
+
+ dot = AGraph()
+
+ config_list = []
+
+ MAX_DEPTH = 7 # FIXME traverse once beforehand to find max depth
+
+ def dfs_recurse(node):
+
+ this_node_key = node.get_node_key()
+
+ depth = node.get_depth()
+
+ rgb_tuple = colorsys.hsv_to_rgb(depth / float(MAX_DEPTH), 0.5, 1)
+ hex_color = rgb2hex(rgb_tuple)
+
+ dot.add_node(
+ this_node_key,
+ label=node.get_label(),
+ style="filled",
+ color="black",
+ # fillcolor=hex_color + ":orange",
+ fillcolor=hex_color,
+ )
+
+ node_children = node.get_children()
+
+ if node_children:
+ for child in node_children:
+
+ child_node_key = child.get_node_key()
+ dot.add_edge((this_node_key, child_node_key))
+
+ dfs_recurse(child)
+ else:
+ config_list.append(node)
+
+ dfs_recurse(toplevel_config_node)
+ return config_list, dot
diff --git a/.circleci/generate-config-yml.py b/.circleci/generate-config-yml.py
index c6daa71bcf..fef924eb1d 100755
--- a/.circleci/generate-config-yml.py
+++ b/.circleci/generate-config-yml.py
@@ -10,244 +10,74 @@ import os
import sys
from collections import OrderedDict
+import build_env_definitions
+import binary_build_definitions
+import miniyaml
-DOCKER_IMAGE_PATH_BASE = "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/"
-
-
-class DockerHide:
- """Hides element for construction of docker path"""
- def __init__(self, val):
- self.val = val
-
- def __str__(self):
- return self.val
-
-
-class Conf:
- def __init__(self,
- distro,
- parms,
- pyver=None,
- use_cuda=False,
- is_xla=False,
- restrict_phases=None,
- cuda_docker_phases=None,
- gpu_resource=None,
- docker_version_override=None):
-
- self.distro = distro
- self.pyver = pyver
- self.parms = parms
-
- self.use_cuda = use_cuda
- self.is_xla = is_xla
- self.restrict_phases = restrict_phases
-
- # FIXME does the build phase ever need CUDA runtime?
- self.cuda_docker_phases = cuda_docker_phases or []
-
- self.gpu_resource = gpu_resource
-
- # FIXME is this different docker version intentional?
- self.docker_version_override = docker_version_override
-
- def getParms(self):
- leading = ["pytorch"]
- if self.is_xla:
- leading.append(DockerHide("xla"))
- return leading + ["linux", self.distro] + self.parms
-
- # TODO: Eliminate this special casing in docker paths
- def genDockerImagePath(self, build_or_test):
-
- build_env_pieces = self.getParms()
- build_env_pieces = list(filter(lambda x: type(x) is not DockerHide, build_env_pieces))
-
- build_job_name_pieces = build_env_pieces + [build_or_test]
-
- base_build_env_name = "-".join(build_env_pieces)
-
- docker_version = 282
- if self.docker_version_override is not None:
- docker_version = self.docker_version_override
-
- return DOCKER_IMAGE_PATH_BASE + base_build_env_name + ":" + str(docker_version)
-
-
-BUILD_ENV_LIST = [
- Conf("trusty", ["py2.7.9"]),
- Conf("trusty", ["py2.7"]),
- Conf("trusty", ["py3.5"]),
- Conf("trusty", ["py3.5"]),
- Conf("trusty", ["py3.6", "gcc4.8"]),
- Conf("trusty", ["py3.6", "gcc5.4"]),
- Conf("trusty", ["py3.6", "gcc5.4"], is_xla=True, docker_version_override=278),
- Conf("trusty", ["py3.6", "gcc7"]),
- Conf("trusty", ["pynightly"]),
- Conf("xenial", ["py3", "clang5", "asan"], pyver="3.6"),
- Conf("xenial", ["cuda8", "cudnn7", "py3"], pyver="3.6", use_cuda=True, gpu_resource="medium",
- cuda_docker_phases=["test"]),
- Conf("xenial", ["cuda8", "cudnn7", "py3", DockerHide("multigpu")], pyver="3.6", use_cuda=True,
- restrict_phases=["test"], cuda_docker_phases=["build", "test"], gpu_resource="large"),
- Conf("xenial", ["cuda8", "cudnn7", "py3", DockerHide("NO_AVX2")], pyver="3.6", use_cuda=True,
- restrict_phases=["test"], cuda_docker_phases=["build", "test"], gpu_resource="medium"),
- Conf("xenial", ["cuda8", "cudnn7", "py3", DockerHide("NO_AVX"), DockerHide("NO_AVX2")], pyver="3.6", use_cuda=True,
- restrict_phases=["test"], cuda_docker_phases=["build", "test"], gpu_resource="medium"),
- Conf("xenial", ["cuda9", "cudnn7", "py2"], pyver="2.7", use_cuda=True, cuda_docker_phases=["test"],
- gpu_resource="medium"),
- Conf("xenial", ["cuda9", "cudnn7", "py3"], pyver="3.6", use_cuda=True, gpu_resource="medium",
- cuda_docker_phases=["test"]),
- Conf("xenial", ["cuda9.2", "cudnn7", "py3", "gcc7"], pyver="3.6", use_cuda=True, gpu_resource="medium",
- cuda_docker_phases=["test"]),
- Conf("xenial", ["cuda10", "cudnn7", "py3", "gcc7"], pyver="3.6", use_cuda=True, restrict_phases=["build"]),
-]
-
-
-def is_dict_like(data):
- return type(data) is dict or type(data) is OrderedDict
-
-
-FORCED_QUOTED_VALUE_KEYS = {
- "DOCKER_IMAGE",
- "PYTHON_VERSION",
- "USE_CUDA_DOCKER_RUNTIME",
- "MULTI_GPU",
-}
-
-
-def render_yaml(key, data, fh, depth=0):
- """
- PyYaml does not allow precise control over the quoting
- behavior, especially for merge references.
- Therefore, we use this custom YAML renderer.
- """
-
- indentation = " " * depth
-
- if is_dict_like(data):
-
- tuples = list(data.items())
- if type(data) is not OrderedDict:
- tuples.sort(key=lambda x: (x[0] == "<<", x[0]))
-
- for k, v in tuples:
- fh.write(indentation + k + ":")
- whitespace = "\n" if is_dict_like(v) else " "
- fh.write(whitespace)
-
- render_yaml(k, v, fh, depth + 1)
-
- if depth == 2:
- fh.write("\n")
-
- else:
- if type(data) is str:
- maybe_quoted = data
- if key in FORCED_QUOTED_VALUE_KEYS:
- maybe_quoted = '"' + data + '"'
- fh.write(maybe_quoted)
-
- else:
- fh.write(str(data))
-
- fh.write("\n")
-
-
-def generate_config_dict():
-
- jobs_dict = OrderedDict()
- for conf_options in BUILD_ENV_LIST:
-
- build_env_pieces = conf_options.getParms()
-
- def append_environment_dict(build_or_test):
-
- build_job_name_pieces = build_env_pieces + [build_or_test]
- base_build_env_name = "-".join(map(str, build_env_pieces))
- build_env_name = "-".join(map(str, build_job_name_pieces))
+class File:
+ def __init__(self, filename):
+ self.filename = filename
- env_dict = {
- "BUILD_ENVIRONMENT": build_env_name,
- "DOCKER_IMAGE": conf_options.genDockerImagePath(build_or_test),
- }
-
- if conf_options.pyver:
- env_dict["PYTHON_VERSION"] = conf_options.pyver
-
- if build_or_test in conf_options.cuda_docker_phases:
- env_dict["USE_CUDA_DOCKER_RUNTIME"] = "1"
-
- d = {
- "environment": env_dict,
- "<<": "*" + "_".join(["pytorch", "linux", build_or_test, "defaults"]),
- }
-
- if build_or_test == "test":
- resource_class = "large"
- if conf_options.gpu_resource:
- resource_class = "gpu." + conf_options.gpu_resource
-
- if conf_options.gpu_resource == "large":
- env_dict["MULTI_GPU"] = "1"
-
- d["resource_class"] = resource_class
-
- job_name = ("_".join(map(str, build_job_name_pieces))).replace(".", "_")
- jobs_dict[job_name] = d
-
- phases = ["build", "test"]
- if conf_options.restrict_phases:
- phases = conf_options.restrict_phases
-
- for phase in phases:
- append_environment_dict(phase)
-
- data = OrderedDict([
- ("version", 2),
- ("jobs", jobs_dict),
- ])
-
- return data
-
-
-VERBATIM_SOURCE_FILES = [
- "header-section.yml",
- "linux-build-defaults.yml",
- "macos-build-defaults.yml",
- "nightly-binary-build-defaults.yml",
- "linux-binary-build-defaults.yml",
- "macos-binary-build-defaults.yml",
- "nightly-build-smoke-tests-defaults.yml",
-]
+ def write(self, output_filehandle):
+ with open(os.path.join("verbatim-sources", self.filename)) as fh:
+ output_filehandle.write(fh.read())
-YAML_GENERATOR_FUNCTIONS = [
- generate_config_dict,
+class Treegen:
+ def __init__(self, function, depth):
+ self.function = function
+ self.depth = depth
+
+ def write(self, output_filehandle):
+ build_dict = OrderedDict()
+ self.function(build_dict)
+ miniyaml.render(output_filehandle, None, build_dict, self.depth)
+
+
+YAML_SOURCES = [
+ File("header-section.yml"),
+ File("linux-build-defaults.yml"),
+ File("macos-build-defaults.yml"),
+ File("nightly-binary-build-defaults.yml"),
+ File("linux-binary-build-defaults.yml"),
+ File("macos-binary-build-defaults.yml"),
+ File("nightly-build-smoke-tests-defaults.yml"),
+ File("job-specs-header.yml"),
+ Treegen(build_env_definitions.add_build_env_defs, 0),
+ File("job-specs-custom.yml"),
+ File("job-specs-caffe2-builds.yml"),
+ File("job-specs-html-update.yml"),
+ File("binary-build-specs-header.yml"),
+ Treegen(binary_build_definitions.add_binary_build_specs, 1),
+ File("binary-build-tests-header.yml"),
+ Treegen(binary_build_definitions.add_binary_build_tests, 1),
+ File("binary-build-tests.yml"),
+ File("binary-build-uploads-header.yml"),
+ Treegen(binary_build_definitions.add_binary_build_uploads, 1),
+ File("smoke-test-specs-header.yml"),
+ Treegen(binary_build_definitions.add_smoke_test_specs, 1),
+ File("workflows.yml"),
+ File("workflows-pytorch-linux-builds.yml"),
+ File("workflows-pytorch-macos-builds.yml"),
+ File("workflows-caffe2-builds.yml"),
+ File("workflows-caffe2-macos-builds.yml"),
+ File("workflows-binary-builds-smoke-subset.yml"),
+ File("workflows-binary-smoke-header.yml"),
+ Treegen(binary_build_definitions.add_binary_smoke_test_jobs, 1),
+ File("workflows-binary-build-header.yml"),
+ Treegen(binary_build_definitions.add_binary_build_jobs, 1),
+ File("workflows-nightly-tests-header.yml"),
+ File("workflows-nightly-tests.yml"),
+ File("workflows-nightly-uploads-header.yml"),
+ File("workflows-nightly-uploads.yml"),
+ File("workflows-s3-html.yml"),
]
-def comment_divider(output_filehandle):
- for _i in range(2):
- output_filehandle.write("#" * 78)
- output_filehandle.write("\n")
-
-
def stitch_sources(output_filehandle):
-
- for f in VERBATIM_SOURCE_FILES:
- with open(os.path.join("verbatim-sources", f)) as fh:
- output_filehandle.write(fh.read())
-
- comment_divider(output_filehandle)
- output_filehandle.write("# Job specifications job specs\n")
- comment_divider(output_filehandle)
-
- for f in YAML_GENERATOR_FUNCTIONS:
- render_yaml(None, f(), output_filehandle)
-
- with open("verbatim-sources/remaining-sections.yml") as fh:
- output_filehandle.write(fh.read())
+ for f in YAML_SOURCES:
+ f.write(output_filehandle)
if __name__ == "__main__":
diff --git a/.circleci/make_build_configs.py b/.circleci/make_build_configs.py
new file mode 100644
index 0000000000..74e7e6f9cc
--- /dev/null
+++ b/.circleci/make_build_configs.py
@@ -0,0 +1,134 @@
+from collections import OrderedDict
+
+from conf_tree import ConfigNode
+
+
+LINKING_DIMENSIONS = [
+ "shared",
+ "static",
+]
+
+DEPS_INCLUSION_DIMENSIONS = [
+ "with-deps",
+ "without-deps",
+]
+
+
+def get_processor_arch_name(cuda_version):
+ return "cpu" if not cuda_version else "cu" + cuda_version
+
+
+CUDA_VERSIONS = [
+ None, # cpu build
+ "80",
+ "90",
+ "100",
+]
+
+STANDARD_PYTHON_VERSIONS = [
+ "2.7",
+ "3.5",
+ "3.6",
+ "3.7",
+]
+
+
+CONFIG_TREE_DATA = OrderedDict(
+ linux=(CUDA_VERSIONS, OrderedDict(
+ manywheel=[
+ "2.7m",
+ "2.7mu",
+ "3.5m",
+ "3.6m",
+ "3.7m",
+ ],
+ conda=STANDARD_PYTHON_VERSIONS,
+ libtorch=[
+ "2.7m",
+ ]
+ )),
+ macos=([None], OrderedDict(
+ wheel=STANDARD_PYTHON_VERSIONS,
+ conda=STANDARD_PYTHON_VERSIONS,
+ libtorch=[
+ "2.7",
+ ],
+ )),
+)
+
+
+class TopLevelNode(ConfigNode):
+ def __init__(self, node_name, config_tree_data, smoke):
+ super().__init__(None, node_name)
+
+ self.config_tree_data = config_tree_data
+ self.props["smoke"] = smoke
+
+ def get_children(self):
+ return [OSConfigNode(self, x, c, p) for (x, (c, p)) in self.config_tree_data.items()]
+
+
+class OSConfigNode(ConfigNode):
+ def __init__(self, parent, os_name, cuda_versions, py_tree):
+ super().__init__(parent, os_name)
+
+ self.py_tree = py_tree
+ self.props["os_name"] = os_name
+ self.props["cuda_versions"] = cuda_versions
+
+ def get_children(self):
+ return [PackageFormatConfigNode(self, k, v) for k, v in self.py_tree.items()]
+
+
+class PackageFormatConfigNode(ConfigNode):
+ def __init__(self, parent, package_format, python_versions):
+ super().__init__(parent, package_format)
+
+ self.props["python_versions"] = python_versions
+ self.props["package_format"] = package_format
+
+ def get_children(self):
+ return [ArchConfigNode(self, v) for v in self.find_prop("cuda_versions")]
+
+
+class ArchConfigNode(ConfigNode):
+ def __init__(self, parent, cu):
+ super().__init__(parent, get_processor_arch_name(cu))
+
+ self.props["cu"] = cu
+
+ def get_children(self):
+ return [PyVersionConfigNode(self, v) for v in self.find_prop("python_versions")]
+
+
+class PyVersionConfigNode(ConfigNode):
+ def __init__(self, parent, pyver):
+ super().__init__(parent, pyver)
+
+ self.props["pyver"] = pyver
+
+ def get_children(self):
+
+ smoke = self.find_prop("smoke")
+ package_format = self.find_prop("package_format")
+ os_name = self.find_prop("os_name")
+
+ has_libtorch_variants = smoke and package_format == "libtorch" and os_name == "linux"
+ linking_variants = LINKING_DIMENSIONS if has_libtorch_variants else []
+
+ return [LinkingVariantConfigNode(self, v) for v in linking_variants]
+
+
+class LinkingVariantConfigNode(ConfigNode):
+ def __init__(self, parent, linking_variant):
+ super().__init__(parent, linking_variant)
+
+ def get_children(self):
+ return [DependencyInclusionConfigNode(self, v) for v in DEPS_INCLUSION_DIMENSIONS]
+
+
+class DependencyInclusionConfigNode(ConfigNode):
+ def __init__(self, parent, deps_variant):
+ super().__init__(parent, deps_variant)
+
+ self.props["libtorch_variant"] = "-".join([self.parent.get_label(), self.get_label()])
diff --git a/.circleci/miniutils.py b/.circleci/miniutils.py
new file mode 100644
index 0000000000..265e04da83
--- /dev/null
+++ b/.circleci/miniutils.py
@@ -0,0 +1,6 @@
+def quote(s):
+ return '"' + s + '"'
+
+
+def override(word, substitutions):
+ return substitutions.get(word, word)
diff --git a/.circleci/miniyaml.py b/.circleci/miniyaml.py
new file mode 100644
index 0000000000..1ee7d2db2f
--- /dev/null
+++ b/.circleci/miniyaml.py
@@ -0,0 +1,61 @@
+from collections import OrderedDict
+
+
+LIST_MARKER = "- "
+INDENTATION_WIDTH = 2
+
+
+def is_dict(data):
+ return type(data) is dict or type(data) is OrderedDict
+
+
+def is_collection(data):
+ return is_dict(data) or type(data) is list
+
+
+# TODO can eventually drop this custom sorting
+def sortkey(x):
+ k = x[0]
+ return (
+ k == "<<",
+ k != "environment",
+ k,
+ )
+
+
+def render(fh, key, data, depth, is_list_member=False):
+ """
+ PyYaml does not allow precise control over the quoting
+ behavior, especially for merge references.
+ Therefore, we use this custom YAML renderer.
+ """
+
+ indentation = " " * INDENTATION_WIDTH * depth
+
+ if is_dict(data):
+
+ tuples = list(data.items())
+ if type(data) is not OrderedDict:
+ tuples.sort(key=sortkey)
+
+ for i, (k, v) in enumerate(tuples):
+
+ # If this dict is itself a list member, the first key gets prefixed with a list marker
+ list_marker_prefix = LIST_MARKER if is_list_member and not i else ""
+
+ trailing_whitespace = "\n" if is_collection(v) else " "
+ fh.write(indentation + list_marker_prefix + k + ":" + trailing_whitespace)
+
+ render(fh, k, v, depth + 1 + int(is_list_member))
+
+ # TODO Could eventually drop this cosmetic convention
+ if depth == 2:
+ fh.write("\n")
+
+ elif type(data) is list:
+ for v in data:
+ render(fh, None, v, depth, True)
+
+ else:
+ list_member_prefix = indentation + LIST_MARKER if is_list_member else ""
+ fh.write(list_member_prefix + str(data) + "\n")
diff --git a/.circleci/verbatim-sources/binary-build-specs-header.yml b/.circleci/verbatim-sources/binary-build-specs-header.yml
new file mode 100644
index 0000000000..d6cbd36fe3
--- /dev/null
+++ b/.circleci/verbatim-sources/binary-build-specs-header.yml
@@ -0,0 +1,3 @@
+##############################################################################
+# Binary build specs individual job specifications
+##############################################################################
diff --git a/.circleci/verbatim-sources/binary-build-tests-header.yml b/.circleci/verbatim-sources/binary-build-tests-header.yml
new file mode 100644
index 0000000000..379f3b533f
--- /dev/null
+++ b/.circleci/verbatim-sources/binary-build-tests-header.yml
@@ -0,0 +1,4 @@
+ # Binary build tests
+ # These are the smoke tests run right after the build, before the upload. If
+ # these fail, the upload doesn't happen
+ #############################################################################
diff --git a/.circleci/verbatim-sources/binary-build-tests.yml b/.circleci/verbatim-sources/binary-build-tests.yml
new file mode 100644
index 0000000000..d4224036a1
--- /dev/null
+++ b/.circleci/verbatim-sources/binary-build-tests.yml
@@ -0,0 +1,25 @@
+# There is currently no testing for libtorch TODO
+# binary_linux_libtorch_2.7m_cpu_test:
+# environment:
+# BUILD_ENVIRONMENT: "libtorch 2.7m cpu"
+# resource_class: gpu.medium
+# <<: *binary_linux_test
+#
+# binary_linux_libtorch_2.7m_cu80_test:
+# environment:
+# BUILD_ENVIRONMENT: "libtorch 2.7m cu80"
+# resource_class: gpu.medium
+# <<: *binary_linux_test
+#
+# binary_linux_libtorch_2.7m_cu90_test:
+# environment:
+# BUILD_ENVIRONMENT: "libtorch 2.7m cu90"
+# resource_class: gpu.medium
+# <<: *binary_linux_test
+#
+# binary_linux_libtorch_2.7m_cu100_test:
+# environment:
+# BUILD_ENVIRONMENT: "libtorch 2.7m cu100"
+# resource_class: gpu.medium
+# <<: *binary_linux_test
+
diff --git a/.circleci/verbatim-sources/binary-build-uploads-header.yml b/.circleci/verbatim-sources/binary-build-uploads-header.yml
new file mode 100644
index 0000000000..d316695729
--- /dev/null
+++ b/.circleci/verbatim-sources/binary-build-uploads-header.yml
@@ -0,0 +1,2 @@
+ # Binary build uploads
+ #############################################################################
diff --git a/.circleci/verbatim-sources/job-specs-caffe2-builds.yml b/.circleci/verbatim-sources/job-specs-caffe2-builds.yml
new file mode 100644
index 0000000000..670130f476
--- /dev/null
+++ b/.circleci/verbatim-sources/job-specs-caffe2-builds.yml
@@ -0,0 +1,159 @@
+ caffe2_py2_cuda9_0_cudnn7_ubuntu16_04_build:
+ environment:
+ BUILD_ENVIRONMENT: "caffe2-py2-cuda9.0-cudnn7-ubuntu16.04-build"
+ DOCKER_IMAGE: "308535385114.dkr.ecr.us-east-1.amazonaws.com/caffe2/py2-cuda9.0-cudnn7-ubuntu16.04:248"
+ <<: *caffe2_linux_build_defaults
+
+ caffe2_py2_cuda9_0_cudnn7_ubuntu16_04_test:
+ environment:
+ DOCKER_IMAGE: "308535385114.dkr.ecr.us-east-1.amazonaws.com/caffe2/py2-cuda9.0-cudnn7-ubuntu16.04:248"
+ USE_CUDA_DOCKER_RUNTIME: "1"
+ BUILD_ENVIRONMENT: "caffe2-py2-cuda9.0-cudnn7-ubuntu16.04-test"
+ resource_class: gpu.medium
+ <<: *caffe2_linux_test_defaults
+
+ caffe2_cmake_cuda9_0_cudnn7_ubuntu16_04_build:
+ environment:
+ DOCKER_IMAGE: "308535385114.dkr.ecr.us-east-1.amazonaws.com/caffe2/py2-cuda9.0-cudnn7-ubuntu16.04:248"
+ BUILD_ENVIRONMENT: "caffe2-cmake-cuda9.0-cudnn7-ubuntu16.04-build"
+ <<: *caffe2_linux_build_defaults
+
+ caffe2_cmake_cuda9_0_cudnn7_ubuntu16_04_test:
+ environment:
+ DOCKER_IMAGE: "308535385114.dkr.ecr.us-east-1.amazonaws.com/caffe2/py2-cuda9.0-cudnn7-ubuntu16.04:248"
+ USE_CUDA_DOCKER_RUNTIME: "1"
+ BUILD_ENVIRONMENT: "caffe2-cmake-cuda9.0-cudnn7-ubuntu16.04-test"
+ resource_class: gpu.medium
+ <<: *caffe2_linux_test_defaults
+
+ caffe2_py2_cuda9_1_cudnn7_ubuntu16_04_build:
+ environment:
+ BUILD_ENVIRONMENT: "caffe2-py2-cuda9.1-cudnn7-ubuntu16.04-build"
+ DOCKER_IMAGE: "308535385114.dkr.ecr.us-east-1.amazonaws.com/caffe2/py2-cuda9.1-cudnn7-ubuntu16.04:248"
+ <<: *caffe2_linux_build_defaults
+
+ caffe2_py2_cuda9_1_cudnn7_ubuntu16_04_test:
+ environment:
+ DOCKER_IMAGE: "308535385114.dkr.ecr.us-east-1.amazonaws.com/caffe2/py2-cuda9.1-cudnn7-ubuntu16.04:248"
+ USE_CUDA_DOCKER_RUNTIME: "1"
+ BUILD_ENVIRONMENT: "caffe2-py2-cuda9.1-cudnn7-ubuntu16.04-test"
+ resource_class: gpu.medium
+ <<: *caffe2_linux_test_defaults
+
+ caffe2_py2_mkl_ubuntu16_04_build:
+ environment:
+ DOCKER_IMAGE: "308535385114.dkr.ecr.us-east-1.amazonaws.com/caffe2/py2-mkl-ubuntu16.04:248"
+ BUILD_ENVIRONMENT: "caffe2-py2-mkl-ubuntu16.04-build"
+ <<: *caffe2_linux_build_defaults
+
+ caffe2_py2_mkl_ubuntu16_04_test:
+ environment:
+ DOCKER_IMAGE: "308535385114.dkr.ecr.us-east-1.amazonaws.com/caffe2/py2-mkl-ubuntu16.04:248"
+ BUILD_ENVIRONMENT: "caffe2-py2-mkl-ubuntu16.04-test"
+ resource_class: large
+ <<: *caffe2_linux_test_defaults
+
+ caffe2_py2_gcc4_8_ubuntu14_04_build:
+ environment:
+ DOCKER_IMAGE: "308535385114.dkr.ecr.us-east-1.amazonaws.com/caffe2/py2-gcc4.8-ubuntu14.04:248"
+ BUILD_ENVIRONMENT: "caffe2-py2-gcc4.8-ubuntu14.04-build"
+ <<: *caffe2_linux_build_defaults
+
+ caffe2_py2_gcc4_8_ubuntu14_04_test:
+ environment:
+ DOCKER_IMAGE: "308535385114.dkr.ecr.us-east-1.amazonaws.com/caffe2/py2-gcc4.8-ubuntu14.04:248"
+ BUILD_ENVIRONMENT: "caffe2-py2-gcc4.8-ubuntu14.04-test"
+ resource_class: large
+ <<: *caffe2_linux_test_defaults
+
+ caffe2_onnx_py2_gcc5_ubuntu16_04_build:
+ environment:
+ DOCKER_IMAGE: "308535385114.dkr.ecr.us-east-1.amazonaws.com/caffe2/py2-gcc5-ubuntu16.04:248"
+ BUILD_ENVIRONMENT: "caffe2-onnx-py2-gcc5-ubuntu16.04-build"
+ <<: *caffe2_linux_build_defaults
+
+ caffe2_onnx_py2_gcc5_ubuntu16_04_test:
+ environment:
+ DOCKER_IMAGE: "308535385114.dkr.ecr.us-east-1.amazonaws.com/caffe2/py2-gcc5-ubuntu16.04:248"
+ BUILD_ENVIRONMENT: "caffe2-onnx-py2-gcc5-ubuntu16.04-test"
+ resource_class: large
+ <<: *caffe2_linux_test_defaults
+
+ caffe2_py2_cuda8_0_cudnn7_ubuntu16_04_build:
+ environment:
+ DOCKER_IMAGE: "308535385114.dkr.ecr.us-east-1.amazonaws.com/caffe2/py2-cuda8.0-cudnn7-ubuntu16.04:248"
+ BUILD_ENVIRONMENT: "caffe2-py2-cuda8.0-cudnn7-ubuntu16.04-build"
+ <<: *caffe2_linux_build_defaults
+
+ caffe2_py2_cuda8_0_cudnn7_ubuntu16_04_test:
+ environment:
+ DOCKER_IMAGE: "308535385114.dkr.ecr.us-east-1.amazonaws.com/caffe2/py2-cuda8.0-cudnn7-ubuntu16.04:248"
+ USE_CUDA_DOCKER_RUNTIME: "1"
+ BUILD_ENVIRONMENT: "caffe2-py2-cuda8.0-cudnn7-ubuntu16.04-test"
+ resource_class: gpu.medium
+ <<: *caffe2_linux_test_defaults
+
+ caffe2_py2_gcc4_9_ubuntu14_04_build:
+ environment:
+ DOCKER_IMAGE: "308535385114.dkr.ecr.us-east-1.amazonaws.com/caffe2/py2-gcc4.9-ubuntu14.04:248"
+ BUILD_ENVIRONMENT: "caffe2-py2-gcc4.9-ubuntu14.04-build"
+ BUILD_ONLY: "1"
+ <<: *caffe2_linux_build_defaults
+
+ caffe2_py2_clang3_8_ubuntu16_04_build:
+ environment:
+ DOCKER_IMAGE: "308535385114.dkr.ecr.us-east-1.amazonaws.com/caffe2/py2-clang3.8-ubuntu16.04:248"
+ BUILD_ENVIRONMENT: "caffe2-py2-clang3.8-ubuntu16.04-build"
+ BUILD_ONLY: "1"
+ <<: *caffe2_linux_build_defaults
+
+ caffe2_py2_clang3_9_ubuntu16_04_build:
+ environment:
+ DOCKER_IMAGE: "308535385114.dkr.ecr.us-east-1.amazonaws.com/caffe2/py2-clang3.9-ubuntu16.04:248"
+ BUILD_ENVIRONMENT: "caffe2-py2-clang3.9-ubuntu16.04-build"
+ BUILD_ONLY: "1"
+ <<: *caffe2_linux_build_defaults
+
+ caffe2_py2_clang7_ubuntu16_04_build:
+ environment:
+ DOCKER_IMAGE: "308535385114.dkr.ecr.us-east-1.amazonaws.com/caffe2/py2-clang7-ubuntu16.04:248"
+ BUILD_ENVIRONMENT: "caffe2-py2-clang7-ubuntu16.04-build"
+ BUILD_ONLY: "1"
+ <<: *caffe2_linux_build_defaults
+
+ caffe2_py2_android_ubuntu16_04_build:
+ environment:
+ DOCKER_IMAGE: "308535385114.dkr.ecr.us-east-1.amazonaws.com/caffe2/py2-android-ubuntu16.04:248"
+ BUILD_ENVIRONMENT: "caffe2-py2-android-ubuntu16.04-build"
+ BUILD_ONLY: "1"
+ <<: *caffe2_linux_build_defaults
+
+ caffe2_py2_cuda9_0_cudnn7_centos7_build:
+ environment:
+ DOCKER_IMAGE: "308535385114.dkr.ecr.us-east-1.amazonaws.com/caffe2/py2-cuda9.0-cudnn7-centos7:248"
+ BUILD_ENVIRONMENT: "caffe2-py2-cuda9.0-cudnn7-centos7-build"
+ <<: *caffe2_linux_build_defaults
+
+ caffe2_py2_cuda9_0_cudnn7_centos7_test:
+ environment:
+ DOCKER_IMAGE: "308535385114.dkr.ecr.us-east-1.amazonaws.com/caffe2/py2-cuda9.0-cudnn7-centos7:248"
+ USE_CUDA_DOCKER_RUNTIME: "1"
+ BUILD_ENVIRONMENT: "caffe2-py2-cuda9.0-cudnn7-centos7-test"
+ resource_class: gpu.medium
+ <<: *caffe2_linux_test_defaults
+
+ caffe2_py2_ios_macos10_13_build:
+ environment:
+ BUILD_ENVIRONMENT: caffe2-py2-ios-macos10.13-build
+ BUILD_IOS: "1"
+ PYTHON_INSTALLATION: "system"
+ PYTHON_VERSION: "2"
+ <<: *caffe2_macos_build_defaults
+
+ caffe2_py2_system_macos10_13_build:
+ environment:
+ BUILD_ENVIRONMENT: caffe2-py2-system-macos10.13-build
+ PYTHON_INSTALLATION: "system"
+ PYTHON_VERSION: "2"
+ <<: *caffe2_macos_build_defaults
+
diff --git a/.circleci/verbatim-sources/job-specs-custom.yml b/.circleci/verbatim-sources/job-specs-custom.yml
new file mode 100644
index 0000000000..77cde1fa40
--- /dev/null
+++ b/.circleci/verbatim-sources/job-specs-custom.yml
@@ -0,0 +1,193 @@
+ pytorch_short_perf_test_gpu:
+ environment:
+ BUILD_ENVIRONMENT: pytorch-short-perf-test-gpu
+ DOCKER_IMAGE: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-cuda8-cudnn7-py3:282"
+ PYTHON_VERSION: "3.6"
+ USE_CUDA_DOCKER_RUNTIME: "1"
+ resource_class: gpu.medium
+ machine:
+ image: default
+ steps:
+ - run:
+ <<: *setup_linux_system_environment
+ - run:
+ <<: *setup_ci_environment
+ - run:
+ name: Perf Test
+ no_output_timeout: "1h"
+ command: |
+ set -e
+ export COMMIT_DOCKER_IMAGE=${DOCKER_IMAGE}-${CIRCLE_SHA1}
+ echo "DOCKER_IMAGE: "${COMMIT_DOCKER_IMAGE}
+ docker pull ${COMMIT_DOCKER_IMAGE} >/dev/null
+ export id=$(docker run --runtime=nvidia -t -d -w /var/lib/jenkins ${COMMIT_DOCKER_IMAGE})
+
+ docker cp $id:/var/lib/jenkins/workspace/env /home/circleci/project/env
+ # This IAM user allows write access to S3 bucket for perf test numbers
+ echo "declare -x AWS_ACCESS_KEY_ID=${CIRCLECI_AWS_ACCESS_KEY_FOR_PERF_TEST_S3_BUCKET_V3}" >> /home/circleci/project/env
+ echo "declare -x AWS_SECRET_ACCESS_KEY=${CIRCLECI_AWS_SECRET_KEY_FOR_PERF_TEST_S3_BUCKET_V3}" >> /home/circleci/project/env
+ docker cp /home/circleci/project/env $id:/var/lib/jenkins/workspace/env
+
+ export COMMAND='((echo "export BUILD_ENVIRONMENT=${BUILD_ENVIRONMENT}" && echo "source ./workspace/env" && echo "sudo chown -R jenkins workspace && cd workspace && .jenkins/pytorch/short-perf-test-gpu.sh") | docker exec -u jenkins -i "$id" bash) 2>&1'
+ echo ${COMMAND} > ./command.sh && unbuffer bash ./command.sh | ts
+
+ pytorch_doc_push:
+ environment:
+ BUILD_ENVIRONMENT: pytorch-doc-push
+ DOCKER_IMAGE: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-cuda8-cudnn7-py3:282"
+ resource_class: large
+ machine:
+ image: default
+ steps:
+ - run:
+ <<: *setup_linux_system_environment
+ - run:
+ <<: *setup_ci_environment
+ - run:
+ <<: *install_doc_push_script
+ - run:
+ name: Doc Build and Push
+ no_output_timeout: "1h"
+ command: |
+ set -e
+ export COMMIT_DOCKER_IMAGE=${DOCKER_IMAGE}-${CIRCLE_SHA1}
+ echo "DOCKER_IMAGE: "${COMMIT_DOCKER_IMAGE}
+ docker pull ${COMMIT_DOCKER_IMAGE} >/dev/null
+ export id=$(docker run -t -d -w /var/lib/jenkins ${COMMIT_DOCKER_IMAGE})
+
+ docker cp /home/circleci/project/doc_push_script.sh $id:/var/lib/jenkins/workspace/doc_push_script.sh
+
+ # master branch docs push
+ if [[ "${CIRCLE_BRANCH}" == "master" ]]; then
+ export COMMAND='((echo "export BUILD_ENVIRONMENT=${BUILD_ENVIRONMENT}" && echo "source ./workspace/env" && echo "sudo chown -R jenkins workspace && cd workspace && ./doc_push_script.sh docs/master master") | docker exec -u jenkins -i "$id" bash) 2>&1'
+
+ # stable release docs push. Due to some circleci limitations, we keep
+ # an eternal PR open (#16502) for merging v1.0.1 -> master for this job.
+ # XXX: The following code is only run on the v1.0.1 branch, which might
+ # not be exactly the same as what you see here.
+ elif [[ "${CIRCLE_BRANCH}" == "v1.0.1" ]]; then
+ export COMMAND='((echo "export BUILD_ENVIRONMENT=${BUILD_ENVIRONMENT}" && echo "source ./workspace/env" && echo "sudo chown -R jenkins workspace && cd workspace && ./doc_push_script.sh docs/stable 1.0.1") | docker exec -u jenkins -i "$id" bash) 2>&1'
+
+ # For open PRs: Do a dry_run of the docs build, don't push build
+ else
+ export COMMAND='((echo "export BUILD_ENVIRONMENT=${BUILD_ENVIRONMENT}" && echo "source ./workspace/env" && echo "sudo chown -R jenkins workspace && cd workspace && ./doc_push_script.sh docs/master master dry_run") | docker exec -u jenkins -i "$id" bash) 2>&1'
+ fi
+
+ echo ${COMMAND} > ./command.sh && unbuffer bash ./command.sh | ts
+
+ # Save the docs build so we can debug any problems
+ export DEBUG_COMMIT_DOCKER_IMAGE=${COMMIT_DOCKER_IMAGE}-debug
+ docker commit "$id" ${DEBUG_COMMIT_DOCKER_IMAGE}
+ docker push ${DEBUG_COMMIT_DOCKER_IMAGE}
+
+ pytorch_macos_10_13_py3_build:
+ macos:
+ xcode: "9.0"
+ steps:
+ - checkout
+ - run:
+ <<: *macos_brew_update
+ - run:
+ name: Build
+ environment:
+ BUILD_ENVIRONMENT: pytorch-macos-10.13-py3-build
+ no_output_timeout: "1h"
+ command: |
+ set -e
+
+ export IN_CIRCLECI=1
+
+ # Install sccache
+ sudo curl https://s3.amazonaws.com/ossci-macos/sccache --output /usr/local/bin/sccache
+ sudo chmod +x /usr/local/bin/sccache
+
+ export SCCACHE_BUCKET=ossci-compiler-cache-circleci-v2
+ # This IAM user allows write access to S3 bucket for sccache
+ export AWS_ACCESS_KEY_ID=${CIRCLECI_AWS_ACCESS_KEY_FOR_SCCACHE_S3_BUCKET_V3}
+ export AWS_SECRET_ACCESS_KEY=${CIRCLECI_AWS_SECRET_KEY_FOR_SCCACHE_S3_BUCKET_V3}
+
+ chmod a+x .jenkins/pytorch/macos-build.sh
+ unbuffer .jenkins/pytorch/macos-build.sh 2>&1 | ts
+
+ mkdir -p /Users/distiller/pytorch-ci-env/workspace
+
+ # copy with -a to preserve relative structure (e.g., symlinks), and be recursive
+ cp -a /Users/distiller/project/. /Users/distiller/pytorch-ci-env/workspace
+ - persist_to_workspace:
+ root: /Users/distiller/pytorch-ci-env
+ paths:
+ - "*"
+
+ pytorch_macos_10_13_py3_test:
+ macos:
+ xcode: "9.0"
+ steps:
+ - run:
+ name: Prepare workspace
+ command: |
+ sudo mkdir -p /Users/distiller/pytorch-ci-env
+ sudo chmod -R 777 /Users/distiller/pytorch-ci-env
+ - attach_workspace:
+ at: /Users/distiller/pytorch-ci-env
+ - run:
+ <<: *macos_brew_update
+ - run:
+ name: Test
+ environment:
+ BUILD_ENVIRONMENT: pytorch-macos-10.13-py3-test
+ no_output_timeout: "1h"
+ command: |
+ set -e
+ export IN_CIRCLECI=1
+
+ # copy with -a to preserve relative structure (e.g., symlinks), and be recursive
+ cp -a /Users/distiller/pytorch-ci-env/workspace/. /Users/distiller/project
+
+ chmod a+x .jenkins/pytorch/macos-test.sh
+ unbuffer .jenkins/pytorch/macos-test.sh 2>&1 | ts
+
+ pytorch_macos_10_13_cuda9_2_cudnn7_py3_build:
+ macos:
+ xcode: "9.0"
+ steps:
+ - checkout
+ - run:
+ <<: *macos_brew_update
+ - run:
+ name: Build
+ environment:
+ BUILD_ENVIRONMENT: pytorch-macos-10.13-cuda9.2-cudnn7-py3-build
+ no_output_timeout: "1h"
+ command: |
+ set -e
+
+ export IN_CIRCLECI=1
+
+ # Install CUDA 9.2
+ sudo rm -rf ~/cuda_9.2.64_mac_installer.app || true
+ curl https://s3.amazonaws.com/ossci-macos/cuda_9.2.64_mac_installer.zip -o ~/cuda_9.2.64_mac_installer.zip
+ unzip ~/cuda_9.2.64_mac_installer.zip -d ~/
+ sudo ~/cuda_9.2.64_mac_installer.app/Contents/MacOS/CUDAMacOSXInstaller --accept-eula --no-window
+ sudo cp /usr/local/cuda/lib/libcuda.dylib /Developer/NVIDIA/CUDA-9.2/lib/libcuda.dylib
+ sudo rm -rf /usr/local/cuda || true
+
+ # Install cuDNN 7.1 for CUDA 9.2
+ curl https://s3.amazonaws.com/ossci-macos/cudnn-9.2-osx-x64-v7.1.tgz -o ~/cudnn-9.2-osx-x64-v7.1.tgz
+ rm -rf ~/cudnn-9.2-osx-x64-v7.1 && mkdir ~/cudnn-9.2-osx-x64-v7.1
+ tar -xzvf ~/cudnn-9.2-osx-x64-v7.1.tgz -C ~/cudnn-9.2-osx-x64-v7.1
+ sudo cp ~/cudnn-9.2-osx-x64-v7.1/cuda/include/cudnn.h /Developer/NVIDIA/CUDA-9.2/include/
+ sudo cp ~/cudnn-9.2-osx-x64-v7.1/cuda/lib/libcudnn* /Developer/NVIDIA/CUDA-9.2/lib/
+ sudo chmod a+r /Developer/NVIDIA/CUDA-9.2/include/cudnn.h /Developer/NVIDIA/CUDA-9.2/lib/libcudnn*
+
+ # Install sccache
+ sudo curl https://s3.amazonaws.com/ossci-macos/sccache --output /usr/local/bin/sccache
+ sudo chmod +x /usr/local/bin/sccache
+ export SCCACHE_BUCKET=ossci-compiler-cache-circleci-v2
+ # This IAM user allows write access to S3 bucket for sccache
+ export AWS_ACCESS_KEY_ID=${CIRCLECI_AWS_ACCESS_KEY_FOR_SCCACHE_S3_BUCKET_V3}
+ export AWS_SECRET_ACCESS_KEY=${CIRCLECI_AWS_SECRET_KEY_FOR_SCCACHE_S3_BUCKET_V3}
+
+ git submodule sync && git submodule update -q --init
+ chmod a+x .jenkins/pytorch/macos-build.sh
+ unbuffer .jenkins/pytorch/macos-build.sh 2>&1 | ts
+
diff --git a/.circleci/verbatim-sources/job-specs-header.yml b/.circleci/verbatim-sources/job-specs-header.yml
new file mode 100644
index 0000000000..2d5618f6d9
--- /dev/null
+++ b/.circleci/verbatim-sources/job-specs-header.yml
@@ -0,0 +1,5 @@
+##############################################################################
+##############################################################################
+# Job specifications job specs
+##############################################################################
+##############################################################################
diff --git a/.circleci/verbatim-sources/job-specs-html-update.yml b/.circleci/verbatim-sources/job-specs-html-update.yml
new file mode 100644
index 0000000000..2a28898984
--- /dev/null
+++ b/.circleci/verbatim-sources/job-specs-html-update.yml
@@ -0,0 +1,24 @@
+# update_s3_htmls job
+ update_s3_htmls:
+ machine:
+ image: default
+ steps:
+ - run:
+ <<: *setup_linux_system_environment
+ - run:
+ <<: *binary_populate_env
+ - run:
+ <<: *binary_checkout
+ - run:
+ name: Update s3 htmls
+ no_output_timeout: "1h"
+ command: |
+ echo "declare -x \"AWS_ACCESS_KEY_ID=${PYTORCH_BINARY_AWS_ACCESS_KEY_ID}\"" >> /home/circleci/project/env
+ echo "declare -x \"AWS_SECRET_ACCESS_KEY=${PYTORCH_BINARY_AWS_SECRET_ACCESS_KEY}\"" >> /home/circleci/project/env
+ source /home/circleci/project/env
+ set -ex
+ retry pip install awscli==1.6
+ "$BUILDER_ROOT/cron/update_s3_htmls.sh"
+
+
+
diff --git a/.circleci/verbatim-sources/remaining-sections.yml b/.circleci/verbatim-sources/remaining-sections.yml
deleted file mode 100644
index 3c4996748f..0000000000
--- a/.circleci/verbatim-sources/remaining-sections.yml
+++ /dev/null
@@ -1,2338 +0,0 @@
- pytorch_short_perf_test_gpu:
- environment:
- BUILD_ENVIRONMENT: pytorch-short-perf-test-gpu
- DOCKER_IMAGE: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-cuda8-cudnn7-py3:282"
- PYTHON_VERSION: "3.6"
- USE_CUDA_DOCKER_RUNTIME: "1"
- resource_class: gpu.medium
- machine:
- image: default
- steps:
- - run:
- <<: *setup_linux_system_environment
- - run:
- <<: *setup_ci_environment
- - run:
- name: Perf Test
- no_output_timeout: "1h"
- command: |
- set -e
- export COMMIT_DOCKER_IMAGE=${DOCKER_IMAGE}-${CIRCLE_SHA1}
- echo "DOCKER_IMAGE: "${COMMIT_DOCKER_IMAGE}
- docker pull ${COMMIT_DOCKER_IMAGE} >/dev/null
- export id=$(docker run --runtime=nvidia -t -d -w /var/lib/jenkins ${COMMIT_DOCKER_IMAGE})
-
- docker cp $id:/var/lib/jenkins/workspace/env /home/circleci/project/env
- # This IAM user allows write access to S3 bucket for perf test numbers
- echo "declare -x AWS_ACCESS_KEY_ID=${CIRCLECI_AWS_ACCESS_KEY_FOR_PERF_TEST_S3_BUCKET_V3}" >> /home/circleci/project/env
- echo "declare -x AWS_SECRET_ACCESS_KEY=${CIRCLECI_AWS_SECRET_KEY_FOR_PERF_TEST_S3_BUCKET_V3}" >> /home/circleci/project/env
- docker cp /home/circleci/project/env $id:/var/lib/jenkins/workspace/env
-
- export COMMAND='((echo "export BUILD_ENVIRONMENT=${BUILD_ENVIRONMENT}" && echo "source ./workspace/env" && echo "sudo chown -R jenkins workspace && cd workspace && .jenkins/pytorch/short-perf-test-gpu.sh") | docker exec -u jenkins -i "$id" bash) 2>&1'
- echo ${COMMAND} > ./command.sh && unbuffer bash ./command.sh | ts
-
- pytorch_doc_push:
- environment:
- BUILD_ENVIRONMENT: pytorch-doc-push
- DOCKER_IMAGE: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-cuda8-cudnn7-py3:282"
- resource_class: large
- machine:
- image: default
- steps:
- - run:
- <<: *setup_linux_system_environment
- - run:
- <<: *setup_ci_environment
- - run:
- <<: *install_doc_push_script
- - run:
- name: Doc Build and Push
- no_output_timeout: "1h"
- command: |
- set -e
- export COMMIT_DOCKER_IMAGE=${DOCKER_IMAGE}-${CIRCLE_SHA1}
- echo "DOCKER_IMAGE: "${COMMIT_DOCKER_IMAGE}
- docker pull ${COMMIT_DOCKER_IMAGE} >/dev/null
- export id=$(docker run -t -d -w /var/lib/jenkins ${COMMIT_DOCKER_IMAGE})
-
- docker cp /home/circleci/project/doc_push_script.sh $id:/var/lib/jenkins/workspace/doc_push_script.sh
-
- # master branch docs push
- if [[ "${CIRCLE_BRANCH}" == "master" ]]; then
- export COMMAND='((echo "export BUILD_ENVIRONMENT=${BUILD_ENVIRONMENT}" && echo "source ./workspace/env" && echo "sudo chown -R jenkins workspace && cd workspace && ./doc_push_script.sh docs/master master") | docker exec -u jenkins -i "$id" bash) 2>&1'
-
- # stable release docs push. Due to some circleci limitations, we keep
- # an eternal PR open (#16502) for merging v1.0.1 -> master for this job.
- # XXX: The following code is only run on the v1.0.1 branch, which might
- # not be exactly the same as what you see here.
- elif [[ "${CIRCLE_BRANCH}" == "v1.0.1" ]]; then
- export COMMAND='((echo "export BUILD_ENVIRONMENT=${BUILD_ENVIRONMENT}" && echo "source ./workspace/env" && echo "sudo chown -R jenkins workspace && cd workspace && ./doc_push_script.sh docs/stable 1.0.1") | docker exec -u jenkins -i "$id" bash) 2>&1'
-
- # For open PRs: Do a dry_run of the docs build, don't push build
- else
- export COMMAND='((echo "export BUILD_ENVIRONMENT=${BUILD_ENVIRONMENT}" && echo "source ./workspace/env" && echo "sudo chown -R jenkins workspace && cd workspace && ./doc_push_script.sh docs/master master dry_run") | docker exec -u jenkins -i "$id" bash) 2>&1'
- fi
-
- echo ${COMMAND} > ./command.sh && unbuffer bash ./command.sh | ts
-
- # Save the docs build so we can debug any problems
- export DEBUG_COMMIT_DOCKER_IMAGE=${COMMIT_DOCKER_IMAGE}-debug
- docker commit "$id" ${DEBUG_COMMIT_DOCKER_IMAGE}
- docker push ${DEBUG_COMMIT_DOCKER_IMAGE}
-
- pytorch_macos_10_13_py3_build:
- macos:
- xcode: "9.0"
- steps:
- - checkout
- - run:
- <<: *macos_brew_update
- - run:
- name: Build
- environment:
- BUILD_ENVIRONMENT: pytorch-macos-10.13-py3-build
- no_output_timeout: "1h"
- command: |
- set -e
-
- export IN_CIRCLECI=1
-
- # Install sccache
- sudo curl https://s3.amazonaws.com/ossci-macos/sccache --output /usr/local/bin/sccache
- sudo chmod +x /usr/local/bin/sccache
-
- export SCCACHE_BUCKET=ossci-compiler-cache-circleci-v2
- # This IAM user allows write access to S3 bucket for sccache
- export AWS_ACCESS_KEY_ID=${CIRCLECI_AWS_ACCESS_KEY_FOR_SCCACHE_S3_BUCKET_V3}
- export AWS_SECRET_ACCESS_KEY=${CIRCLECI_AWS_SECRET_KEY_FOR_SCCACHE_S3_BUCKET_V3}
-
- chmod a+x .jenkins/pytorch/macos-build.sh
- unbuffer .jenkins/pytorch/macos-build.sh 2>&1 | ts
-
- mkdir -p /Users/distiller/pytorch-ci-env/workspace
-
- # copy with -a to preserve relative structure (e.g., symlinks), and be recursive
- cp -a /Users/distiller/project/. /Users/distiller/pytorch-ci-env/workspace
- - persist_to_workspace:
- root: /Users/distiller/pytorch-ci-env
- paths:
- - "*"
-
- pytorch_macos_10_13_py3_test:
- macos:
- xcode: "9.0"
- steps:
- - run:
- name: Prepare workspace
- command: |
- sudo mkdir -p /Users/distiller/pytorch-ci-env
- sudo chmod -R 777 /Users/distiller/pytorch-ci-env
- - attach_workspace:
- at: /Users/distiller/pytorch-ci-env
- - run:
- <<: *macos_brew_update
- - run:
- name: Test
- environment:
- BUILD_ENVIRONMENT: pytorch-macos-10.13-py3-test
- no_output_timeout: "1h"
- command: |
- set -e
- export IN_CIRCLECI=1
-
- # copy with -a to preserve relative structure (e.g., symlinks), and be recursive
- cp -a /Users/distiller/pytorch-ci-env/workspace/. /Users/distiller/project
-
- chmod a+x .jenkins/pytorch/macos-test.sh
- unbuffer .jenkins/pytorch/macos-test.sh 2>&1 | ts
-
- pytorch_macos_10_13_cuda9_2_cudnn7_py3_build:
- macos:
- xcode: "9.0"
- steps:
- - checkout
- - run:
- <<: *macos_brew_update
- - run:
- name: Build
- environment:
- BUILD_ENVIRONMENT: pytorch-macos-10.13-cuda9.2-cudnn7-py3-build
- no_output_timeout: "1h"
- command: |
- set -e
-
- export IN_CIRCLECI=1
-
- # Install CUDA 9.2
- sudo rm -rf ~/cuda_9.2.64_mac_installer.app || true
- curl https://s3.amazonaws.com/ossci-macos/cuda_9.2.64_mac_installer.zip -o ~/cuda_9.2.64_mac_installer.zip
- unzip ~/cuda_9.2.64_mac_installer.zip -d ~/
- sudo ~/cuda_9.2.64_mac_installer.app/Contents/MacOS/CUDAMacOSXInstaller --accept-eula --no-window
- sudo cp /usr/local/cuda/lib/libcuda.dylib /Developer/NVIDIA/CUDA-9.2/lib/libcuda.dylib
- sudo rm -rf /usr/local/cuda || true
-
- # Install cuDNN 7.1 for CUDA 9.2
- curl https://s3.amazonaws.com/ossci-macos/cudnn-9.2-osx-x64-v7.1.tgz -o ~/cudnn-9.2-osx-x64-v7.1.tgz
- rm -rf ~/cudnn-9.2-osx-x64-v7.1 && mkdir ~/cudnn-9.2-osx-x64-v7.1
- tar -xzvf ~/cudnn-9.2-osx-x64-v7.1.tgz -C ~/cudnn-9.2-osx-x64-v7.1
- sudo cp ~/cudnn-9.2-osx-x64-v7.1/cuda/include/cudnn.h /Developer/NVIDIA/CUDA-9.2/include/
- sudo cp ~/cudnn-9.2-osx-x64-v7.1/cuda/lib/libcudnn* /Developer/NVIDIA/CUDA-9.2/lib/
- sudo chmod a+r /Developer/NVIDIA/CUDA-9.2/include/cudnn.h /Developer/NVIDIA/CUDA-9.2/lib/libcudnn*
-
- # Install sccache
- sudo curl https://s3.amazonaws.com/ossci-macos/sccache --output /usr/local/bin/sccache
- sudo chmod +x /usr/local/bin/sccache
- export SCCACHE_BUCKET=ossci-compiler-cache-circleci-v2
- # This IAM user allows write access to S3 bucket for sccache
- export AWS_ACCESS_KEY_ID=${CIRCLECI_AWS_ACCESS_KEY_FOR_SCCACHE_S3_BUCKET_V3}
- export AWS_SECRET_ACCESS_KEY=${CIRCLECI_AWS_SECRET_KEY_FOR_SCCACHE_S3_BUCKET_V3}
-
- git submodule sync && git submodule update -q --init
- chmod a+x .jenkins/pytorch/macos-build.sh
- unbuffer .jenkins/pytorch/macos-build.sh 2>&1 | ts
-
- caffe2_py2_cuda9_0_cudnn7_ubuntu16_04_build:
- environment:
- BUILD_ENVIRONMENT: "caffe2-py2-cuda9.0-cudnn7-ubuntu16.04-build"
- DOCKER_IMAGE: "308535385114.dkr.ecr.us-east-1.amazonaws.com/caffe2/py2-cuda9.0-cudnn7-ubuntu16.04:248"
- <<: *caffe2_linux_build_defaults
-
- caffe2_py2_cuda9_0_cudnn7_ubuntu16_04_test:
- environment:
- DOCKER_IMAGE: "308535385114.dkr.ecr.us-east-1.amazonaws.com/caffe2/py2-cuda9.0-cudnn7-ubuntu16.04:248"
- USE_CUDA_DOCKER_RUNTIME: "1"
- BUILD_ENVIRONMENT: "caffe2-py2-cuda9.0-cudnn7-ubuntu16.04-test"
- resource_class: gpu.medium
- <<: *caffe2_linux_test_defaults
-
- caffe2_cmake_cuda9_0_cudnn7_ubuntu16_04_build:
- environment:
- DOCKER_IMAGE: "308535385114.dkr.ecr.us-east-1.amazonaws.com/caffe2/py2-cuda9.0-cudnn7-ubuntu16.04:248"
- BUILD_ENVIRONMENT: "caffe2-cmake-cuda9.0-cudnn7-ubuntu16.04-build"
- <<: *caffe2_linux_build_defaults
-
- caffe2_cmake_cuda9_0_cudnn7_ubuntu16_04_test:
- environment:
- DOCKER_IMAGE: "308535385114.dkr.ecr.us-east-1.amazonaws.com/caffe2/py2-cuda9.0-cudnn7-ubuntu16.04:248"
- USE_CUDA_DOCKER_RUNTIME: "1"
- BUILD_ENVIRONMENT: "caffe2-cmake-cuda9.0-cudnn7-ubuntu16.04-test"
- resource_class: gpu.medium
- <<: *caffe2_linux_test_defaults
-
- caffe2_py2_cuda9_1_cudnn7_ubuntu16_04_build:
- environment:
- BUILD_ENVIRONMENT: "caffe2-py2-cuda9.1-cudnn7-ubuntu16.04-build"
- DOCKER_IMAGE: "308535385114.dkr.ecr.us-east-1.amazonaws.com/caffe2/py2-cuda9.1-cudnn7-ubuntu16.04:248"
- <<: *caffe2_linux_build_defaults
-
- caffe2_py2_cuda9_1_cudnn7_ubuntu16_04_test:
- environment:
- DOCKER_IMAGE: "308535385114.dkr.ecr.us-east-1.amazonaws.com/caffe2/py2-cuda9.1-cudnn7-ubuntu16.04:248"
- USE_CUDA_DOCKER_RUNTIME: "1"
- BUILD_ENVIRONMENT: "caffe2-py2-cuda9.1-cudnn7-ubuntu16.04-test"
- resource_class: gpu.medium
- <<: *caffe2_linux_test_defaults
-
- caffe2_py2_mkl_ubuntu16_04_build:
- environment:
- DOCKER_IMAGE: "308535385114.dkr.ecr.us-east-1.amazonaws.com/caffe2/py2-mkl-ubuntu16.04:248"
- BUILD_ENVIRONMENT: "caffe2-py2-mkl-ubuntu16.04-build"
- <<: *caffe2_linux_build_defaults
-
- caffe2_py2_mkl_ubuntu16_04_test:
- environment:
- DOCKER_IMAGE: "308535385114.dkr.ecr.us-east-1.amazonaws.com/caffe2/py2-mkl-ubuntu16.04:248"
- BUILD_ENVIRONMENT: "caffe2-py2-mkl-ubuntu16.04-test"
- resource_class: large
- <<: *caffe2_linux_test_defaults
-
- caffe2_py2_gcc4_8_ubuntu14_04_build:
- environment:
- DOCKER_IMAGE: "308535385114.dkr.ecr.us-east-1.amazonaws.com/caffe2/py2-gcc4.8-ubuntu14.04:248"
- BUILD_ENVIRONMENT: "caffe2-py2-gcc4.8-ubuntu14.04-build"
- <<: *caffe2_linux_build_defaults
-
- caffe2_py2_gcc4_8_ubuntu14_04_test:
- environment:
- DOCKER_IMAGE: "308535385114.dkr.ecr.us-east-1.amazonaws.com/caffe2/py2-gcc4.8-ubuntu14.04:248"
- BUILD_ENVIRONMENT: "caffe2-py2-gcc4.8-ubuntu14.04-test"
- resource_class: large
- <<: *caffe2_linux_test_defaults
-
- caffe2_onnx_py2_gcc5_ubuntu16_04_build:
- environment:
- DOCKER_IMAGE: "308535385114.dkr.ecr.us-east-1.amazonaws.com/caffe2/py2-gcc5-ubuntu16.04:248"
- BUILD_ENVIRONMENT: "caffe2-onnx-py2-gcc5-ubuntu16.04-build"
- <<: *caffe2_linux_build_defaults
-
- caffe2_onnx_py2_gcc5_ubuntu16_04_test:
- environment:
- DOCKER_IMAGE: "308535385114.dkr.ecr.us-east-1.amazonaws.com/caffe2/py2-gcc5-ubuntu16.04:248"
- BUILD_ENVIRONMENT: "caffe2-onnx-py2-gcc5-ubuntu16.04-test"
- resource_class: large
- <<: *caffe2_linux_test_defaults
-
- caffe2_py2_cuda8_0_cudnn7_ubuntu16_04_build:
- environment:
- DOCKER_IMAGE: "308535385114.dkr.ecr.us-east-1.amazonaws.com/caffe2/py2-cuda8.0-cudnn7-ubuntu16.04:248"
- BUILD_ENVIRONMENT: "caffe2-py2-cuda8.0-cudnn7-ubuntu16.04-build"
- <<: *caffe2_linux_build_defaults
-
- caffe2_py2_cuda8_0_cudnn7_ubuntu16_04_test:
- environment:
- DOCKER_IMAGE: "308535385114.dkr.ecr.us-east-1.amazonaws.com/caffe2/py2-cuda8.0-cudnn7-ubuntu16.04:248"
- USE_CUDA_DOCKER_RUNTIME: "1"
- BUILD_ENVIRONMENT: "caffe2-py2-cuda8.0-cudnn7-ubuntu16.04-test"
- resource_class: gpu.medium
- <<: *caffe2_linux_test_defaults
-
- caffe2_py2_gcc4_9_ubuntu14_04_build:
- environment:
- DOCKER_IMAGE: "308535385114.dkr.ecr.us-east-1.amazonaws.com/caffe2/py2-gcc4.9-ubuntu14.04:248"
- BUILD_ENVIRONMENT: "caffe2-py2-gcc4.9-ubuntu14.04-build"
- BUILD_ONLY: "1"
- <<: *caffe2_linux_build_defaults
-
- caffe2_py2_clang3_8_ubuntu16_04_build:
- environment:
- DOCKER_IMAGE: "308535385114.dkr.ecr.us-east-1.amazonaws.com/caffe2/py2-clang3.8-ubuntu16.04:248"
- BUILD_ENVIRONMENT: "caffe2-py2-clang3.8-ubuntu16.04-build"
- BUILD_ONLY: "1"
- <<: *caffe2_linux_build_defaults
-
- caffe2_py2_clang3_9_ubuntu16_04_build:
- environment:
- DOCKER_IMAGE: "308535385114.dkr.ecr.us-east-1.amazonaws.com/caffe2/py2-clang3.9-ubuntu16.04:248"
- BUILD_ENVIRONMENT: "caffe2-py2-clang3.9-ubuntu16.04-build"
- BUILD_ONLY: "1"
- <<: *caffe2_linux_build_defaults
-
- caffe2_py2_clang7_ubuntu16_04_build:
- environment:
- DOCKER_IMAGE: "308535385114.dkr.ecr.us-east-1.amazonaws.com/caffe2/py2-clang7-ubuntu16.04:248"
- BUILD_ENVIRONMENT: "caffe2-py2-clang7-ubuntu16.04-build"
- BUILD_ONLY: "1"
- <<: *caffe2_linux_build_defaults
-
- caffe2_py2_android_ubuntu16_04_build:
- environment:
- DOCKER_IMAGE: "308535385114.dkr.ecr.us-east-1.amazonaws.com/caffe2/py2-android-ubuntu16.04:248"
- BUILD_ENVIRONMENT: "caffe2-py2-android-ubuntu16.04-build"
- BUILD_ONLY: "1"
- <<: *caffe2_linux_build_defaults
-
- caffe2_py2_cuda9_0_cudnn7_centos7_build:
- environment:
- DOCKER_IMAGE: "308535385114.dkr.ecr.us-east-1.amazonaws.com/caffe2/py2-cuda9.0-cudnn7-centos7:248"
- BUILD_ENVIRONMENT: "caffe2-py2-cuda9.0-cudnn7-centos7-build"
- <<: *caffe2_linux_build_defaults
-
- caffe2_py2_cuda9_0_cudnn7_centos7_test:
- environment:
- DOCKER_IMAGE: "308535385114.dkr.ecr.us-east-1.amazonaws.com/caffe2/py2-cuda9.0-cudnn7-centos7:248"
- USE_CUDA_DOCKER_RUNTIME: "1"
- BUILD_ENVIRONMENT: "caffe2-py2-cuda9.0-cudnn7-centos7-test"
- resource_class: gpu.medium
- <<: *caffe2_linux_test_defaults
-
- caffe2_py2_ios_macos10_13_build:
- environment:
- BUILD_ENVIRONMENT: caffe2-py2-ios-macos10.13-build
- BUILD_IOS: "1"
- PYTHON_INSTALLATION: "system"
- PYTHON_VERSION: "2"
- <<: *caffe2_macos_build_defaults
-
- caffe2_py2_system_macos10_13_build:
- environment:
- BUILD_ENVIRONMENT: caffe2-py2-system-macos10.13-build
- PYTHON_INSTALLATION: "system"
- PYTHON_VERSION: "2"
- <<: *caffe2_macos_build_defaults
-
-# update_s3_htmls job
- update_s3_htmls:
- machine:
- image: default
- steps:
- - run:
- <<: *setup_linux_system_environment
- - run:
- <<: *binary_populate_env
- - run:
- <<: *binary_checkout
- - run:
- name: Update s3 htmls
- no_output_timeout: "1h"
- command: |
- echo "declare -x \"AWS_ACCESS_KEY_ID=${PYTORCH_BINARY_AWS_ACCESS_KEY_ID}\"" >> /home/circleci/project/env
- echo "declare -x \"AWS_SECRET_ACCESS_KEY=${PYTORCH_BINARY_AWS_SECRET_ACCESS_KEY}\"" >> /home/circleci/project/env
- source /home/circleci/project/env
- set -ex
- retry pip install awscli==1.6
- "$BUILDER_ROOT/cron/update_s3_htmls.sh"
-
-
-
-##############################################################################
-# Binary build specs individual job specifications
-##############################################################################
- binary_linux_manywheel_2.7m_cpu_build:
- environment:
- BUILD_ENVIRONMENT: "manywheel 2.7m cpu"
- docker:
- - image: "soumith/manylinux-cuda80"
- <<: *binary_linux_build
-
- binary_linux_manywheel_2.7mu_cpu_build:
- environment:
- BUILD_ENVIRONMENT: "manywheel 2.7mu cpu"
- docker:
- - image: "soumith/manylinux-cuda80"
- <<: *binary_linux_build
-
- binary_linux_manywheel_3.5m_cpu_build:
- environment:
- BUILD_ENVIRONMENT: "manywheel 3.5m cpu"
- docker:
- - image: "soumith/manylinux-cuda80"
- <<: *binary_linux_build
-
- binary_linux_manywheel_3.6m_cpu_build:
- environment:
- BUILD_ENVIRONMENT: "manywheel 3.6m cpu"
- docker:
- - image: "soumith/manylinux-cuda80"
- <<: *binary_linux_build
-
- binary_linux_manywheel_3.7m_cpu_build:
- environment:
- BUILD_ENVIRONMENT: "manywheel 3.7m cpu"
- docker:
- - image: "soumith/manylinux-cuda80"
- <<: *binary_linux_build
-
- binary_linux_manywheel_2.7m_cu80_build:
- environment:
- BUILD_ENVIRONMENT: "manywheel 2.7m cu80"
- docker:
- - image: "soumith/manylinux-cuda80"
- <<: *binary_linux_build
-
- binary_linux_manywheel_2.7mu_cu80_build:
- environment:
- BUILD_ENVIRONMENT: "manywheel 2.7mu cu80"
- docker:
- - image: "soumith/manylinux-cuda80"
- <<: *binary_linux_build
-
- binary_linux_manywheel_3.5m_cu80_build:
- environment:
- BUILD_ENVIRONMENT: "manywheel 3.5m cu80"
- docker:
- - image: "soumith/manylinux-cuda80"
- <<: *binary_linux_build
-
- binary_linux_manywheel_3.6m_cu80_build:
- environment:
- BUILD_ENVIRONMENT: "manywheel 3.6m cu80"
- docker:
- - image: "soumith/manylinux-cuda80"
- <<: *binary_linux_build
-
- binary_linux_manywheel_3.7m_cu80_build:
- environment:
- BUILD_ENVIRONMENT: "manywheel 3.7m cu80"
- docker:
- - image: "soumith/manylinux-cuda80"
- <<: *binary_linux_build
-
- binary_linux_manywheel_2.7m_cu90_build:
- environment:
- BUILD_ENVIRONMENT: "manywheel 2.7m cu90"
- docker:
- - image: "soumith/manylinux-cuda90"
- <<: *binary_linux_build
-
- binary_linux_manywheel_2.7mu_cu90_build:
- environment:
- BUILD_ENVIRONMENT: "manywheel 2.7mu cu90"
- docker:
- - image: "soumith/manylinux-cuda90"
- <<: *binary_linux_build
-
- binary_linux_manywheel_3.5m_cu90_build:
- environment:
- BUILD_ENVIRONMENT: "manywheel 3.5m cu90"
- docker:
- - image: "soumith/manylinux-cuda90"
- <<: *binary_linux_build
-
- binary_linux_manywheel_3.6m_cu90_build:
- environment:
- BUILD_ENVIRONMENT: "manywheel 3.6m cu90"
- docker:
- - image: "soumith/manylinux-cuda90"
- <<: *binary_linux_build
-
- binary_linux_manywheel_3.7m_cu90_build:
- environment:
- BUILD_ENVIRONMENT: "manywheel 3.7m cu90"
- docker:
- - image: "soumith/manylinux-cuda90"
- <<: *binary_linux_build
-
- binary_linux_manywheel_2.7m_cu100_build:
- environment:
- BUILD_ENVIRONMENT: "manywheel 2.7m cu100"
- docker:
- - image: "soumith/manylinux-cuda100"
- <<: *binary_linux_build
-
- binary_linux_manywheel_2.7mu_cu100_build:
- environment:
- BUILD_ENVIRONMENT: "manywheel 2.7mu cu100"
- docker:
- - image: "soumith/manylinux-cuda100"
- <<: *binary_linux_build
-
- binary_linux_manywheel_3.5m_cu100_build:
- environment:
- BUILD_ENVIRONMENT: "manywheel 3.5m cu100"
- docker:
- - image: "soumith/manylinux-cuda100"
- <<: *binary_linux_build
-
- binary_linux_manywheel_3.6m_cu100_build:
- environment:
- BUILD_ENVIRONMENT: "manywheel 3.6m cu100"
- docker:
- - image: "soumith/manylinux-cuda100"
- <<: *binary_linux_build
-
- binary_linux_manywheel_3.7m_cu100_build:
- environment:
- BUILD_ENVIRONMENT: "manywheel 3.7m cu100"
- docker:
- - image: "soumith/manylinux-cuda100"
- <<: *binary_linux_build
-
- binary_linux_conda_2.7_cpu_build:
- environment:
- BUILD_ENVIRONMENT: "conda 2.7 cpu"
- docker:
- - image: "soumith/conda-cuda"
- <<: *binary_linux_build
-
- binary_linux_conda_3.5_cpu_build:
- environment:
- BUILD_ENVIRONMENT: "conda 3.5 cpu"
- docker:
- - image: "soumith/conda-cuda"
- <<: *binary_linux_build
-
- binary_linux_conda_3.6_cpu_build:
- environment:
- BUILD_ENVIRONMENT: "conda 3.6 cpu"
- docker:
- - image: "soumith/conda-cuda"
- <<: *binary_linux_build
-
- binary_linux_conda_3.7_cpu_build:
- environment:
- BUILD_ENVIRONMENT: "conda 3.7 cpu"
- docker:
- - image: "soumith/conda-cuda"
- <<: *binary_linux_build
-
- binary_linux_conda_2.7_cu80_build:
- environment:
- BUILD_ENVIRONMENT: "conda 2.7 cu80"
- docker:
- - image: "soumith/conda-cuda"
- <<: *binary_linux_build
-
- binary_linux_conda_3.5_cu80_build:
- environment:
- BUILD_ENVIRONMENT: "conda 3.5 cu80"
- docker:
- - image: "soumith/conda-cuda"
- <<: *binary_linux_build
-
- binary_linux_conda_3.6_cu80_build:
- environment:
- BUILD_ENVIRONMENT: "conda 3.6 cu80"
- docker:
- - image: "soumith/conda-cuda"
- <<: *binary_linux_build
-
- binary_linux_conda_3.7_cu80_build:
- environment:
- BUILD_ENVIRONMENT: "conda 3.7 cu80"
- docker:
- - image: "soumith/conda-cuda"
- <<: *binary_linux_build
-
- binary_linux_conda_2.7_cu90_build:
- environment:
- BUILD_ENVIRONMENT: "conda 2.7 cu90"
- docker:
- - image: "soumith/conda-cuda"
- <<: *binary_linux_build
-
- binary_linux_conda_3.5_cu90_build:
- environment:
- BUILD_ENVIRONMENT: "conda 3.5 cu90"
- docker:
- - image: "soumith/conda-cuda"
- <<: *binary_linux_build
-
- binary_linux_conda_3.6_cu90_build:
- environment:
- BUILD_ENVIRONMENT: "conda 3.6 cu90"
- docker:
- - image: "soumith/conda-cuda"
- <<: *binary_linux_build
-
- binary_linux_conda_3.7_cu90_build:
- environment:
- BUILD_ENVIRONMENT: "conda 3.7 cu90"
- docker:
- - image: "soumith/conda-cuda"
- <<: *binary_linux_build
-
- binary_linux_conda_2.7_cu100_build:
- environment:
- BUILD_ENVIRONMENT: "conda 2.7 cu100"
- docker:
- - image: "soumith/conda-cuda"
- <<: *binary_linux_build
-
- binary_linux_conda_3.5_cu100_build:
- environment:
- BUILD_ENVIRONMENT: "conda 3.5 cu100"
- docker:
- - image: "soumith/conda-cuda"
- <<: *binary_linux_build
-
- binary_linux_conda_3.6_cu100_build:
- environment:
- BUILD_ENVIRONMENT: "conda 3.6 cu100"
- docker:
- - image: "soumith/conda-cuda"
- <<: *binary_linux_build
-
- binary_linux_conda_3.7_cu100_build:
- environment:
- BUILD_ENVIRONMENT: "conda 3.7 cu100"
- docker:
- - image: "soumith/conda-cuda"
- <<: *binary_linux_build
-
- binary_linux_libtorch_2.7m_cpu_build:
- environment:
- BUILD_ENVIRONMENT: "libtorch 2.7m cpu"
- docker:
- - image: "soumith/manylinux-cuda80"
- <<: *binary_linux_build
-
- binary_linux_libtorch_2.7m_cu80_build:
- environment:
- BUILD_ENVIRONMENT: "libtorch 2.7m cu80"
- docker:
- - image: "soumith/manylinux-cuda80"
- <<: *binary_linux_build
-
- binary_linux_libtorch_2.7m_cu90_build:
- environment:
- BUILD_ENVIRONMENT: "libtorch 2.7m cu90"
- docker:
- - image: "soumith/manylinux-cuda90"
- <<: *binary_linux_build
-
- binary_linux_libtorch_2.7m_cu100_build:
- environment:
- BUILD_ENVIRONMENT: "libtorch 2.7m cu100"
- docker:
- - image: "soumith/manylinux-cuda100"
- <<: *binary_linux_build
-
- binary_macos_wheel_2.7_cpu_build:
- environment:
- BUILD_ENVIRONMENT: "wheel 2.7 cpu"
- <<: *binary_mac_build
-
- binary_macos_wheel_3.5_cpu_build:
- environment:
- BUILD_ENVIRONMENT: "wheel 3.5 cpu"
- <<: *binary_mac_build
-
- binary_macos_wheel_3.6_cpu_build:
- environment:
- BUILD_ENVIRONMENT: "wheel 3.6 cpu"
- <<: *binary_mac_build
-
- binary_macos_wheel_3.7_cpu_build:
- environment:
- BUILD_ENVIRONMENT: "wheel 3.7 cpu"
- <<: *binary_mac_build
-
- binary_macos_conda_2.7_cpu_build:
- environment:
- BUILD_ENVIRONMENT: "conda 2.7 cpu"
- <<: *binary_mac_build
-
- binary_macos_conda_3.5_cpu_build:
- environment:
- BUILD_ENVIRONMENT: "conda 3.5 cpu"
- <<: *binary_mac_build
-
- binary_macos_conda_3.6_cpu_build:
- environment:
- BUILD_ENVIRONMENT: "conda 3.6 cpu"
- <<: *binary_mac_build
-
- binary_macos_conda_3.7_cpu_build:
- environment:
- BUILD_ENVIRONMENT: "conda 3.7 cpu"
- <<: *binary_mac_build
-
- binary_macos_libtorch_2.7_cpu_build:
- environment:
- BUILD_ENVIRONMENT: "libtorch 2.7 cpu"
- <<: *binary_mac_build
-
- # Binary build tests
- # These are the smoke tests run right after the build, before the upload. If
- # these fail, the upload doesn't happen
- #############################################################################
- binary_linux_manywheel_2.7m_cpu_test:
- environment:
- BUILD_ENVIRONMENT: "manywheel 2.7m cpu"
- DOCKER_IMAGE: "soumith/manylinux-cuda80"
- <<: *binary_linux_test
-
- binary_linux_manywheel_2.7mu_cpu_test:
- environment:
- BUILD_ENVIRONMENT: "manywheel 2.7mu cpu"
- DOCKER_IMAGE: "soumith/manylinux-cuda80"
- <<: *binary_linux_test
-
- binary_linux_manywheel_3.5m_cpu_test:
- environment:
- BUILD_ENVIRONMENT: "manywheel 3.5m cpu"
- DOCKER_IMAGE: "soumith/manylinux-cuda80"
- <<: *binary_linux_test
-
- binary_linux_manywheel_3.6m_cpu_test:
- environment:
- BUILD_ENVIRONMENT: "manywheel 3.6m cpu"
- DOCKER_IMAGE: "soumith/manylinux-cuda80"
- <<: *binary_linux_test
-
- binary_linux_manywheel_3.7m_cpu_test:
- environment:
- BUILD_ENVIRONMENT: "manywheel 3.7m cpu"
- DOCKER_IMAGE: "soumith/manylinux-cuda80"
- <<: *binary_linux_test
-
- binary_linux_manywheel_2.7m_cu80_test:
- environment:
- BUILD_ENVIRONMENT: "manywheel 2.7m cu80"
- USE_CUDA_DOCKER_RUNTIME: "1"
- DOCKER_IMAGE: "soumith/manylinux-cuda80"
- resource_class: gpu.medium
- <<: *binary_linux_test
-
- binary_linux_manywheel_2.7mu_cu80_test:
- environment:
- BUILD_ENVIRONMENT: "manywheel 2.7mu cu80"
- USE_CUDA_DOCKER_RUNTIME: "1"
- DOCKER_IMAGE: "soumith/manylinux-cuda80"
- resource_class: gpu.medium
- <<: *binary_linux_test
-
- binary_linux_manywheel_3.5m_cu80_test:
- environment:
- BUILD_ENVIRONMENT: "manywheel 3.5m cu80"
- USE_CUDA_DOCKER_RUNTIME: "1"
- DOCKER_IMAGE: "soumith/manylinux-cuda80"
- resource_class: gpu.medium
- <<: *binary_linux_test
-
- binary_linux_manywheel_3.6m_cu80_test:
- environment:
- BUILD_ENVIRONMENT: "manywheel 3.6m cu80"
- USE_CUDA_DOCKER_RUNTIME: "1"
- DOCKER_IMAGE: "soumith/manylinux-cuda80"
- resource_class: gpu.medium
- <<: *binary_linux_test
-
- binary_linux_manywheel_3.7m_cu80_test:
- environment:
- BUILD_ENVIRONMENT: "manywheel 3.7m cu80"
- USE_CUDA_DOCKER_RUNTIME: "1"
- DOCKER_IMAGE: "soumith/manylinux-cuda80"
- resource_class: gpu.medium
- <<: *binary_linux_test
-
- binary_linux_manywheel_2.7m_cu90_test:
- environment:
- BUILD_ENVIRONMENT: "manywheel 2.7m cu90"
- USE_CUDA_DOCKER_RUNTIME: "1"
- DOCKER_IMAGE: "soumith/manylinux-cuda90"
- resource_class: gpu.medium
- <<: *binary_linux_test
-
- binary_linux_manywheel_2.7mu_cu90_test:
- environment:
- BUILD_ENVIRONMENT: "manywheel 2.7mu cu90"
- USE_CUDA_DOCKER_RUNTIME: "1"
- DOCKER_IMAGE: "soumith/manylinux-cuda90"
- resource_class: gpu.medium
- <<: *binary_linux_test
-
- binary_linux_manywheel_3.5m_cu90_test:
- environment:
- BUILD_ENVIRONMENT: "manywheel 3.5m cu90"
- USE_CUDA_DOCKER_RUNTIME: "1"
- DOCKER_IMAGE: "soumith/manylinux-cuda90"
- resource_class: gpu.medium
- <<: *binary_linux_test
-
- binary_linux_manywheel_3.6m_cu90_test:
- environment:
- BUILD_ENVIRONMENT: "manywheel 3.6m cu90"
- USE_CUDA_DOCKER_RUNTIME: "1"
- DOCKER_IMAGE: "soumith/manylinux-cuda90"
- resource_class: gpu.medium
- <<: *binary_linux_test
-
- binary_linux_manywheel_3.7m_cu90_test:
- environment:
- BUILD_ENVIRONMENT: "manywheel 3.7m cu90"
- USE_CUDA_DOCKER_RUNTIME: "1"
- DOCKER_IMAGE: "soumith/manylinux-cuda90"
- resource_class: gpu.medium
- <<: *binary_linux_test
-
- binary_linux_manywheel_2.7m_cu100_test:
- environment:
- BUILD_ENVIRONMENT: "manywheel 2.7m cu100"
- USE_CUDA_DOCKER_RUNTIME: "1"
- DOCKER_IMAGE: "soumith/manylinux-cuda100"
- resource_class: gpu.medium
- <<: *binary_linux_test
-
- binary_linux_manywheel_2.7mu_cu100_test:
- environment:
- BUILD_ENVIRONMENT: "manywheel 2.7mu cu100"
- USE_CUDA_DOCKER_RUNTIME: "1"
- DOCKER_IMAGE: "soumith/manylinux-cuda100"
- resource_class: gpu.medium
- <<: *binary_linux_test
-
- binary_linux_manywheel_3.5m_cu100_test:
- environment:
- BUILD_ENVIRONMENT: "manywheel 3.5m cu100"
- USE_CUDA_DOCKER_RUNTIME: "1"
- DOCKER_IMAGE: "soumith/manylinux-cuda100"
- resource_class: gpu.medium
- <<: *binary_linux_test
-
- binary_linux_manywheel_3.6m_cu100_test:
- environment:
- BUILD_ENVIRONMENT: "manywheel 3.6m cu100"
- USE_CUDA_DOCKER_RUNTIME: "1"
- DOCKER_IMAGE: "soumith/manylinux-cuda100"
- resource_class: gpu.medium
- <<: *binary_linux_test
-
- binary_linux_manywheel_3.7m_cu100_test:
- environment:
- BUILD_ENVIRONMENT: "manywheel 3.7m cu100"
- USE_CUDA_DOCKER_RUNTIME: "1"
- DOCKER_IMAGE: "soumith/manylinux-cuda100"
- resource_class: gpu.medium
- <<: *binary_linux_test
-
- binary_linux_conda_2.7_cpu_test:
- environment:
- BUILD_ENVIRONMENT: "conda 2.7 cpu"
- DOCKER_IMAGE: "soumith/conda-cuda"
- <<: *binary_linux_test
-
- binary_linux_conda_3.5_cpu_test:
- environment:
- BUILD_ENVIRONMENT: "conda 3.5 cpu"
- DOCKER_IMAGE: "soumith/conda-cuda"
- <<: *binary_linux_test
-
- binary_linux_conda_3.6_cpu_test:
- environment:
- BUILD_ENVIRONMENT: "conda 3.6 cpu"
- DOCKER_IMAGE: "soumith/conda-cuda"
- <<: *binary_linux_test
-
- binary_linux_conda_3.7_cpu_test:
- environment:
- BUILD_ENVIRONMENT: "conda 3.7 cpu"
- DOCKER_IMAGE: "soumith/conda-cuda"
- <<: *binary_linux_test
-
- binary_linux_conda_2.7_cu80_test:
- environment:
- BUILD_ENVIRONMENT: "conda 2.7 cu80"
- USE_CUDA_DOCKER_RUNTIME: "1"
- DOCKER_IMAGE: "soumith/conda-cuda"
- resource_class: gpu.medium
- <<: *binary_linux_test
-
- binary_linux_conda_3.5_cu80_test:
- environment:
- BUILD_ENVIRONMENT: "conda 3.5 cu80"
- USE_CUDA_DOCKER_RUNTIME: "1"
- DOCKER_IMAGE: "soumith/conda-cuda"
- resource_class: gpu.medium
- <<: *binary_linux_test
-
- binary_linux_conda_3.6_cu80_test:
- environment:
- BUILD_ENVIRONMENT: "conda 3.6 cu80"
- USE_CUDA_DOCKER_RUNTIME: "1"
- DOCKER_IMAGE: "soumith/conda-cuda"
- resource_class: gpu.medium
- <<: *binary_linux_test
-
- binary_linux_conda_3.7_cu80_test:
- environment:
- BUILD_ENVIRONMENT: "conda 3.7 cu80"
- USE_CUDA_DOCKER_RUNTIME: "1"
- DOCKER_IMAGE: "soumith/conda-cuda"
- resource_class: gpu.medium
- <<: *binary_linux_test
-
- binary_linux_conda_2.7_cu90_test:
- environment:
- BUILD_ENVIRONMENT: "conda 2.7 cu90"
- USE_CUDA_DOCKER_RUNTIME: "1"
- DOCKER_IMAGE: "soumith/conda-cuda"
- resource_class: gpu.medium
- <<: *binary_linux_test
-
- binary_linux_conda_3.5_cu90_test:
- environment:
- BUILD_ENVIRONMENT: "conda 3.5 cu90"
- USE_CUDA_DOCKER_RUNTIME: "1"
- DOCKER_IMAGE: "soumith/conda-cuda"
- resource_class: gpu.medium
- <<: *binary_linux_test
-
- binary_linux_conda_3.6_cu90_test:
- environment:
- BUILD_ENVIRONMENT: "conda 3.6 cu90"
- USE_CUDA_DOCKER_RUNTIME: "1"
- DOCKER_IMAGE: "soumith/conda-cuda"
- resource_class: gpu.medium
- <<: *binary_linux_test
-
- binary_linux_conda_3.7_cu90_test:
- environment:
- BUILD_ENVIRONMENT: "conda 3.7 cu90"
- USE_CUDA_DOCKER_RUNTIME: "1"
- DOCKER_IMAGE: "soumith/conda-cuda"
- resource_class: gpu.medium
- <<: *binary_linux_test
-
- binary_linux_conda_2.7_cu100_test:
- environment:
- BUILD_ENVIRONMENT: "conda 2.7 cu100"
- USE_CUDA_DOCKER_RUNTIME: "1"
- DOCKER_IMAGE: "soumith/conda-cuda"
- resource_class: gpu.medium
- <<: *binary_linux_test
-
- binary_linux_conda_3.5_cu100_test:
- environment:
- BUILD_ENVIRONMENT: "conda 3.5 cu100"
- USE_CUDA_DOCKER_RUNTIME: "1"
- DOCKER_IMAGE: "soumith/conda-cuda"
- resource_class: gpu.medium
- <<: *binary_linux_test
-
- binary_linux_conda_3.6_cu100_test:
- environment:
- BUILD_ENVIRONMENT: "conda 3.6 cu100"
- USE_CUDA_DOCKER_RUNTIME: "1"
- DOCKER_IMAGE: "soumith/conda-cuda"
- resource_class: gpu.medium
- <<: *binary_linux_test
-
- binary_linux_conda_3.7_cu100_test:
- environment:
- BUILD_ENVIRONMENT: "conda 3.7 cu100"
- USE_CUDA_DOCKER_RUNTIME: "1"
- DOCKER_IMAGE: "soumith/conda-cuda"
- resource_class: gpu.medium
- <<: *binary_linux_test
-
-# There is currently no testing for libtorch TODO
-# binary_linux_libtorch_2.7m_cpu_test:
-# environment:
-# BUILD_ENVIRONMENT: "libtorch 2.7m cpu"
-# resource_class: gpu.medium
-# <<: *binary_linux_test
-#
-# binary_linux_libtorch_2.7m_cu80_test:
-# environment:
-# BUILD_ENVIRONMENT: "libtorch 2.7m cu80"
-# resource_class: gpu.medium
-# <<: *binary_linux_test
-#
-# binary_linux_libtorch_2.7m_cu90_test:
-# environment:
-# BUILD_ENVIRONMENT: "libtorch 2.7m cu90"
-# resource_class: gpu.medium
-# <<: *binary_linux_test
-#
-# binary_linux_libtorch_2.7m_cu100_test:
-# environment:
-# BUILD_ENVIRONMENT: "libtorch 2.7m cu100"
-# resource_class: gpu.medium
-# <<: *binary_linux_test
-
- # Binary build uploads
- #############################################################################
- binary_linux_manywheel_2.7m_cpu_upload:
- environment:
- BUILD_ENVIRONMENT: "manywheel 2.7m cpu"
- <<: *binary_linux_upload
-
- binary_linux_manywheel_2.7mu_cpu_upload:
- environment:
- BUILD_ENVIRONMENT: "manywheel 2.7mu cpu"
- <<: *binary_linux_upload
-
- binary_linux_manywheel_3.5m_cpu_upload:
- environment:
- BUILD_ENVIRONMENT: "manywheel 3.5m cpu"
- <<: *binary_linux_upload
-
- binary_linux_manywheel_3.6m_cpu_upload:
- environment:
- BUILD_ENVIRONMENT: "manywheel 3.6m cpu"
- <<: *binary_linux_upload
-
- binary_linux_manywheel_3.7m_cpu_upload:
- environment:
- BUILD_ENVIRONMENT: "manywheel 3.7m cpu"
- <<: *binary_linux_upload
-
- binary_linux_manywheel_2.7m_cu80_upload:
- environment:
- BUILD_ENVIRONMENT: "manywheel 2.7m cu80"
- <<: *binary_linux_upload
-
- binary_linux_manywheel_2.7mu_cu80_upload:
- environment:
- BUILD_ENVIRONMENT: "manywheel 2.7mu cu80"
- <<: *binary_linux_upload
-
- binary_linux_manywheel_3.5m_cu80_upload:
- environment:
- BUILD_ENVIRONMENT: "manywheel 3.5m cu80"
- <<: *binary_linux_upload
-
- binary_linux_manywheel_3.6m_cu80_upload:
- environment:
- BUILD_ENVIRONMENT: "manywheel 3.6m cu80"
- <<: *binary_linux_upload
-
- binary_linux_manywheel_3.7m_cu80_upload:
- environment:
- BUILD_ENVIRONMENT: "manywheel 3.7m cu80"
- <<: *binary_linux_upload
-
- binary_linux_manywheel_2.7m_cu90_upload:
- environment:
- BUILD_ENVIRONMENT: "manywheel 2.7m cu90"
- <<: *binary_linux_upload
-
- binary_linux_manywheel_2.7mu_cu90_upload:
- environment:
- BUILD_ENVIRONMENT: "manywheel 2.7mu cu90"
- <<: *binary_linux_upload
-
- binary_linux_manywheel_3.5m_cu90_upload:
- environment:
- BUILD_ENVIRONMENT: "manywheel 3.5m cu90"
- <<: *binary_linux_upload
-
- binary_linux_manywheel_3.6m_cu90_upload:
- environment:
- BUILD_ENVIRONMENT: "manywheel 3.6m cu90"
- <<: *binary_linux_upload
-
- binary_linux_manywheel_3.7m_cu90_upload:
- environment:
- BUILD_ENVIRONMENT: "manywheel 3.7m cu90"
- <<: *binary_linux_upload
-
- binary_linux_manywheel_2.7m_cu100_upload:
- environment:
- BUILD_ENVIRONMENT: "manywheel 2.7m cu100"
- <<: *binary_linux_upload
-
- binary_linux_manywheel_2.7mu_cu100_upload:
- environment:
- BUILD_ENVIRONMENT: "manywheel 2.7mu cu100"
- <<: *binary_linux_upload
-
- binary_linux_manywheel_3.5m_cu100_upload:
- environment:
- BUILD_ENVIRONMENT: "manywheel 3.5m cu100"
- <<: *binary_linux_upload
-
- binary_linux_manywheel_3.6m_cu100_upload:
- environment:
- BUILD_ENVIRONMENT: "manywheel 3.6m cu100"
- <<: *binary_linux_upload
-
- binary_linux_manywheel_3.7m_cu100_upload:
- environment:
- BUILD_ENVIRONMENT: "manywheel 3.7m cu100"
- <<: *binary_linux_upload
-
- binary_linux_conda_2.7_cpu_upload:
- environment:
- BUILD_ENVIRONMENT: "conda 2.7 cpu"
- <<: *binary_linux_upload
-
- binary_linux_conda_3.5_cpu_upload:
- environment:
- BUILD_ENVIRONMENT: "conda 3.5 cpu"
- <<: *binary_linux_upload
-
- binary_linux_conda_3.6_cpu_upload:
- environment:
- BUILD_ENVIRONMENT: "conda 3.6 cpu"
- <<: *binary_linux_upload
-
- binary_linux_conda_3.7_cpu_upload:
- environment:
- BUILD_ENVIRONMENT: "conda 3.7 cpu"
- <<: *binary_linux_upload
-
- binary_linux_conda_2.7_cu80_upload:
- environment:
- BUILD_ENVIRONMENT: "conda 2.7 cu80"
- <<: *binary_linux_upload
-
- binary_linux_conda_3.5_cu80_upload:
- environment:
- BUILD_ENVIRONMENT: "conda 3.5 cu80"
- <<: *binary_linux_upload
-
- binary_linux_conda_3.6_cu80_upload:
- environment:
- BUILD_ENVIRONMENT: "conda 3.6 cu80"
- <<: *binary_linux_upload
-
- binary_linux_conda_3.7_cu80_upload:
- environment:
- BUILD_ENVIRONMENT: "conda 3.7 cu80"
- <<: *binary_linux_upload
-
- binary_linux_conda_2.7_cu90_upload:
- environment:
- BUILD_ENVIRONMENT: "conda 2.7 cu90"
- <<: *binary_linux_upload
-
- binary_linux_conda_3.5_cu90_upload:
- environment:
- BUILD_ENVIRONMENT: "conda 3.5 cu90"
- <<: *binary_linux_upload
-
- binary_linux_conda_3.6_cu90_upload:
- environment:
- BUILD_ENVIRONMENT: "conda 3.6 cu90"
- <<: *binary_linux_upload
-
- binary_linux_conda_3.7_cu90_upload:
- environment:
- BUILD_ENVIRONMENT: "conda 3.7 cu90"
- <<: *binary_linux_upload
-
- binary_linux_conda_2.7_cu100_upload:
- environment:
- BUILD_ENVIRONMENT: "conda 2.7 cu100"
- <<: *binary_linux_upload
-
- binary_linux_conda_3.5_cu100_upload:
- environment:
- BUILD_ENVIRONMENT: "conda 3.5 cu100"
- <<: *binary_linux_upload
-
- binary_linux_conda_3.6_cu100_upload:
- environment:
- BUILD_ENVIRONMENT: "conda 3.6 cu100"
- <<: *binary_linux_upload
-
- binary_linux_conda_3.7_cu100_upload:
- environment:
- BUILD_ENVIRONMENT: "conda 3.7 cu100"
- <<: *binary_linux_upload
-
- binary_linux_libtorch_2.7m_cpu_upload:
- environment:
- BUILD_ENVIRONMENT: "libtorch 2.7m cpu"
- <<: *binary_linux_upload
-
- binary_linux_libtorch_2.7m_cu80_upload:
- environment:
- BUILD_ENVIRONMENT: "libtorch 2.7m cu80"
- <<: *binary_linux_upload
-
- binary_linux_libtorch_2.7m_cu90_upload:
- environment:
- BUILD_ENVIRONMENT: "libtorch 2.7m cu90"
- <<: *binary_linux_upload
-
- binary_linux_libtorch_2.7m_cu100_upload:
- environment:
- BUILD_ENVIRONMENT: "libtorch 2.7m cu100"
- <<: *binary_linux_upload
-
- binary_macos_wheel_2.7_cpu_upload:
- environment:
- BUILD_ENVIRONMENT: "wheel 2.7 cpu"
- <<: *binary_mac_upload
-
- binary_macos_wheel_3.5_cpu_upload:
- environment:
- BUILD_ENVIRONMENT: "wheel 3.5 cpu"
- <<: *binary_mac_upload
-
- binary_macos_wheel_3.6_cpu_upload:
- environment:
- BUILD_ENVIRONMENT: "wheel 3.6 cpu"
- <<: *binary_mac_upload
-
- binary_macos_wheel_3.7_cpu_upload:
- environment:
- BUILD_ENVIRONMENT: "wheel 3.7 cpu"
- <<: *binary_mac_upload
-
- binary_macos_conda_2.7_cpu_upload:
- environment:
- BUILD_ENVIRONMENT: "conda 2.7 cpu"
- <<: *binary_mac_upload
-
- binary_macos_conda_3.5_cpu_upload:
- environment:
- BUILD_ENVIRONMENT: "conda 3.5 cpu"
- <<: *binary_mac_upload
-
- binary_macos_conda_3.6_cpu_upload:
- environment:
- BUILD_ENVIRONMENT: "conda 3.6 cpu"
- <<: *binary_mac_upload
-
- binary_macos_conda_3.7_cpu_upload:
- environment:
- BUILD_ENVIRONMENT: "conda 3.7 cpu"
- <<: *binary_mac_upload
-
- binary_macos_libtorch_2.7_cpu_upload:
- environment:
- BUILD_ENVIRONMENT: "libtorch 2.7 cpu"
- <<: *binary_mac_upload
-
-
-##############################################################################
-# Smoke test specs individual job specifications
-##############################################################################
- smoke_linux_manywheel_2.7m_cpu:
- environment:
- BUILD_ENVIRONMENT: "manywheel 2.7m cpu"
- DOCKER_IMAGE: "soumith/manylinux-cuda80"
- <<: *smoke_linux_test
-
- smoke_linux_manywheel_2.7mu_cpu:
- environment:
- BUILD_ENVIRONMENT: "manywheel 2.7mu cpu"
- DOCKER_IMAGE: "soumith/manylinux-cuda80"
- <<: *smoke_linux_test
-
- smoke_linux_manywheel_3.5m_cpu:
- environment:
- BUILD_ENVIRONMENT: "manywheel 3.5m cpu"
- DOCKER_IMAGE: "soumith/manylinux-cuda80"
- <<: *smoke_linux_test
-
- smoke_linux_manywheel_3.6m_cpu:
- environment:
- BUILD_ENVIRONMENT: "manywheel 3.6m cpu"
- DOCKER_IMAGE: "soumith/manylinux-cuda80"
- <<: *smoke_linux_test
-
- smoke_linux_manywheel_3.7m_cpu:
- environment:
- BUILD_ENVIRONMENT: "manywheel 3.7m cpu"
- DOCKER_IMAGE: "soumith/manylinux-cuda80"
- <<: *smoke_linux_test
-
- smoke_linux_manywheel_2.7m_cu80:
- environment:
- BUILD_ENVIRONMENT: "manywheel 2.7m cu80"
- DOCKER_IMAGE: "soumith/manylinux-cuda80"
- USE_CUDA_DOCKER_RUNTIME: "1"
- resource_class: gpu.medium
- <<: *smoke_linux_test
-
- smoke_linux_manywheel_2.7mu_cu80:
- environment:
- BUILD_ENVIRONMENT: "manywheel 2.7mu cu80"
- DOCKER_IMAGE: "soumith/manylinux-cuda80"
- USE_CUDA_DOCKER_RUNTIME: "1"
- resource_class: gpu.medium
- <<: *smoke_linux_test
-
- smoke_linux_manywheel_3.5m_cu80:
- environment:
- BUILD_ENVIRONMENT: "manywheel 3.5m cu80"
- DOCKER_IMAGE: "soumith/manylinux-cuda80"
- USE_CUDA_DOCKER_RUNTIME: "1"
- resource_class: gpu.medium
- <<: *smoke_linux_test
-
- smoke_linux_manywheel_3.6m_cu80:
- environment:
- BUILD_ENVIRONMENT: "manywheel 3.6m cu80"
- DOCKER_IMAGE: "soumith/manylinux-cuda80"
- USE_CUDA_DOCKER_RUNTIME: "1"
- resource_class: gpu.medium
- <<: *smoke_linux_test
-
- smoke_linux_manywheel_3.7m_cu80:
- environment:
- BUILD_ENVIRONMENT: "manywheel 3.7m cu80"
- DOCKER_IMAGE: "soumith/manylinux-cuda80"
- USE_CUDA_DOCKER_RUNTIME: "1"
- resource_class: gpu.medium
- <<: *smoke_linux_test
-
- smoke_linux_manywheel_2.7m_cu90:
- environment:
- BUILD_ENVIRONMENT: "manywheel 2.7m cu90"
- DOCKER_IMAGE: "soumith/manylinux-cuda90"
- USE_CUDA_DOCKER_RUNTIME: "1"
- resource_class: gpu.medium
- <<: *smoke_linux_test
-
- smoke_linux_manywheel_2.7mu_cu90:
- environment:
- BUILD_ENVIRONMENT: "manywheel 2.7mu cu90"
- DOCKER_IMAGE: "soumith/manylinux-cuda90"
- USE_CUDA_DOCKER_RUNTIME: "1"
- resource_class: gpu.medium
- <<: *smoke_linux_test
-
- smoke_linux_manywheel_3.5m_cu90:
- environment:
- BUILD_ENVIRONMENT: "manywheel 3.5m cu90"
- DOCKER_IMAGE: "soumith/manylinux-cuda90"
- USE_CUDA_DOCKER_RUNTIME: "1"
- resource_class: gpu.medium
- <<: *smoke_linux_test
-
- smoke_linux_manywheel_3.6m_cu90:
- environment:
- BUILD_ENVIRONMENT: "manywheel 3.6m cu90"
- DOCKER_IMAGE: "soumith/manylinux-cuda90"
- USE_CUDA_DOCKER_RUNTIME: "1"
- resource_class: gpu.medium
- <<: *smoke_linux_test
-
- smoke_linux_manywheel_3.7m_cu90:
- environment:
- BUILD_ENVIRONMENT: "manywheel 3.7m cu90"
- DOCKER_IMAGE: "soumith/manylinux-cuda90"
- USE_CUDA_DOCKER_RUNTIME: "1"
- resource_class: gpu.medium
- <<: *smoke_linux_test
-
- smoke_linux_manywheel_2.7m_cu100:
- environment:
- BUILD_ENVIRONMENT: "manywheel 2.7m cu100"
- DOCKER_IMAGE: "soumith/manylinux-cuda100"
- USE_CUDA_DOCKER_RUNTIME: "1"
- resource_class: gpu.medium
- <<: *smoke_linux_test
-
- smoke_linux_manywheel_2.7mu_cu100:
- environment:
- BUILD_ENVIRONMENT: "manywheel 2.7mu cu100"
- DOCKER_IMAGE: "soumith/manylinux-cuda100"
- USE_CUDA_DOCKER_RUNTIME: "1"
- resource_class: gpu.medium
- <<: *smoke_linux_test
-
- smoke_linux_manywheel_3.5m_cu100:
- environment:
- BUILD_ENVIRONMENT: "manywheel 3.5m cu100"
- DOCKER_IMAGE: "soumith/manylinux-cuda100"
- USE_CUDA_DOCKER_RUNTIME: "1"
- resource_class: gpu.medium
- <<: *smoke_linux_test
-
- smoke_linux_manywheel_3.6m_cu100:
- environment:
- BUILD_ENVIRONMENT: "manywheel 3.6m cu100"
- DOCKER_IMAGE: "soumith/manylinux-cuda100"
- USE_CUDA_DOCKER_RUNTIME: "1"
- resource_class: gpu.medium
- <<: *smoke_linux_test
-
- smoke_linux_manywheel_3.7m_cu100:
- environment:
- BUILD_ENVIRONMENT: "manywheel 3.7m cu100"
- DOCKER_IMAGE: "soumith/manylinux-cuda100"
- USE_CUDA_DOCKER_RUNTIME: "1"
- resource_class: gpu.medium
- <<: *smoke_linux_test
-
- smoke_linux_conda_2.7_cpu:
- environment:
- BUILD_ENVIRONMENT: "conda 2.7 cpu"
- DOCKER_IMAGE: "soumith/conda-cuda"
- <<: *smoke_linux_test
-
- smoke_linux_conda_3.5_cpu:
- environment:
- BUILD_ENVIRONMENT: "conda 3.5 cpu"
- DOCKER_IMAGE: "soumith/conda-cuda"
- <<: *smoke_linux_test
-
- smoke_linux_conda_3.6_cpu:
- environment:
- BUILD_ENVIRONMENT: "conda 3.6 cpu"
- DOCKER_IMAGE: "soumith/conda-cuda"
- <<: *smoke_linux_test
-
- smoke_linux_conda_3.7_cpu:
- environment:
- BUILD_ENVIRONMENT: "conda 3.7 cpu"
- DOCKER_IMAGE: "soumith/conda-cuda"
- <<: *smoke_linux_test
-
- smoke_linux_conda_2.7_cu80:
- environment:
- BUILD_ENVIRONMENT: "conda 2.7 cu80"
- DOCKER_IMAGE: "soumith/conda-cuda"
- USE_CUDA_DOCKER_RUNTIME: "1"
- resource_class: gpu.medium
- <<: *smoke_linux_test
-
- smoke_linux_conda_3.5_cu80:
- environment:
- BUILD_ENVIRONMENT: "conda 3.5 cu80"
- DOCKER_IMAGE: "soumith/conda-cuda"
- USE_CUDA_DOCKER_RUNTIME: "1"
- resource_class: gpu.medium
- <<: *smoke_linux_test
-
- smoke_linux_conda_3.6_cu80:
- environment:
- BUILD_ENVIRONMENT: "conda 3.6 cu80"
- DOCKER_IMAGE: "soumith/conda-cuda"
- USE_CUDA_DOCKER_RUNTIME: "1"
- resource_class: gpu.medium
- <<: *smoke_linux_test
-
- smoke_linux_conda_3.7_cu80:
- environment:
- BUILD_ENVIRONMENT: "conda 3.7 cu80"
- DOCKER_IMAGE: "soumith/conda-cuda"
- USE_CUDA_DOCKER_RUNTIME: "1"
- resource_class: gpu.medium
- <<: *smoke_linux_test
-
- smoke_linux_conda_2.7_cu90:
- environment:
- BUILD_ENVIRONMENT: "conda 2.7 cu90"
- DOCKER_IMAGE: "soumith/conda-cuda"
- USE_CUDA_DOCKER_RUNTIME: "1"
- resource_class: gpu.medium
- <<: *smoke_linux_test
-
- smoke_linux_conda_3.5_cu90:
- environment:
- BUILD_ENVIRONMENT: "conda 3.5 cu90"
- DOCKER_IMAGE: "soumith/conda-cuda"
- USE_CUDA_DOCKER_RUNTIME: "1"
- resource_class: gpu.medium
- <<: *smoke_linux_test
-
- smoke_linux_conda_3.6_cu90:
- environment:
- BUILD_ENVIRONMENT: "conda 3.6 cu90"
- DOCKER_IMAGE: "soumith/conda-cuda"
- USE_CUDA_DOCKER_RUNTIME: "1"
- resource_class: gpu.medium
- <<: *smoke_linux_test
-
- smoke_linux_conda_3.7_cu90:
- environment:
- BUILD_ENVIRONMENT: "conda 3.7 cu90"
- DOCKER_IMAGE: "soumith/conda-cuda"
- USE_CUDA_DOCKER_RUNTIME: "1"
- resource_class: gpu.medium
- <<: *smoke_linux_test
-
- smoke_linux_conda_2.7_cu100:
- environment:
- BUILD_ENVIRONMENT: "conda 2.7 cu100"
- DOCKER_IMAGE: "soumith/conda-cuda"
- USE_CUDA_DOCKER_RUNTIME: "1"
- resource_class: gpu.medium
- <<: *smoke_linux_test
-
- smoke_linux_conda_3.5_cu100:
- environment:
- BUILD_ENVIRONMENT: "conda 3.5 cu100"
- DOCKER_IMAGE: "soumith/conda-cuda"
- USE_CUDA_DOCKER_RUNTIME: "1"
- resource_class: gpu.medium
- <<: *smoke_linux_test
-
- smoke_linux_conda_3.6_cu100:
- environment:
- BUILD_ENVIRONMENT: "conda 3.6 cu100"
- DOCKER_IMAGE: "soumith/conda-cuda"
- USE_CUDA_DOCKER_RUNTIME: "1"
- resource_class: gpu.medium
- <<: *smoke_linux_test
-
- smoke_linux_conda_3.7_cu100:
- environment:
- BUILD_ENVIRONMENT: "conda 3.7 cu100"
- DOCKER_IMAGE: "soumith/conda-cuda"
- USE_CUDA_DOCKER_RUNTIME: "1"
- resource_class: gpu.medium
- <<: *smoke_linux_test
-
- smoke_linux_libtorch_2.7m_cpu_shared-with-deps:
- environment:
- BUILD_ENVIRONMENT: "libtorch 2.7m cpu"
- LIBTORCH_VARIANT: "shared-with-deps"
- DOCKER_IMAGE: "soumith/manylinux-cuda80"
- <<: *smoke_linux_test
-
- smoke_linux_libtorch_2.7m_cpu_shared-without-deps:
- environment:
- BUILD_ENVIRONMENT: "libtorch 2.7m cpu"
- LIBTORCH_VARIANT: "shared-without-deps"
- DOCKER_IMAGE: "soumith/manylinux-cuda80"
- <<: *smoke_linux_test
-
- smoke_linux_libtorch_2.7m_cpu_static-with-deps:
- environment:
- BUILD_ENVIRONMENT: "libtorch 2.7m cpu"
- LIBTORCH_VARIANT: "static-with-deps"
- DOCKER_IMAGE: "soumith/manylinux-cuda80"
- <<: *smoke_linux_test
-
- smoke_linux_libtorch_2.7m_cpu_static-without-deps:
- environment:
- BUILD_ENVIRONMENT: "libtorch 2.7m cpu"
- LIBTORCH_VARIANT: "static-without-deps"
- DOCKER_IMAGE: "soumith/manylinux-cuda80"
- <<: *smoke_linux_test
-
- smoke_linux_libtorch_2.7m_cu80_shared-with-deps:
- environment:
- BUILD_ENVIRONMENT: "libtorch 2.7m cu80"
- LIBTORCH_VARIANT: "shared-with-deps"
- DOCKER_IMAGE: "soumith/manylinux-cuda80"
- USE_CUDA_DOCKER_RUNTIME: "1"
- resource_class: gpu.medium
- <<: *smoke_linux_test
-
- smoke_linux_libtorch_2.7m_cu80_shared-without-deps:
- environment:
- BUILD_ENVIRONMENT: "libtorch 2.7m cu80"
- LIBTORCH_VARIANT: "shared-without-deps"
- DOCKER_IMAGE: "soumith/manylinux-cuda80"
- USE_CUDA_DOCKER_RUNTIME: "1"
- resource_class: gpu.medium
- <<: *smoke_linux_test
-
- smoke_linux_libtorch_2.7m_cu80_static-with-deps:
- environment:
- BUILD_ENVIRONMENT: "libtorch 2.7m cu80"
- LIBTORCH_VARIANT: "static-with-deps"
- DOCKER_IMAGE: "soumith/manylinux-cuda80"
- USE_CUDA_DOCKER_RUNTIME: "1"
- resource_class: gpu.medium
- <<: *smoke_linux_test
-
- smoke_linux_libtorch_2.7m_cu80_static-without-deps:
- environment:
- BUILD_ENVIRONMENT: "libtorch 2.7m cu80"
- LIBTORCH_VARIANT: "static-without-deps"
- DOCKER_IMAGE: "soumith/manylinux-cuda80"
- USE_CUDA_DOCKER_RUNTIME: "1"
- resource_class: gpu.medium
- <<: *smoke_linux_test
-
- smoke_linux_libtorch_2.7m_cu90_shared-with-deps:
- environment:
- BUILD_ENVIRONMENT: "libtorch 2.7m cu90"
- LIBTORCH_VARIANT: "shared-with-deps"
- DOCKER_IMAGE: "soumith/manylinux-cuda90"
- USE_CUDA_DOCKER_RUNTIME: "1"
- resource_class: gpu.medium
- <<: *smoke_linux_test
-
- smoke_linux_libtorch_2.7m_cu90_shared-without-deps:
- environment:
- BUILD_ENVIRONMENT: "libtorch 2.7m cu90"
- LIBTORCH_VARIANT: "shared-without-deps"
- DOCKER_IMAGE: "soumith/manylinux-cuda90"
- USE_CUDA_DOCKER_RUNTIME: "1"
- resource_class: gpu.medium
- <<: *smoke_linux_test
-
- smoke_linux_libtorch_2.7m_cu90_static-with-deps:
- environment:
- BUILD_ENVIRONMENT: "libtorch 2.7m cu90"
- LIBTORCH_VARIANT: "static-with-deps"
- DOCKER_IMAGE: "soumith/manylinux-cuda90"
- USE_CUDA_DOCKER_RUNTIME: "1"
- resource_class: gpu.medium
- <<: *smoke_linux_test
-
- smoke_linux_libtorch_2.7m_cu90_static-without-deps:
- environment:
- BUILD_ENVIRONMENT: "libtorch 2.7m cu90"
- LIBTORCH_VARIANT: "static-without-deps"
- DOCKER_IMAGE: "soumith/manylinux-cuda90"
- USE_CUDA_DOCKER_RUNTIME: "1"
- resource_class: gpu.medium
- <<: *smoke_linux_test
-
- smoke_linux_libtorch_2.7m_cu100_shared-with-deps:
- environment:
- BUILD_ENVIRONMENT: "libtorch 2.7m cu100"
- LIBTORCH_VARIANT: "shared-with-deps"
- DOCKER_IMAGE: "soumith/manylinux-cuda100"
- USE_CUDA_DOCKER_RUNTIME: "1"
- resource_class: gpu.medium
- <<: *smoke_linux_test
-
- smoke_linux_libtorch_2.7m_cu100_shared-without-deps:
- environment:
- BUILD_ENVIRONMENT: "libtorch 2.7m cu100"
- LIBTORCH_VARIANT: "shared-without-deps"
- DOCKER_IMAGE: "soumith/manylinux-cuda100"
- USE_CUDA_DOCKER_RUNTIME: "1"
- resource_class: gpu.medium
- <<: *smoke_linux_test
-
- smoke_linux_libtorch_2.7m_cu100_static-with-deps:
- environment:
- BUILD_ENVIRONMENT: "libtorch 2.7m cu100"
- LIBTORCH_VARIANT: "static-with-deps"
- DOCKER_IMAGE: "soumith/manylinux-cuda100"
- USE_CUDA_DOCKER_RUNTIME: "1"
- resource_class: gpu.medium
- <<: *smoke_linux_test
-
- smoke_linux_libtorch_2.7m_cu100_static-without-deps:
- environment:
- BUILD_ENVIRONMENT: "libtorch 2.7m cu100"
- LIBTORCH_VARIANT: "static-without-deps"
- DOCKER_IMAGE: "soumith/manylinux-cuda100"
- USE_CUDA_DOCKER_RUNTIME: "1"
- resource_class: gpu.medium
- <<: *smoke_linux_test
-
- smoke_macos_wheel_2.7_cpu:
- environment:
- BUILD_ENVIRONMENT: "wheel 2.7 cpu"
- <<: *smoke_mac_test
-
- smoke_macos_wheel_3.5_cpu:
- environment:
- BUILD_ENVIRONMENT: "wheel 3.5 cpu"
- <<: *smoke_mac_test
-
- smoke_macos_wheel_3.6_cpu:
- environment:
- BUILD_ENVIRONMENT: "wheel 3.6 cpu"
- <<: *smoke_mac_test
-
- smoke_macos_wheel_3.7_cpu:
- environment:
- BUILD_ENVIRONMENT: "wheel 3.7 cpu"
- <<: *smoke_mac_test
-
- smoke_macos_conda_2.7_cpu:
- environment:
- BUILD_ENVIRONMENT: "conda 2.7 cpu"
- <<: *smoke_mac_test
-
- smoke_macos_conda_3.5_cpu:
- environment:
- BUILD_ENVIRONMENT: "conda 3.5 cpu"
- <<: *smoke_mac_test
-
- smoke_macos_conda_3.6_cpu:
- environment:
- BUILD_ENVIRONMENT: "conda 3.6 cpu"
- <<: *smoke_mac_test
-
- smoke_macos_conda_3.7_cpu:
- environment:
- BUILD_ENVIRONMENT: "conda 3.7 cpu"
- <<: *smoke_mac_test
-
- smoke_macos_libtorch_2.7_cpu:
- environment:
- BUILD_ENVIRONMENT: "libtorch 2.7 cpu"
- <<: *smoke_mac_test
-
-
-##############################################################################
-##############################################################################
-# Workflows
-##############################################################################
-##############################################################################
-
-# PR jobs pr builds
-workflows:
- version: 2
- build:
- jobs:
- # Pytorch linux builds
- - pytorch_linux_trusty_py2_7_9_build
- - pytorch_linux_trusty_py2_7_9_test:
- requires:
- - pytorch_linux_trusty_py2_7_9_build
- - pytorch_linux_trusty_py2_7_build
- - pytorch_linux_trusty_py2_7_test:
- requires:
- - pytorch_linux_trusty_py2_7_build
- - pytorch_linux_trusty_py3_5_build
- - pytorch_linux_trusty_py3_5_test:
- requires:
- - pytorch_linux_trusty_py3_5_build
- - pytorch_linux_trusty_py3_6_gcc4_8_build
- - pytorch_linux_trusty_py3_6_gcc4_8_test:
- requires:
- - pytorch_linux_trusty_py3_6_gcc4_8_build
- - pytorch_linux_trusty_py3_6_gcc5_4_build
- - pytorch_linux_trusty_py3_6_gcc5_4_test:
- requires:
- - pytorch_linux_trusty_py3_6_gcc5_4_build
- - pytorch_linux_trusty_py3_6_gcc7_build
- - pytorch_linux_trusty_py3_6_gcc7_test:
- requires:
- - pytorch_linux_trusty_py3_6_gcc7_build
- - pytorch_xla_linux_trusty_py3_6_gcc5_4_build:
- filters:
- branches:
- only:
- - master
- - pytorch_xla_linux_trusty_py3_6_gcc5_4_test:
- filters:
- branches:
- only:
- - master
- requires:
- - pytorch_xla_linux_trusty_py3_6_gcc5_4_build
- - pytorch_linux_trusty_pynightly_build
- - pytorch_linux_trusty_pynightly_test:
- requires:
- - pytorch_linux_trusty_pynightly_build
- - pytorch_linux_xenial_py3_clang5_asan_build
- - pytorch_linux_xenial_py3_clang5_asan_test:
- requires:
- - pytorch_linux_xenial_py3_clang5_asan_build
- - pytorch_linux_xenial_cuda8_cudnn7_py3_build
- - pytorch_linux_xenial_cuda8_cudnn7_py3_test:
- requires:
- - pytorch_linux_xenial_cuda8_cudnn7_py3_build
- - pytorch_linux_xenial_cuda8_cudnn7_py3_multigpu_test:
- requires:
- - pytorch_linux_xenial_cuda8_cudnn7_py3_build
- - pytorch_linux_xenial_cuda8_cudnn7_py3_NO_AVX2_test:
- requires:
- - pytorch_linux_xenial_cuda8_cudnn7_py3_build
- - pytorch_linux_xenial_cuda8_cudnn7_py3_NO_AVX_NO_AVX2_test:
- requires:
- - pytorch_linux_xenial_cuda8_cudnn7_py3_build
- - pytorch_short_perf_test_gpu:
- requires:
- - pytorch_linux_xenial_cuda8_cudnn7_py3_build
- - pytorch_doc_push:
- requires:
- - pytorch_linux_xenial_cuda8_cudnn7_py3_build
- - pytorch_linux_xenial_cuda9_cudnn7_py2_build
- - pytorch_linux_xenial_cuda9_cudnn7_py2_test:
- requires:
- - pytorch_linux_xenial_cuda9_cudnn7_py2_build
- - pytorch_linux_xenial_cuda9_cudnn7_py3_build
- - pytorch_linux_xenial_cuda9_cudnn7_py3_test:
- requires:
- - pytorch_linux_xenial_cuda9_cudnn7_py3_build
- - pytorch_linux_xenial_cuda9_2_cudnn7_py3_gcc7_build
- - pytorch_linux_xenial_cuda9_2_cudnn7_py3_gcc7_test:
- requires:
- - pytorch_linux_xenial_cuda9_2_cudnn7_py3_gcc7_build
- - pytorch_linux_xenial_cuda10_cudnn7_py3_gcc7_build
-
- # Pytorch MacOS builds
- - pytorch_macos_10_13_py3_build
- - pytorch_macos_10_13_py3_test:
- requires:
- - pytorch_macos_10_13_py3_build
- - pytorch_macos_10_13_cuda9_2_cudnn7_py3_build
-
- # Caffe2 builds
- - caffe2_cmake_cuda9_0_cudnn7_ubuntu16_04_build
- - caffe2_cmake_cuda9_0_cudnn7_ubuntu16_04_test:
- requires:
- - caffe2_cmake_cuda9_0_cudnn7_ubuntu16_04_build
- - caffe2_py2_cuda9_0_cudnn7_ubuntu16_04_build
- - caffe2_py2_cuda9_0_cudnn7_ubuntu16_04_test:
- requires:
- - caffe2_py2_cuda9_0_cudnn7_ubuntu16_04_build
- - caffe2_py2_cuda9_1_cudnn7_ubuntu16_04_build
- - caffe2_py2_cuda9_1_cudnn7_ubuntu16_04_test:
- requires:
- - caffe2_py2_cuda9_1_cudnn7_ubuntu16_04_build
- - caffe2_py2_mkl_ubuntu16_04_build
- - caffe2_py2_mkl_ubuntu16_04_test:
- requires:
- - caffe2_py2_mkl_ubuntu16_04_build
- - caffe2_py2_gcc4_8_ubuntu14_04_build
- - caffe2_py2_gcc4_8_ubuntu14_04_test:
- requires:
- - caffe2_py2_gcc4_8_ubuntu14_04_build
- - caffe2_onnx_py2_gcc5_ubuntu16_04_build
- - caffe2_onnx_py2_gcc5_ubuntu16_04_test:
- requires:
- - caffe2_onnx_py2_gcc5_ubuntu16_04_build
- - caffe2_py2_cuda8_0_cudnn7_ubuntu16_04_build
- - caffe2_py2_cuda8_0_cudnn7_ubuntu16_04_test:
- requires:
- - caffe2_py2_cuda8_0_cudnn7_ubuntu16_04_build
- - caffe2_py2_clang3_8_ubuntu16_04_build
- - caffe2_py2_clang3_9_ubuntu16_04_build
- - caffe2_py2_clang7_ubuntu16_04_build
- - caffe2_py2_android_ubuntu16_04_build
- - caffe2_py2_cuda9_0_cudnn7_centos7_build
- - caffe2_py2_cuda9_0_cudnn7_centos7_test:
- requires:
- - caffe2_py2_cuda9_0_cudnn7_centos7_build
-
- # Caffe2 MacOS builds
- - caffe2_py2_ios_macos10_13_build
- - caffe2_py2_system_macos10_13_build
-
- # Binary builds (subset, to smoke test that they'll work)
- - binary_linux_manywheel_2.7mu_cpu_build
- - binary_linux_manywheel_3.7m_cu100_build
- - binary_linux_conda_2.7_cpu_build
- # This binary build is currently broken, see https://github.com/pytorch/pytorch/issues/16710
- # - binary_linux_conda_3.6_cu90_build
- - binary_linux_libtorch_2.7m_cu80_build
- - binary_macos_wheel_3.6_cpu_build
- - binary_macos_conda_2.7_cpu_build
- - binary_macos_libtorch_2.7_cpu_build
-
- - binary_linux_manywheel_2.7mu_cpu_test:
- requires:
- - binary_linux_manywheel_2.7mu_cpu_build
- - binary_linux_manywheel_3.7m_cu100_test:
- requires:
- - binary_linux_manywheel_3.7m_cu100_build
- - binary_linux_conda_2.7_cpu_test:
- requires:
- - binary_linux_conda_2.7_cpu_build
- # This binary build is currently broken, see https://github.com/pytorch/pytorch/issues/16710
- # - binary_linux_conda_3.6_cu90_test:
- # requires:
- # - binary_linux_conda_3.6_cu90_build
-
-##############################################################################
-# Daily smoke test trigger
-##############################################################################
- binarysmoketests:
- triggers:
- - schedule:
- cron: "15 16 * * *"
- filters:
- branches:
- only:
- - master
- jobs:
- - smoke_linux_manywheel_2.7m_cpu
- - smoke_linux_manywheel_2.7mu_cpu
- - smoke_linux_manywheel_3.5m_cpu
- - smoke_linux_manywheel_3.6m_cpu
- - smoke_linux_manywheel_3.7m_cpu
- - smoke_linux_manywheel_2.7m_cu80
- - smoke_linux_manywheel_2.7mu_cu80
- - smoke_linux_manywheel_3.5m_cu80
- - smoke_linux_manywheel_3.6m_cu80
- - smoke_linux_manywheel_3.7m_cu80
- - smoke_linux_manywheel_2.7m_cu90
- - smoke_linux_manywheel_2.7mu_cu90
- - smoke_linux_manywheel_3.5m_cu90
- - smoke_linux_manywheel_3.6m_cu90
- - smoke_linux_manywheel_3.7m_cu90
- - smoke_linux_manywheel_2.7m_cu100
- - smoke_linux_manywheel_2.7mu_cu100
- - smoke_linux_manywheel_3.5m_cu100
- - smoke_linux_manywheel_3.6m_cu100
- - smoke_linux_manywheel_3.7m_cu100
- - smoke_linux_conda_2.7_cpu
- - smoke_linux_conda_3.5_cpu
- - smoke_linux_conda_3.6_cpu
- - smoke_linux_conda_3.7_cpu
- - smoke_linux_conda_2.7_cu80
- - smoke_linux_conda_3.5_cu80
- - smoke_linux_conda_3.6_cu80
- - smoke_linux_conda_3.7_cu80
- - smoke_linux_conda_2.7_cu90
- - smoke_linux_conda_3.5_cu90
- - smoke_linux_conda_3.6_cu90
- - smoke_linux_conda_3.7_cu90
- - smoke_linux_conda_2.7_cu100
- - smoke_linux_conda_3.5_cu100
- - smoke_linux_conda_3.6_cu100
- - smoke_linux_conda_3.7_cu100
- - smoke_linux_libtorch_2.7m_cpu_shared-with-deps
- - smoke_linux_libtorch_2.7m_cpu_shared-without-deps
- - smoke_linux_libtorch_2.7m_cpu_static-with-deps
- - smoke_linux_libtorch_2.7m_cpu_static-without-deps
- - smoke_linux_libtorch_2.7m_cu80_shared-with-deps
- - smoke_linux_libtorch_2.7m_cu80_shared-without-deps
- - smoke_linux_libtorch_2.7m_cu80_static-with-deps
- - smoke_linux_libtorch_2.7m_cu80_static-without-deps
- - smoke_linux_libtorch_2.7m_cu90_shared-with-deps
- - smoke_linux_libtorch_2.7m_cu90_shared-without-deps
- - smoke_linux_libtorch_2.7m_cu90_static-with-deps
- - smoke_linux_libtorch_2.7m_cu90_static-without-deps
- - smoke_linux_libtorch_2.7m_cu100_shared-with-deps
- - smoke_linux_libtorch_2.7m_cu100_shared-without-deps
- - smoke_linux_libtorch_2.7m_cu100_static-with-deps
- - smoke_linux_libtorch_2.7m_cu100_static-without-deps
- - smoke_macos_wheel_2.7_cpu
- - smoke_macos_wheel_3.5_cpu
- - smoke_macos_wheel_3.6_cpu
- - smoke_macos_wheel_3.7_cpu
- - smoke_macos_conda_2.7_cpu
- - smoke_macos_conda_3.5_cpu
- - smoke_macos_conda_3.6_cpu
- - smoke_macos_conda_3.7_cpu
- - smoke_macos_libtorch_2.7_cpu
-
-
-##############################################################################
-# Daily binary build trigger
-##############################################################################
- binarybuilds:
- triggers:
- - schedule:
- cron: "5 5 * * *"
- filters:
- branches:
- only:
- - master
- jobs:
- - binary_linux_manywheel_2.7m_cpu_build
- - binary_linux_manywheel_2.7mu_cpu_build
- - binary_linux_manywheel_3.5m_cpu_build
- - binary_linux_manywheel_3.6m_cpu_build
- - binary_linux_manywheel_3.7m_cpu_build
- - binary_linux_manywheel_2.7m_cu80_build
- - binary_linux_manywheel_2.7mu_cu80_build
- - binary_linux_manywheel_3.5m_cu80_build
- - binary_linux_manywheel_3.6m_cu80_build
- - binary_linux_manywheel_3.7m_cu80_build
- - binary_linux_manywheel_2.7m_cu90_build
- - binary_linux_manywheel_2.7mu_cu90_build
- - binary_linux_manywheel_3.5m_cu90_build
- - binary_linux_manywheel_3.6m_cu90_build
- - binary_linux_manywheel_3.7m_cu90_build
- - binary_linux_manywheel_2.7m_cu100_build
- - binary_linux_manywheel_2.7mu_cu100_build
- - binary_linux_manywheel_3.5m_cu100_build
- - binary_linux_manywheel_3.6m_cu100_build
- - binary_linux_manywheel_3.7m_cu100_build
- - binary_linux_conda_2.7_cpu_build
- - binary_linux_conda_3.5_cpu_build
- - binary_linux_conda_3.6_cpu_build
- - binary_linux_conda_3.7_cpu_build
- - binary_linux_conda_2.7_cu80_build
- - binary_linux_conda_3.5_cu80_build
- - binary_linux_conda_3.6_cu80_build
- - binary_linux_conda_3.7_cu80_build
- - binary_linux_conda_2.7_cu90_build
- - binary_linux_conda_3.5_cu90_build
- - binary_linux_conda_3.6_cu90_build
- - binary_linux_conda_3.7_cu90_build
- - binary_linux_conda_2.7_cu100_build
- - binary_linux_conda_3.5_cu100_build
- - binary_linux_conda_3.6_cu100_build
- - binary_linux_conda_3.7_cu100_build
- - binary_linux_libtorch_2.7m_cpu_build
- - binary_linux_libtorch_2.7m_cu80_build
- - binary_linux_libtorch_2.7m_cu90_build
- - binary_linux_libtorch_2.7m_cu100_build
- - binary_macos_wheel_2.7_cpu_build
- - binary_macos_wheel_3.5_cpu_build
- - binary_macos_wheel_3.6_cpu_build
- - binary_macos_wheel_3.7_cpu_build
- - binary_macos_conda_2.7_cpu_build
- - binary_macos_conda_3.5_cpu_build
- - binary_macos_conda_3.6_cpu_build
- - binary_macos_conda_3.7_cpu_build
- - binary_macos_libtorch_2.7_cpu_build
-
- # Nightly tests
- - binary_linux_manywheel_2.7m_cpu_test:
- requires:
- - binary_linux_manywheel_2.7m_cpu_build
- - binary_linux_manywheel_2.7mu_cpu_test:
- requires:
- - binary_linux_manywheel_2.7mu_cpu_build
- - binary_linux_manywheel_3.5m_cpu_test:
- requires:
- - binary_linux_manywheel_3.5m_cpu_build
- - binary_linux_manywheel_3.6m_cpu_test:
- requires:
- - binary_linux_manywheel_3.6m_cpu_build
- - binary_linux_manywheel_3.7m_cpu_test:
- requires:
- - binary_linux_manywheel_3.7m_cpu_build
- - binary_linux_manywheel_2.7m_cu80_test:
- requires:
- - binary_linux_manywheel_2.7m_cu80_build
- - binary_linux_manywheel_2.7mu_cu80_test:
- requires:
- - binary_linux_manywheel_2.7mu_cu80_build
- - binary_linux_manywheel_3.5m_cu80_test:
- requires:
- - binary_linux_manywheel_3.5m_cu80_build
- - binary_linux_manywheel_3.6m_cu80_test:
- requires:
- - binary_linux_manywheel_3.6m_cu80_build
- - binary_linux_manywheel_3.7m_cu80_test:
- requires:
- - binary_linux_manywheel_3.7m_cu80_build
- - binary_linux_manywheel_2.7m_cu90_test:
- requires:
- - binary_linux_manywheel_2.7m_cu90_build
- - binary_linux_manywheel_2.7mu_cu90_test:
- requires:
- - binary_linux_manywheel_2.7mu_cu90_build
- - binary_linux_manywheel_3.5m_cu90_test:
- requires:
- - binary_linux_manywheel_3.5m_cu90_build
- - binary_linux_manywheel_3.6m_cu90_test:
- requires:
- - binary_linux_manywheel_3.6m_cu90_build
- - binary_linux_manywheel_3.7m_cu90_test:
- requires:
- - binary_linux_manywheel_3.7m_cu90_build
- - binary_linux_manywheel_2.7m_cu100_test:
- requires:
- - binary_linux_manywheel_2.7m_cu100_build
- - binary_linux_manywheel_2.7mu_cu100_test:
- requires:
- - binary_linux_manywheel_2.7mu_cu100_build
- - binary_linux_manywheel_3.5m_cu100_test:
- requires:
- - binary_linux_manywheel_3.5m_cu100_build
- - binary_linux_manywheel_3.6m_cu100_test:
- requires:
- - binary_linux_manywheel_3.6m_cu100_build
- - binary_linux_manywheel_3.7m_cu100_test:
- requires:
- - binary_linux_manywheel_3.7m_cu100_build
- - binary_linux_conda_2.7_cpu_test:
- requires:
- - binary_linux_conda_2.7_cpu_build
- - binary_linux_conda_3.5_cpu_test:
- requires:
- - binary_linux_conda_3.5_cpu_build
- - binary_linux_conda_3.6_cpu_test:
- requires:
- - binary_linux_conda_3.6_cpu_build
- - binary_linux_conda_3.7_cpu_test:
- requires:
- - binary_linux_conda_3.7_cpu_build
- - binary_linux_conda_2.7_cu80_test:
- requires:
- - binary_linux_conda_2.7_cu80_build
- - binary_linux_conda_3.5_cu80_test:
- requires:
- - binary_linux_conda_3.5_cu80_build
- - binary_linux_conda_3.6_cu80_test:
- requires:
- - binary_linux_conda_3.6_cu80_build
- - binary_linux_conda_3.7_cu80_test:
- requires:
- - binary_linux_conda_3.7_cu80_build
- - binary_linux_conda_2.7_cu90_test:
- requires:
- - binary_linux_conda_2.7_cu90_build
- - binary_linux_conda_3.5_cu90_test:
- requires:
- - binary_linux_conda_3.5_cu90_build
- - binary_linux_conda_3.6_cu90_test:
- requires:
- - binary_linux_conda_3.6_cu90_build
- - binary_linux_conda_3.7_cu90_test:
- requires:
- - binary_linux_conda_3.7_cu90_build
- - binary_linux_conda_2.7_cu100_test:
- requires:
- - binary_linux_conda_2.7_cu100_build
- - binary_linux_conda_3.5_cu100_test:
- requires:
- - binary_linux_conda_3.5_cu100_build
- - binary_linux_conda_3.6_cu100_test:
- requires:
- - binary_linux_conda_3.6_cu100_build
- - binary_linux_conda_3.7_cu100_test:
- requires:
- - binary_linux_conda_3.7_cu100_build
- #- binary_linux_libtorch_2.7m_cpu_test:
- # requires:
- # - binary_linux_libtorch_2.7m_cpu_build
- #- binary_linux_libtorch_2.7m_cu80_test:
- # requires:
- # - binary_linux_libtorch_2.7m_cu80_build
- #- binary_linux_libtorch_2.7m_cu90_test:
- # requires:
- # - binary_linux_libtorch_2.7m_cu90_build
- #- binary_linux_libtorch_2.7m_cu100_test:
- # requires:
- # - binary_linux_libtorch_2.7m_cu100_build
-
- # Nightly uploads
- - binary_linux_manywheel_2.7m_cpu_upload:
- context: org-member
- requires:
- - binary_linux_manywheel_2.7m_cpu_test
- - binary_linux_manywheel_2.7mu_cpu_upload:
- context: org-member
- requires:
- - binary_linux_manywheel_2.7mu_cpu_test
- - binary_linux_manywheel_3.5m_cpu_upload:
- context: org-member
- requires:
- - binary_linux_manywheel_3.5m_cpu_test
- - binary_linux_manywheel_3.6m_cpu_upload:
- context: org-member
- requires:
- - binary_linux_manywheel_3.6m_cpu_test
- - binary_linux_manywheel_3.7m_cpu_upload:
- context: org-member
- requires:
- - binary_linux_manywheel_3.7m_cpu_test
- - binary_linux_manywheel_2.7m_cu80_upload:
- context: org-member
- requires:
- - binary_linux_manywheel_2.7m_cu80_test
- - binary_linux_manywheel_2.7mu_cu80_upload:
- context: org-member
- requires:
- - binary_linux_manywheel_2.7mu_cu80_test
- - binary_linux_manywheel_3.5m_cu80_upload:
- context: org-member
- requires:
- - binary_linux_manywheel_3.5m_cu80_test
- - binary_linux_manywheel_3.6m_cu80_upload:
- context: org-member
- requires:
- - binary_linux_manywheel_3.6m_cu80_test
- - binary_linux_manywheel_3.7m_cu80_upload:
- context: org-member
- requires:
- - binary_linux_manywheel_3.7m_cu80_test
- - binary_linux_manywheel_2.7m_cu90_upload:
- context: org-member
- requires:
- - binary_linux_manywheel_2.7m_cu90_test
- - binary_linux_manywheel_2.7mu_cu90_upload:
- context: org-member
- requires:
- - binary_linux_manywheel_2.7mu_cu90_test
- - binary_linux_manywheel_3.5m_cu90_upload:
- context: org-member
- requires:
- - binary_linux_manywheel_3.5m_cu90_test
- - binary_linux_manywheel_3.6m_cu90_upload:
- context: org-member
- requires:
- - binary_linux_manywheel_3.6m_cu90_test
- - binary_linux_manywheel_3.7m_cu90_upload:
- context: org-member
- requires:
- - binary_linux_manywheel_3.7m_cu90_test
- - binary_linux_manywheel_2.7m_cu100_upload:
- context: org-member
- requires:
- - binary_linux_manywheel_2.7m_cu100_test
- - binary_linux_manywheel_2.7mu_cu100_upload:
- context: org-member
- requires:
- - binary_linux_manywheel_2.7mu_cu100_test
- - binary_linux_manywheel_3.5m_cu100_upload:
- context: org-member
- requires:
- - binary_linux_manywheel_3.5m_cu100_test
- - binary_linux_manywheel_3.6m_cu100_upload:
- context: org-member
- requires:
- - binary_linux_manywheel_3.6m_cu100_test
- - binary_linux_manywheel_3.7m_cu100_upload:
- context: org-member
- requires:
- - binary_linux_manywheel_3.7m_cu100_test
- - binary_linux_conda_2.7_cpu_upload:
- context: org-member
- requires:
- - binary_linux_conda_2.7_cpu_test
- - binary_linux_conda_3.5_cpu_upload:
- context: org-member
- requires:
- - binary_linux_conda_3.5_cpu_test
- - binary_linux_conda_3.6_cpu_upload:
- context: org-member
- requires:
- - binary_linux_conda_3.6_cpu_test
- - binary_linux_conda_3.7_cpu_upload:
- context: org-member
- requires:
- - binary_linux_conda_3.7_cpu_test
- - binary_linux_conda_2.7_cu80_upload:
- context: org-member
- requires:
- - binary_linux_conda_2.7_cu80_test
- - binary_linux_conda_3.5_cu80_upload:
- context: org-member
- requires:
- - binary_linux_conda_3.5_cu80_test
- - binary_linux_conda_3.6_cu80_upload:
- context: org-member
- requires:
- - binary_linux_conda_3.6_cu80_test
- - binary_linux_conda_3.7_cu80_upload:
- context: org-member
- requires:
- - binary_linux_conda_3.7_cu80_test
- - binary_linux_conda_2.7_cu90_upload:
- context: org-member
- requires:
- - binary_linux_conda_2.7_cu90_test
- - binary_linux_conda_3.5_cu90_upload:
- context: org-member
- requires:
- - binary_linux_conda_3.5_cu90_test
- - binary_linux_conda_3.6_cu90_upload:
- context: org-member
- requires:
- - binary_linux_conda_3.6_cu90_test
- - binary_linux_conda_3.7_cu90_upload:
- context: org-member
- requires:
- - binary_linux_conda_3.7_cu90_test
- - binary_linux_conda_2.7_cu100_upload:
- context: org-member
- requires:
- - binary_linux_conda_2.7_cu100_test
- - binary_linux_conda_3.5_cu100_upload:
- context: org-member
- requires:
- - binary_linux_conda_3.5_cu100_test
- - binary_linux_conda_3.6_cu100_upload:
- context: org-member
- requires:
- - binary_linux_conda_3.6_cu100_test
- - binary_linux_conda_3.7_cu100_upload:
- context: org-member
- requires:
- - binary_linux_conda_3.7_cu100_test
- - binary_linux_libtorch_2.7m_cpu_upload:
- context: org-member
- requires:
- - binary_linux_libtorch_2.7m_cpu_build
- - binary_linux_libtorch_2.7m_cu80_upload:
- context: org-member
- requires:
- - binary_linux_libtorch_2.7m_cu80_build
- - binary_linux_libtorch_2.7m_cu90_upload:
- context: org-member
- requires:
- - binary_linux_libtorch_2.7m_cu90_build
- - binary_linux_libtorch_2.7m_cu100_upload:
- context: org-member
- requires:
- - binary_linux_libtorch_2.7m_cu100_build
- - binary_macos_wheel_2.7_cpu_upload:
- context: org-member
- requires:
- - binary_macos_wheel_2.7_cpu_build
- - binary_macos_wheel_3.5_cpu_upload:
- context: org-member
- requires:
- - binary_macos_wheel_3.5_cpu_build
- - binary_macos_wheel_3.6_cpu_upload:
- context: org-member
- requires:
- - binary_macos_wheel_3.6_cpu_build
- - binary_macos_wheel_3.7_cpu_upload:
- context: org-member
- requires:
- - binary_macos_wheel_3.7_cpu_build
- - binary_macos_conda_2.7_cpu_upload:
- context: org-member
- requires:
- - binary_macos_conda_2.7_cpu_build
- - binary_macos_conda_3.5_cpu_upload:
- context: org-member
- requires:
- - binary_macos_conda_3.5_cpu_build
- - binary_macos_conda_3.6_cpu_upload:
- context: org-member
- requires:
- - binary_macos_conda_3.6_cpu_build
- - binary_macos_conda_3.7_cpu_upload:
- context: org-member
- requires:
- - binary_macos_conda_3.7_cpu_build
- - binary_macos_libtorch_2.7_cpu_upload:
- context: org-member
- requires:
- - binary_macos_libtorch_2.7_cpu_build
-
- # Scheduled to run 4 hours after the binary jobs start
- update_s3_htmls:
- triggers:
- - schedule:
- cron: "0 9 * * *"
- filters:
- branches:
- only:
- - master
- jobs:
- - update_s3_htmls:
- context: org-member
diff --git a/.circleci/verbatim-sources/smoke-test-specs-header.yml b/.circleci/verbatim-sources/smoke-test-specs-header.yml
new file mode 100644
index 0000000000..8817d33c11
--- /dev/null
+++ b/.circleci/verbatim-sources/smoke-test-specs-header.yml
@@ -0,0 +1,4 @@
+
+##############################################################################
+# Smoke test specs individual job specifications
+##############################################################################
diff --git a/.circleci/verbatim-sources/workflows-binary-build-header.yml b/.circleci/verbatim-sources/workflows-binary-build-header.yml
new file mode 100644
index 0000000000..72c9443176
--- /dev/null
+++ b/.circleci/verbatim-sources/workflows-binary-build-header.yml
@@ -0,0 +1,4 @@
+
+##############################################################################
+# Daily binary build trigger
+##############################################################################
diff --git a/.circleci/verbatim-sources/workflows-binary-builds-smoke-subset.yml b/.circleci/verbatim-sources/workflows-binary-builds-smoke-subset.yml
new file mode 100644
index 0000000000..0e67868c4c
--- /dev/null
+++ b/.circleci/verbatim-sources/workflows-binary-builds-smoke-subset.yml
@@ -0,0 +1,26 @@
+
+ # Binary builds (subset, to smoke test that they'll work)
+ - binary_linux_manywheel_2.7mu_cpu_build
+ - binary_linux_manywheel_3.7m_cu100_build
+ - binary_linux_conda_2.7_cpu_build
+ # This binary build is currently broken, see https://github.com/pytorch/pytorch/issues/16710
+ # - binary_linux_conda_3.6_cu90_build
+ - binary_linux_libtorch_2.7m_cu80_build
+ - binary_macos_wheel_3.6_cpu_build
+ - binary_macos_conda_2.7_cpu_build
+ - binary_macos_libtorch_2.7_cpu_build
+
+ - binary_linux_manywheel_2.7mu_cpu_test:
+ requires:
+ - binary_linux_manywheel_2.7mu_cpu_build
+ - binary_linux_manywheel_3.7m_cu100_test:
+ requires:
+ - binary_linux_manywheel_3.7m_cu100_build
+ - binary_linux_conda_2.7_cpu_test:
+ requires:
+ - binary_linux_conda_2.7_cpu_build
+ # This binary build is currently broken, see https://github.com/pytorch/pytorch/issues/16710
+ # - binary_linux_conda_3.6_cu90_test:
+ # requires:
+ # - binary_linux_conda_3.6_cu90_build
+
diff --git a/.circleci/verbatim-sources/workflows-binary-smoke-header.yml b/.circleci/verbatim-sources/workflows-binary-smoke-header.yml
new file mode 100644
index 0000000000..a3c7752be0
--- /dev/null
+++ b/.circleci/verbatim-sources/workflows-binary-smoke-header.yml
@@ -0,0 +1,3 @@
+##############################################################################
+# Daily smoke test trigger
+##############################################################################
diff --git a/.circleci/verbatim-sources/workflows-caffe2-builds.yml b/.circleci/verbatim-sources/workflows-caffe2-builds.yml
new file mode 100644
index 0000000000..a1eee9fca1
--- /dev/null
+++ b/.circleci/verbatim-sources/workflows-caffe2-builds.yml
@@ -0,0 +1,37 @@
+ # Caffe2 builds
+ - caffe2_cmake_cuda9_0_cudnn7_ubuntu16_04_build
+ - caffe2_cmake_cuda9_0_cudnn7_ubuntu16_04_test:
+ requires:
+ - caffe2_cmake_cuda9_0_cudnn7_ubuntu16_04_build
+ - caffe2_py2_cuda9_0_cudnn7_ubuntu16_04_build
+ - caffe2_py2_cuda9_0_cudnn7_ubuntu16_04_test:
+ requires:
+ - caffe2_py2_cuda9_0_cudnn7_ubuntu16_04_build
+ - caffe2_py2_cuda9_1_cudnn7_ubuntu16_04_build
+ - caffe2_py2_cuda9_1_cudnn7_ubuntu16_04_test:
+ requires:
+ - caffe2_py2_cuda9_1_cudnn7_ubuntu16_04_build
+ - caffe2_py2_mkl_ubuntu16_04_build
+ - caffe2_py2_mkl_ubuntu16_04_test:
+ requires:
+ - caffe2_py2_mkl_ubuntu16_04_build
+ - caffe2_py2_gcc4_8_ubuntu14_04_build
+ - caffe2_py2_gcc4_8_ubuntu14_04_test:
+ requires:
+ - caffe2_py2_gcc4_8_ubuntu14_04_build
+ - caffe2_onnx_py2_gcc5_ubuntu16_04_build
+ - caffe2_onnx_py2_gcc5_ubuntu16_04_test:
+ requires:
+ - caffe2_onnx_py2_gcc5_ubuntu16_04_build
+ - caffe2_py2_cuda8_0_cudnn7_ubuntu16_04_build
+ - caffe2_py2_cuda8_0_cudnn7_ubuntu16_04_test:
+ requires:
+ - caffe2_py2_cuda8_0_cudnn7_ubuntu16_04_build
+ - caffe2_py2_clang3_8_ubuntu16_04_build
+ - caffe2_py2_clang3_9_ubuntu16_04_build
+ - caffe2_py2_clang7_ubuntu16_04_build
+ - caffe2_py2_android_ubuntu16_04_build
+ - caffe2_py2_cuda9_0_cudnn7_centos7_build
+ - caffe2_py2_cuda9_0_cudnn7_centos7_test:
+ requires:
+ - caffe2_py2_cuda9_0_cudnn7_centos7_build
diff --git a/.circleci/verbatim-sources/workflows-caffe2-macos-builds.yml b/.circleci/verbatim-sources/workflows-caffe2-macos-builds.yml
new file mode 100644
index 0000000000..daf050711e
--- /dev/null
+++ b/.circleci/verbatim-sources/workflows-caffe2-macos-builds.yml
@@ -0,0 +1,4 @@
+
+ # Caffe2 MacOS builds
+ - caffe2_py2_ios_macos10_13_build
+ - caffe2_py2_system_macos10_13_build
diff --git a/.circleci/verbatim-sources/workflows-nightly-tests-header.yml b/.circleci/verbatim-sources/workflows-nightly-tests-header.yml
new file mode 100644
index 0000000000..285493f783
--- /dev/null
+++ b/.circleci/verbatim-sources/workflows-nightly-tests-header.yml
@@ -0,0 +1 @@
+ # Nightly tests
diff --git a/.circleci/verbatim-sources/workflows-nightly-tests.yml b/.circleci/verbatim-sources/workflows-nightly-tests.yml
new file mode 100644
index 0000000000..26fd721547
--- /dev/null
+++ b/.circleci/verbatim-sources/workflows-nightly-tests.yml
@@ -0,0 +1,108 @@
+ - binary_linux_manywheel_2.7m_cpu_test:
+ requires:
+ - binary_linux_manywheel_2.7m_cpu_build
+ - binary_linux_manywheel_2.7mu_cpu_test:
+ requires:
+ - binary_linux_manywheel_2.7mu_cpu_build
+ - binary_linux_manywheel_3.5m_cpu_test:
+ requires:
+ - binary_linux_manywheel_3.5m_cpu_build
+ - binary_linux_manywheel_3.6m_cpu_test:
+ requires:
+ - binary_linux_manywheel_3.6m_cpu_build
+ - binary_linux_manywheel_3.7m_cpu_test:
+ requires:
+ - binary_linux_manywheel_3.7m_cpu_build
+ - binary_linux_manywheel_2.7m_cu80_test:
+ requires:
+ - binary_linux_manywheel_2.7m_cu80_build
+ - binary_linux_manywheel_2.7mu_cu80_test:
+ requires:
+ - binary_linux_manywheel_2.7mu_cu80_build
+ - binary_linux_manywheel_3.5m_cu80_test:
+ requires:
+ - binary_linux_manywheel_3.5m_cu80_build
+ - binary_linux_manywheel_3.6m_cu80_test:
+ requires:
+ - binary_linux_manywheel_3.6m_cu80_build
+ - binary_linux_manywheel_3.7m_cu80_test:
+ requires:
+ - binary_linux_manywheel_3.7m_cu80_build
+ - binary_linux_manywheel_2.7m_cu90_test:
+ requires:
+ - binary_linux_manywheel_2.7m_cu90_build
+ - binary_linux_manywheel_2.7mu_cu90_test:
+ requires:
+ - binary_linux_manywheel_2.7mu_cu90_build
+ - binary_linux_manywheel_3.5m_cu90_test:
+ requires:
+ - binary_linux_manywheel_3.5m_cu90_build
+ - binary_linux_manywheel_3.6m_cu90_test:
+ requires:
+ - binary_linux_manywheel_3.6m_cu90_build
+ - binary_linux_manywheel_3.7m_cu90_test:
+ requires:
+ - binary_linux_manywheel_3.7m_cu90_build
+ - binary_linux_manywheel_2.7m_cu100_test:
+ requires:
+ - binary_linux_manywheel_2.7m_cu100_build
+ - binary_linux_manywheel_2.7mu_cu100_test:
+ requires:
+ - binary_linux_manywheel_2.7mu_cu100_build
+ - binary_linux_manywheel_3.5m_cu100_test:
+ requires:
+ - binary_linux_manywheel_3.5m_cu100_build
+ - binary_linux_manywheel_3.6m_cu100_test:
+ requires:
+ - binary_linux_manywheel_3.6m_cu100_build
+ - binary_linux_manywheel_3.7m_cu100_test:
+ requires:
+ - binary_linux_manywheel_3.7m_cu100_build
+ - binary_linux_conda_2.7_cpu_test:
+ requires:
+ - binary_linux_conda_2.7_cpu_build
+ - binary_linux_conda_3.5_cpu_test:
+ requires:
+ - binary_linux_conda_3.5_cpu_build
+ - binary_linux_conda_3.6_cpu_test:
+ requires:
+ - binary_linux_conda_3.6_cpu_build
+ - binary_linux_conda_3.7_cpu_test:
+ requires:
+ - binary_linux_conda_3.7_cpu_build
+ - binary_linux_conda_2.7_cu80_test:
+ requires:
+ - binary_linux_conda_2.7_cu80_build
+ - binary_linux_conda_3.5_cu80_test:
+ requires:
+ - binary_linux_conda_3.5_cu80_build
+ - binary_linux_conda_3.6_cu80_test:
+ requires:
+ - binary_linux_conda_3.6_cu80_build
+ - binary_linux_conda_3.7_cu80_test:
+ requires:
+ - binary_linux_conda_3.7_cu80_build
+ - binary_linux_conda_2.7_cu90_test:
+ requires:
+ - binary_linux_conda_2.7_cu90_build
+ - binary_linux_conda_3.5_cu90_test:
+ requires:
+ - binary_linux_conda_3.5_cu90_build
+ - binary_linux_conda_3.6_cu90_test:
+ requires:
+ - binary_linux_conda_3.6_cu90_build
+ - binary_linux_conda_3.7_cu90_test:
+ requires:
+ - binary_linux_conda_3.7_cu90_build
+ - binary_linux_conda_2.7_cu100_test:
+ requires:
+ - binary_linux_conda_2.7_cu100_build
+ - binary_linux_conda_3.5_cu100_test:
+ requires:
+ - binary_linux_conda_3.5_cu100_build
+ - binary_linux_conda_3.6_cu100_test:
+ requires:
+ - binary_linux_conda_3.6_cu100_build
+ - binary_linux_conda_3.7_cu100_test:
+ requires:
+ - binary_linux_conda_3.7_cu100_build
diff --git a/.circleci/verbatim-sources/workflows-nightly-uploads-header.yml b/.circleci/verbatim-sources/workflows-nightly-uploads-header.yml
new file mode 100644
index 0000000000..5b51ea1d53
--- /dev/null
+++ b/.circleci/verbatim-sources/workflows-nightly-uploads-header.yml
@@ -0,0 +1,14 @@
+ #- binary_linux_libtorch_2.7m_cpu_test:
+ # requires:
+ # - binary_linux_libtorch_2.7m_cpu_build
+ #- binary_linux_libtorch_2.7m_cu80_test:
+ # requires:
+ # - binary_linux_libtorch_2.7m_cu80_build
+ #- binary_linux_libtorch_2.7m_cu90_test:
+ # requires:
+ # - binary_linux_libtorch_2.7m_cu90_build
+ #- binary_linux_libtorch_2.7m_cu100_test:
+ # requires:
+ # - binary_linux_libtorch_2.7m_cu100_build
+
+ # Nightly uploads
diff --git a/.circleci/verbatim-sources/workflows-nightly-uploads.yml b/.circleci/verbatim-sources/workflows-nightly-uploads.yml
new file mode 100644
index 0000000000..9aaa56f817
--- /dev/null
+++ b/.circleci/verbatim-sources/workflows-nightly-uploads.yml
@@ -0,0 +1,197 @@
+ - binary_linux_manywheel_2.7m_cpu_upload:
+ context: org-member
+ requires:
+ - binary_linux_manywheel_2.7m_cpu_test
+ - binary_linux_manywheel_2.7mu_cpu_upload:
+ context: org-member
+ requires:
+ - binary_linux_manywheel_2.7mu_cpu_test
+ - binary_linux_manywheel_3.5m_cpu_upload:
+ context: org-member
+ requires:
+ - binary_linux_manywheel_3.5m_cpu_test
+ - binary_linux_manywheel_3.6m_cpu_upload:
+ context: org-member
+ requires:
+ - binary_linux_manywheel_3.6m_cpu_test
+ - binary_linux_manywheel_3.7m_cpu_upload:
+ context: org-member
+ requires:
+ - binary_linux_manywheel_3.7m_cpu_test
+ - binary_linux_manywheel_2.7m_cu80_upload:
+ context: org-member
+ requires:
+ - binary_linux_manywheel_2.7m_cu80_test
+ - binary_linux_manywheel_2.7mu_cu80_upload:
+ context: org-member
+ requires:
+ - binary_linux_manywheel_2.7mu_cu80_test
+ - binary_linux_manywheel_3.5m_cu80_upload:
+ context: org-member
+ requires:
+ - binary_linux_manywheel_3.5m_cu80_test
+ - binary_linux_manywheel_3.6m_cu80_upload:
+ context: org-member
+ requires:
+ - binary_linux_manywheel_3.6m_cu80_test
+ - binary_linux_manywheel_3.7m_cu80_upload:
+ context: org-member
+ requires:
+ - binary_linux_manywheel_3.7m_cu80_test
+ - binary_linux_manywheel_2.7m_cu90_upload:
+ context: org-member
+ requires:
+ - binary_linux_manywheel_2.7m_cu90_test
+ - binary_linux_manywheel_2.7mu_cu90_upload:
+ context: org-member
+ requires:
+ - binary_linux_manywheel_2.7mu_cu90_test
+ - binary_linux_manywheel_3.5m_cu90_upload:
+ context: org-member
+ requires:
+ - binary_linux_manywheel_3.5m_cu90_test
+ - binary_linux_manywheel_3.6m_cu90_upload:
+ context: org-member
+ requires:
+ - binary_linux_manywheel_3.6m_cu90_test
+ - binary_linux_manywheel_3.7m_cu90_upload:
+ context: org-member
+ requires:
+ - binary_linux_manywheel_3.7m_cu90_test
+ - binary_linux_manywheel_2.7m_cu100_upload:
+ context: org-member
+ requires:
+ - binary_linux_manywheel_2.7m_cu100_test
+ - binary_linux_manywheel_2.7mu_cu100_upload:
+ context: org-member
+ requires:
+ - binary_linux_manywheel_2.7mu_cu100_test
+ - binary_linux_manywheel_3.5m_cu100_upload:
+ context: org-member
+ requires:
+ - binary_linux_manywheel_3.5m_cu100_test
+ - binary_linux_manywheel_3.6m_cu100_upload:
+ context: org-member
+ requires:
+ - binary_linux_manywheel_3.6m_cu100_test
+ - binary_linux_manywheel_3.7m_cu100_upload:
+ context: org-member
+ requires:
+ - binary_linux_manywheel_3.7m_cu100_test
+ - binary_linux_conda_2.7_cpu_upload:
+ context: org-member
+ requires:
+ - binary_linux_conda_2.7_cpu_test
+ - binary_linux_conda_3.5_cpu_upload:
+ context: org-member
+ requires:
+ - binary_linux_conda_3.5_cpu_test
+ - binary_linux_conda_3.6_cpu_upload:
+ context: org-member
+ requires:
+ - binary_linux_conda_3.6_cpu_test
+ - binary_linux_conda_3.7_cpu_upload:
+ context: org-member
+ requires:
+ - binary_linux_conda_3.7_cpu_test
+ - binary_linux_conda_2.7_cu80_upload:
+ context: org-member
+ requires:
+ - binary_linux_conda_2.7_cu80_test
+ - binary_linux_conda_3.5_cu80_upload:
+ context: org-member
+ requires:
+ - binary_linux_conda_3.5_cu80_test
+ - binary_linux_conda_3.6_cu80_upload:
+ context: org-member
+ requires:
+ - binary_linux_conda_3.6_cu80_test
+ - binary_linux_conda_3.7_cu80_upload:
+ context: org-member
+ requires:
+ - binary_linux_conda_3.7_cu80_test
+ - binary_linux_conda_2.7_cu90_upload:
+ context: org-member
+ requires:
+ - binary_linux_conda_2.7_cu90_test
+ - binary_linux_conda_3.5_cu90_upload:
+ context: org-member
+ requires:
+ - binary_linux_conda_3.5_cu90_test
+ - binary_linux_conda_3.6_cu90_upload:
+ context: org-member
+ requires:
+ - binary_linux_conda_3.6_cu90_test
+ - binary_linux_conda_3.7_cu90_upload:
+ context: org-member
+ requires:
+ - binary_linux_conda_3.7_cu90_test
+ - binary_linux_conda_2.7_cu100_upload:
+ context: org-member
+ requires:
+ - binary_linux_conda_2.7_cu100_test
+ - binary_linux_conda_3.5_cu100_upload:
+ context: org-member
+ requires:
+ - binary_linux_conda_3.5_cu100_test
+ - binary_linux_conda_3.6_cu100_upload:
+ context: org-member
+ requires:
+ - binary_linux_conda_3.6_cu100_test
+ - binary_linux_conda_3.7_cu100_upload:
+ context: org-member
+ requires:
+ - binary_linux_conda_3.7_cu100_test
+ - binary_linux_libtorch_2.7m_cpu_upload:
+ context: org-member
+ requires:
+ - binary_linux_libtorch_2.7m_cpu_build
+ - binary_linux_libtorch_2.7m_cu80_upload:
+ context: org-member
+ requires:
+ - binary_linux_libtorch_2.7m_cu80_build
+ - binary_linux_libtorch_2.7m_cu90_upload:
+ context: org-member
+ requires:
+ - binary_linux_libtorch_2.7m_cu90_build
+ - binary_linux_libtorch_2.7m_cu100_upload:
+ context: org-member
+ requires:
+ - binary_linux_libtorch_2.7m_cu100_build
+ - binary_macos_wheel_2.7_cpu_upload:
+ context: org-member
+ requires:
+ - binary_macos_wheel_2.7_cpu_build
+ - binary_macos_wheel_3.5_cpu_upload:
+ context: org-member
+ requires:
+ - binary_macos_wheel_3.5_cpu_build
+ - binary_macos_wheel_3.6_cpu_upload:
+ context: org-member
+ requires:
+ - binary_macos_wheel_3.6_cpu_build
+ - binary_macos_wheel_3.7_cpu_upload:
+ context: org-member
+ requires:
+ - binary_macos_wheel_3.7_cpu_build
+ - binary_macos_conda_2.7_cpu_upload:
+ context: org-member
+ requires:
+ - binary_macos_conda_2.7_cpu_build
+ - binary_macos_conda_3.5_cpu_upload:
+ context: org-member
+ requires:
+ - binary_macos_conda_3.5_cpu_build
+ - binary_macos_conda_3.6_cpu_upload:
+ context: org-member
+ requires:
+ - binary_macos_conda_3.6_cpu_build
+ - binary_macos_conda_3.7_cpu_upload:
+ context: org-member
+ requires:
+ - binary_macos_conda_3.7_cpu_build
+ - binary_macos_libtorch_2.7_cpu_upload:
+ context: org-member
+ requires:
+ - binary_macos_libtorch_2.7_cpu_build
+
diff --git a/.circleci/verbatim-sources/workflows-pytorch-linux-builds.yml b/.circleci/verbatim-sources/workflows-pytorch-linux-builds.yml
new file mode 100644
index 0000000000..2390dce2cd
--- /dev/null
+++ b/.circleci/verbatim-sources/workflows-pytorch-linux-builds.yml
@@ -0,0 +1,78 @@
+ # Pytorch linux builds
+ - pytorch_linux_trusty_py2_7_9_build
+ - pytorch_linux_trusty_py2_7_9_test:
+ requires:
+ - pytorch_linux_trusty_py2_7_9_build
+ - pytorch_linux_trusty_py2_7_build
+ - pytorch_linux_trusty_py2_7_test:
+ requires:
+ - pytorch_linux_trusty_py2_7_build
+ - pytorch_linux_trusty_py3_5_build
+ - pytorch_linux_trusty_py3_5_test:
+ requires:
+ - pytorch_linux_trusty_py3_5_build
+ - pytorch_linux_trusty_py3_6_gcc4_8_build
+ - pytorch_linux_trusty_py3_6_gcc4_8_test:
+ requires:
+ - pytorch_linux_trusty_py3_6_gcc4_8_build
+ - pytorch_linux_trusty_py3_6_gcc5_4_build
+ - pytorch_linux_trusty_py3_6_gcc5_4_test:
+ requires:
+ - pytorch_linux_trusty_py3_6_gcc5_4_build
+ - pytorch_linux_trusty_py3_6_gcc7_build
+ - pytorch_linux_trusty_py3_6_gcc7_test:
+ requires:
+ - pytorch_linux_trusty_py3_6_gcc7_build
+ - pytorch_xla_linux_trusty_py3_6_gcc5_4_build:
+ filters:
+ branches:
+ only:
+ - master
+ - pytorch_xla_linux_trusty_py3_6_gcc5_4_test:
+ filters:
+ branches:
+ only:
+ - master
+ requires:
+ - pytorch_xla_linux_trusty_py3_6_gcc5_4_build
+ - pytorch_linux_trusty_pynightly_build
+ - pytorch_linux_trusty_pynightly_test:
+ requires:
+ - pytorch_linux_trusty_pynightly_build
+ - pytorch_linux_xenial_py3_clang5_asan_build
+ - pytorch_linux_xenial_py3_clang5_asan_test:
+ requires:
+ - pytorch_linux_xenial_py3_clang5_asan_build
+ - pytorch_linux_xenial_cuda8_cudnn7_py3_build
+ - pytorch_linux_xenial_cuda8_cudnn7_py3_test:
+ requires:
+ - pytorch_linux_xenial_cuda8_cudnn7_py3_build
+ - pytorch_linux_xenial_cuda8_cudnn7_py3_multigpu_test:
+ requires:
+ - pytorch_linux_xenial_cuda8_cudnn7_py3_build
+ - pytorch_linux_xenial_cuda8_cudnn7_py3_NO_AVX2_test:
+ requires:
+ - pytorch_linux_xenial_cuda8_cudnn7_py3_build
+ - pytorch_linux_xenial_cuda8_cudnn7_py3_NO_AVX_NO_AVX2_test:
+ requires:
+ - pytorch_linux_xenial_cuda8_cudnn7_py3_build
+ - pytorch_short_perf_test_gpu:
+ requires:
+ - pytorch_linux_xenial_cuda8_cudnn7_py3_build
+ - pytorch_doc_push:
+ requires:
+ - pytorch_linux_xenial_cuda8_cudnn7_py3_build
+ - pytorch_linux_xenial_cuda9_cudnn7_py2_build
+ - pytorch_linux_xenial_cuda9_cudnn7_py2_test:
+ requires:
+ - pytorch_linux_xenial_cuda9_cudnn7_py2_build
+ - pytorch_linux_xenial_cuda9_cudnn7_py3_build
+ - pytorch_linux_xenial_cuda9_cudnn7_py3_test:
+ requires:
+ - pytorch_linux_xenial_cuda9_cudnn7_py3_build
+ - pytorch_linux_xenial_cuda9_2_cudnn7_py3_gcc7_build
+ - pytorch_linux_xenial_cuda9_2_cudnn7_py3_gcc7_test:
+ requires:
+ - pytorch_linux_xenial_cuda9_2_cudnn7_py3_gcc7_build
+ - pytorch_linux_xenial_cuda10_cudnn7_py3_gcc7_build
+
diff --git a/.circleci/verbatim-sources/workflows-pytorch-macos-builds.yml b/.circleci/verbatim-sources/workflows-pytorch-macos-builds.yml
new file mode 100644
index 0000000000..ec10e51dbf
--- /dev/null
+++ b/.circleci/verbatim-sources/workflows-pytorch-macos-builds.yml
@@ -0,0 +1,7 @@
+ # Pytorch MacOS builds
+ - pytorch_macos_10_13_py3_build
+ - pytorch_macos_10_13_py3_test:
+ requires:
+ - pytorch_macos_10_13_py3_build
+ - pytorch_macos_10_13_cuda9_2_cudnn7_py3_build
+
diff --git a/.circleci/verbatim-sources/workflows-s3-html.yml b/.circleci/verbatim-sources/workflows-s3-html.yml
new file mode 100644
index 0000000000..6b5fd859d2
--- /dev/null
+++ b/.circleci/verbatim-sources/workflows-s3-html.yml
@@ -0,0 +1,12 @@
+ # Scheduled to run 4 hours after the binary jobs start
+ update_s3_htmls:
+ triggers:
+ - schedule:
+ cron: "0 9 * * *"
+ filters:
+ branches:
+ only:
+ - master
+ jobs:
+ - update_s3_htmls:
+ context: org-member
diff --git a/.circleci/verbatim-sources/workflows.yml b/.circleci/verbatim-sources/workflows.yml
new file mode 100644
index 0000000000..82faa7db01
--- /dev/null
+++ b/.circleci/verbatim-sources/workflows.yml
@@ -0,0 +1,12 @@
+
+##############################################################################
+##############################################################################
+# Workflows
+##############################################################################
+##############################################################################
+
+# PR jobs pr builds
+workflows:
+ version: 2
+ build:
+ jobs:
diff --git a/.travis.yml b/.travis.yml
index 6ab8d49646..25736f87bc 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -15,6 +15,11 @@ matrix:
- name: "Ensure consistent CircleCI YAML"
python: "3.6"
dist: xenial
+ install:
+ - sudo add-apt-repository universe
+ - sudo apt update
+ - sudo apt install graphviz
+ - pip3 install pygraphviz
script: cd .circleci && ./ensure-consistency.sh
- name: "Python 2.7 Lint"
python: "2.7"