Revert D21517822: [pytorch][PR] [RELAND] .circleci: Improve docker image build workflow

Test Plan: revert-hammer

Differential Revision:
D21517822

Original commit changeset: 5f705f6c617c

fbshipit-source-id: a7ee422abdb1e966c267f62c45c73f4b4cb45b57
This commit is contained in:
Natalia Gimelshein 2020-05-11 20:08:46 -07:00 committed by Facebook GitHub Bot
parent bf499cccb6
commit 6e66e8562f
15 changed files with 227 additions and 337 deletions

View File

@ -11,6 +11,11 @@ from typing import List, Optional
DOCKER_IMAGE_PATH_BASE = "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/" DOCKER_IMAGE_PATH_BASE = "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/"
# ARE YOU EDITING THIS NUMBER? MAKE SURE YOU READ THE GUIDANCE AT THE
# TOP OF .circleci/config.yml
DOCKER_IMAGE_VERSION = "9a3986fa-7ce7-4a36-a001-3c9bef9892e2"
@dataclass @dataclass
class Conf: class Conf:
distro: str distro: str
@ -55,14 +60,11 @@ class Conf:
return result return result
def gen_docker_image_path(self): def gen_docker_image_path(self):
return miniutils.quote(
DOCKER_IMAGE_PATH_BASE + self.gen_docker_image_name()
)
def gen_docker_image_name(self):
parms_source = self.parent_build or self parms_source = self.parent_build or self
base_build_env_name = "-".join(parms_source.get_parms(True)) base_build_env_name = "-".join(parms_source.get_parms(True))
return base_build_env_name
return miniutils.quote(DOCKER_IMAGE_PATH_BASE + base_build_env_name + ":" + str(DOCKER_IMAGE_VERSION))
def get_build_job_name_pieces(self, build_or_test): def get_build_job_name_pieces(self, build_or_test):
return self.get_parms(False) + [build_or_test] return self.get_parms(False) + [build_or_test]
@ -95,9 +97,6 @@ class Conf:
job_def["name"] = self.gen_build_name(phase) job_def["name"] = self.gen_build_name(phase)
job_def["requires"] = ["setup"] job_def["requires"] = ["setup"]
if phase == "build":
job_def["requires"].append(miniutils.quote("docker-" + self.gen_docker_image_name()))
if phase == "test": if phase == "test":
# TODO When merging the caffe2 and pytorch jobs, it might be convenient for a while to make a # TODO When merging the caffe2 and pytorch jobs, it might be convenient for a while to make a

View File

@ -39,21 +39,6 @@ commands:
name: Attaching workspace name: Attaching workspace
at: ~/workspace at: ~/workspace
# Must be run after attaching workspace from previous steps
load_shared_env:
description: "Loads .circleci/shared/env_file into ${BASH_ENV}"
parameters:
# For some weird reason we decide to reattach our workspace to ~/workspace so
# in the vein of making it simple let's assume our share env_file is here
root:
type: string
default: "~/workspace"
steps:
- run:
name: "Load .circleci/shared/env_file into ${BASH_ENV}"
command: |
cat << parameters.root >>/.circleci/shared/env_file >> ${BASH_ENV}
# This system setup script is meant to run before the CI-related scripts, e.g., # This system setup script is meant to run before the CI-related scripts, e.g.,
# installing Git client, checking out code, setting up CI env, and # installing Git client, checking out code, setting up CI env, and
# building/testing. # building/testing.
@ -416,7 +401,6 @@ jobs:
steps: steps:
# See Note [Workspace for CircleCI scripts] in job-specs-setup.yml # See Note [Workspace for CircleCI scripts] in job-specs-setup.yml
- attach_scripts - attach_scripts
- load_shared_env
- setup_linux_system_environment - setup_linux_system_environment
- checkout - checkout
- optional_merge_target_branch - optional_merge_target_branch
@ -427,9 +411,9 @@ jobs:
command: | command: |
set -e set -e
# Pull Docker image and run build # Pull Docker image and run build
echo "DOCKER_IMAGE: "${DOCKER_IMAGE}:${DOCKER_TAG} echo "DOCKER_IMAGE: "${DOCKER_IMAGE}
time docker pull ${DOCKER_IMAGE}:${DOCKER_TAG} >/dev/null time docker pull ${DOCKER_IMAGE} >/dev/null
export id=$(docker run --cap-add=SYS_PTRACE --security-opt seccomp=unconfined --cap-add=SYS_PTRACE --security-opt seccomp=unconfined -t -d -w /var/lib/jenkins ${DOCKER_IMAGE}:${DOCKER_TAG}) export id=$(docker run --cap-add=SYS_PTRACE --security-opt seccomp=unconfined --cap-add=SYS_PTRACE --security-opt seccomp=unconfined -t -d -w /var/lib/jenkins ${DOCKER_IMAGE})
git submodule sync && git submodule update -q --init --recursive git submodule sync && git submodule update -q --init --recursive
@ -452,7 +436,7 @@ jobs:
# The xla build uses the same docker image as # The xla build uses the same docker image as
# pytorch-linux-trusty-py3.6-gcc5.4-build. In the push step, we have to # pytorch-linux-trusty-py3.6-gcc5.4-build. In the push step, we have to
# distinguish between them so the test can pick up the correct image. # distinguish between them so the test can pick up the correct image.
output_image=${DOCKER_IMAGE}:${DOCKER_TAG}-${CIRCLE_SHA1} output_image=${DOCKER_IMAGE}-${CIRCLE_SHA1}
if [[ ${BUILD_ENVIRONMENT} == *"xla"* ]]; then if [[ ${BUILD_ENVIRONMENT} == *"xla"* ]]; then
export COMMIT_DOCKER_IMAGE=$output_image-xla export COMMIT_DOCKER_IMAGE=$output_image-xla
elif [[ ${BUILD_ENVIRONMENT} == *"libtorch"* ]]; then elif [[ ${BUILD_ENVIRONMENT} == *"libtorch"* ]]; then
@ -479,7 +463,6 @@ jobs:
steps: steps:
# See Note [Workspace for CircleCI scripts] in job-specs-setup.yml # See Note [Workspace for CircleCI scripts] in job-specs-setup.yml
- attach_scripts - attach_scripts
- load_shared_env
- setup_linux_system_environment - setup_linux_system_environment
- setup_ci_environment - setup_ci_environment
- run: - run:
@ -488,7 +471,7 @@ jobs:
command: | command: |
set -e set -e
# See Note [Special build images] # See Note [Special build images]
output_image=${DOCKER_IMAGE}:${DOCKER_TAG}-${CIRCLE_SHA1} output_image=${DOCKER_IMAGE}-${CIRCLE_SHA1}
if [[ ${BUILD_ENVIRONMENT} == *"xla"* ]]; then if [[ ${BUILD_ENVIRONMENT} == *"xla"* ]]; then
export COMMIT_DOCKER_IMAGE=$output_image-xla export COMMIT_DOCKER_IMAGE=$output_image-xla
elif [[ ${BUILD_ENVIRONMENT} == *"libtorch"* ]]; then elif [[ ${BUILD_ENVIRONMENT} == *"libtorch"* ]]; then
@ -1296,14 +1279,13 @@ jobs:
environment: environment:
BUILD_ENVIRONMENT: pytorch-python-doc-push BUILD_ENVIRONMENT: pytorch-python-doc-push
# TODO: stop hardcoding this # TODO: stop hardcoding this
DOCKER_IMAGE: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-py3.6-gcc5.4" DOCKER_IMAGE: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-py3.6-gcc5.4:9a3986fa-7ce7-4a36-a001-3c9bef9892e2"
resource_class: large resource_class: large
machine: machine:
image: ubuntu-1604:201903-01 image: ubuntu-1604:201903-01
steps: steps:
# See Note [Workspace for CircleCI scripts] in job-specs-setup.yml # See Note [Workspace for CircleCI scripts] in job-specs-setup.yml
- attach_scripts - attach_scripts
- load_shared_env
- setup_linux_system_environment - setup_linux_system_environment
- setup_ci_environment - setup_ci_environment
- run: - run:
@ -1311,7 +1293,7 @@ jobs:
no_output_timeout: "1h" no_output_timeout: "1h"
command: | command: |
set -ex set -ex
export COMMIT_DOCKER_IMAGE=${DOCKER_IMAGE}:${DOCKER_TAG}-${CIRCLE_SHA1} export COMMIT_DOCKER_IMAGE=${DOCKER_IMAGE}-${CIRCLE_SHA1}
echo "DOCKER_IMAGE: "${COMMIT_DOCKER_IMAGE} echo "DOCKER_IMAGE: "${COMMIT_DOCKER_IMAGE}
time docker pull ${COMMIT_DOCKER_IMAGE} >/dev/null time docker pull ${COMMIT_DOCKER_IMAGE} >/dev/null
export id=$(docker run --cap-add=SYS_PTRACE --security-opt seccomp=unconfined -t -d -w /var/lib/jenkins ${COMMIT_DOCKER_IMAGE}) export id=$(docker run --cap-add=SYS_PTRACE --security-opt seccomp=unconfined -t -d -w /var/lib/jenkins ${COMMIT_DOCKER_IMAGE})
@ -1348,14 +1330,13 @@ jobs:
pytorch_cpp_doc_push: pytorch_cpp_doc_push:
environment: environment:
BUILD_ENVIRONMENT: pytorch-cpp-doc-push BUILD_ENVIRONMENT: pytorch-cpp-doc-push
DOCKER_IMAGE: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-py3.6-gcc5.4" DOCKER_IMAGE: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-py3.6-gcc5.4:9a3986fa-7ce7-4a36-a001-3c9bef9892e2"
resource_class: large resource_class: large
machine: machine:
image: ubuntu-1604:201903-01 image: ubuntu-1604:201903-01
steps: steps:
# See Note [Workspace for CircleCI scripts] in job-specs-setup.yml # See Note [Workspace for CircleCI scripts] in job-specs-setup.yml
- attach_scripts - attach_scripts
- load_shared_env
- setup_linux_system_environment - setup_linux_system_environment
- setup_ci_environment - setup_ci_environment
- run: - run:
@ -1363,7 +1344,7 @@ jobs:
no_output_timeout: "1h" no_output_timeout: "1h"
command: | command: |
set -ex set -ex
export COMMIT_DOCKER_IMAGE=${DOCKER_IMAGE}:${DOCKER_TAG}-${CIRCLE_SHA1} export COMMIT_DOCKER_IMAGE=${DOCKER_IMAGE}-${CIRCLE_SHA1}
echo "DOCKER_IMAGE: "${COMMIT_DOCKER_IMAGE} echo "DOCKER_IMAGE: "${COMMIT_DOCKER_IMAGE}
time docker pull ${COMMIT_DOCKER_IMAGE} >/dev/null time docker pull ${COMMIT_DOCKER_IMAGE} >/dev/null
export id=$(docker run --cap-add=SYS_PTRACE --security-opt seccomp=unconfined -t -d -w /var/lib/jenkins ${COMMIT_DOCKER_IMAGE}) export id=$(docker run --cap-add=SYS_PTRACE --security-opt seccomp=unconfined -t -d -w /var/lib/jenkins ${COMMIT_DOCKER_IMAGE})
@ -1459,7 +1440,7 @@ jobs:
pytorch_android_gradle_build: pytorch_android_gradle_build:
environment: environment:
BUILD_ENVIRONMENT: pytorch-linux-xenial-py3-clang5-android-ndk-r19c-gradle-build BUILD_ENVIRONMENT: pytorch-linux-xenial-py3-clang5-android-ndk-r19c-gradle-build
DOCKER_IMAGE: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-py3-clang5-android-ndk-r19c" DOCKER_IMAGE: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-py3-clang5-android-ndk-r19c:9a3986fa-7ce7-4a36-a001-3c9bef9892e2"
PYTHON_VERSION: "3.6" PYTHON_VERSION: "3.6"
resource_class: large resource_class: large
machine: machine:
@ -1474,7 +1455,7 @@ jobs:
no_output_timeout: "1h" no_output_timeout: "1h"
command: | command: |
set -eux set -eux
docker_image_commit=${DOCKER_IMAGE}:${DOCKER_TAG}-${CIRCLE_SHA1} docker_image_commit=${DOCKER_IMAGE}-${CIRCLE_SHA1}
docker_image_libtorch_android_x86_32=${docker_image_commit}-android-x86_32 docker_image_libtorch_android_x86_32=${docker_image_commit}-android-x86_32
docker_image_libtorch_android_x86_64=${docker_image_commit}-android-x86_64 docker_image_libtorch_android_x86_64=${docker_image_commit}-android-x86_64
@ -1545,14 +1526,13 @@ jobs:
pytorch_android_publish_snapshot: pytorch_android_publish_snapshot:
environment: environment:
BUILD_ENVIRONMENT: pytorch-linux-xenial-py3-clang5-android-ndk-r19c-gradle-publish-snapshot BUILD_ENVIRONMENT: pytorch-linux-xenial-py3-clang5-android-ndk-r19c-gradle-publish-snapshot
DOCKER_IMAGE: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-py3-clang5-android-ndk-r19c" DOCKER_IMAGE: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-py3-clang5-android-ndk-r19c:9a3986fa-7ce7-4a36-a001-3c9bef9892e2"
PYTHON_VERSION: "3.6" PYTHON_VERSION: "3.6"
resource_class: large resource_class: large
machine: machine:
image: ubuntu-1604:201903-01 image: ubuntu-1604:201903-01
steps: steps:
- attach_scripts - attach_scripts
- load_shared_env
- setup_linux_system_environment - setup_linux_system_environment
- checkout - checkout
- setup_ci_environment - setup_ci_environment
@ -1561,7 +1541,7 @@ jobs:
no_output_timeout: "1h" no_output_timeout: "1h"
command: | command: |
set -eux set -eux
docker_image_commit=${DOCKER_IMAGE}:${DOCKER_TAG}-${CIRCLE_SHA1} docker_image_commit=${DOCKER_IMAGE}-${CIRCLE_SHA1}
docker_image_libtorch_android_x86_32_gradle=${docker_image_commit}-android-x86_32-gradle docker_image_libtorch_android_x86_32_gradle=${docker_image_commit}-android-x86_32-gradle
@ -1582,14 +1562,13 @@ jobs:
pytorch_android_gradle_build-x86_32: pytorch_android_gradle_build-x86_32:
environment: environment:
BUILD_ENVIRONMENT: pytorch-linux-xenial-py3-clang5-android-ndk-r19c-gradle-build-only-x86_32 BUILD_ENVIRONMENT: pytorch-linux-xenial-py3-clang5-android-ndk-r19c-gradle-build-only-x86_32
DOCKER_IMAGE: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-py3-clang5-android-ndk-r19c" DOCKER_IMAGE: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-py3-clang5-android-ndk-r19c:9a3986fa-7ce7-4a36-a001-3c9bef9892e2"
PYTHON_VERSION: "3.6" PYTHON_VERSION: "3.6"
resource_class: large resource_class: large
machine: machine:
image: ubuntu-1604:201903-01 image: ubuntu-1604:201903-01
steps: steps:
- attach_scripts - attach_scripts
- load_shared_env
- run: - run:
name: filter out not PR runs name: filter out not PR runs
no_output_timeout: "5m" no_output_timeout: "5m"
@ -1606,7 +1585,7 @@ jobs:
no_output_timeout: "1h" no_output_timeout: "1h"
command: | command: |
set -e set -e
docker_image_libtorch_android_x86_32=${DOCKER_IMAGE}:${DOCKER_TAG}-${CIRCLE_SHA1}-android-x86_32 docker_image_libtorch_android_x86_32=${DOCKER_IMAGE}-${CIRCLE_SHA1}-android-x86_32
echo "docker_image_libtorch_android_x86_32: "${docker_image_libtorch_android_x86_32} echo "docker_image_libtorch_android_x86_32: "${docker_image_libtorch_android_x86_32}
# x86 # x86
@ -1751,7 +1730,6 @@ jobs:
steps: steps:
# See Note [Workspace for CircleCI scripts] in job-specs-setup.yml # See Note [Workspace for CircleCI scripts] in job-specs-setup.yml
- attach_scripts - attach_scripts
- load_shared_env
- setup_linux_system_environment - setup_linux_system_environment
- checkout - checkout
- setup_ci_environment - setup_ci_environment
@ -1761,9 +1739,9 @@ jobs:
command: | command: |
set -e set -e
# Pull Docker image and run build # Pull Docker image and run build
echo "DOCKER_IMAGE: "${DOCKER_IMAGE}:${DOCKER_TAG} echo "DOCKER_IMAGE: "${DOCKER_IMAGE}
time docker pull ${DOCKER_IMAGE}:${DOCKER_TAG} >/dev/null time docker pull ${DOCKER_IMAGE} >/dev/null
export id=$(docker run --cap-add=SYS_PTRACE --security-opt seccomp=unconfined --cap-add=SYS_PTRACE --security-opt seccomp=unconfined -t -d -w /var/lib/jenkins ${DOCKER_IMAGE}:${DOCKER_TAG}) export id=$(docker run --cap-add=SYS_PTRACE --security-opt seccomp=unconfined --cap-add=SYS_PTRACE --security-opt seccomp=unconfined -t -d -w /var/lib/jenkins ${DOCKER_IMAGE})
echo "Do NOT merge master branch into $CIRCLE_BRANCH in environment $BUILD_ENVIRONMENT" echo "Do NOT merge master branch into $CIRCLE_BRANCH in environment $BUILD_ENVIRONMENT"
@ -1778,7 +1756,7 @@ jobs:
# Push intermediate Docker image for next phase to use # Push intermediate Docker image for next phase to use
if [ -z "${BUILD_ONLY}" ]; then if [ -z "${BUILD_ONLY}" ]; then
# Augment our output image name with bazel to avoid collisions # Augment our output image name with bazel to avoid collisions
output_image=${DOCKER_IMAGE}:${DOCKER_TAG}-bazel-${CIRCLE_SHA1} output_image=${DOCKER_IMAGE}-bazel-${CIRCLE_SHA1}
export COMMIT_DOCKER_IMAGE=$output_image export COMMIT_DOCKER_IMAGE=$output_image
docker commit "$id" ${COMMIT_DOCKER_IMAGE} docker commit "$id" ${COMMIT_DOCKER_IMAGE}
time docker push ${COMMIT_DOCKER_IMAGE} time docker push ${COMMIT_DOCKER_IMAGE}
@ -1791,7 +1769,6 @@ jobs:
steps: steps:
# See Note [Workspace for CircleCI scripts] in job-specs-setup.yml # See Note [Workspace for CircleCI scripts] in job-specs-setup.yml
- attach_scripts - attach_scripts
- load_shared_env
- setup_linux_system_environment - setup_linux_system_environment
- setup_ci_environment - setup_ci_environment
- run: - run:
@ -1799,7 +1776,7 @@ jobs:
no_output_timeout: "90m" no_output_timeout: "90m"
command: | command: |
set -e set -e
output_image=${DOCKER_IMAGE}:${DOCKER_TAG}-bazel-${CIRCLE_SHA1} output_image=${DOCKER_IMAGE}-bazel-${CIRCLE_SHA1}
export COMMIT_DOCKER_IMAGE=$output_image export COMMIT_DOCKER_IMAGE=$output_image
echo "DOCKER_IMAGE: "${COMMIT_DOCKER_IMAGE} echo "DOCKER_IMAGE: "${COMMIT_DOCKER_IMAGE}
@ -1832,14 +1809,14 @@ jobs:
pytorch_doc_test: pytorch_doc_test:
environment: environment:
BUILD_ENVIRONMENT: pytorch-doc-test BUILD_ENVIRONMENT: pytorch-doc-test
DOCKER_IMAGE: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-py3.6-gcc5.4" # TODO: stop hardcoding this
DOCKER_IMAGE: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-py3.6-gcc5.4:9a3986fa-7ce7-4a36-a001-3c9bef9892e2"
resource_class: medium resource_class: medium
machine: machine:
image: ubuntu-1604:201903-01 image: ubuntu-1604:201903-01
steps: steps:
# See Note [Workspace for CircleCI scripts] in job-specs-setup.yml # See Note [Workspace for CircleCI scripts] in job-specs-setup.yml
- attach_scripts - attach_scripts
- load_shared_env
- setup_linux_system_environment - setup_linux_system_environment
- setup_ci_environment - setup_ci_environment
- run: - run:
@ -1847,7 +1824,7 @@ jobs:
no_output_timeout: "30m" no_output_timeout: "30m"
command: | command: |
set -ex set -ex
export COMMIT_DOCKER_IMAGE=${DOCKER_IMAGE}:${DOCKER_TAG}-${CIRCLE_SHA1} export COMMIT_DOCKER_IMAGE=${DOCKER_IMAGE}-${CIRCLE_SHA1}
echo "DOCKER_IMAGE: "${COMMIT_DOCKER_IMAGE} echo "DOCKER_IMAGE: "${COMMIT_DOCKER_IMAGE}
time docker pull ${COMMIT_DOCKER_IMAGE} >/dev/null time docker pull ${COMMIT_DOCKER_IMAGE} >/dev/null
export id=$(docker run --cap-add=SYS_PTRACE --security-opt seccomp=unconfined -t -d -w /var/lib/jenkins ${COMMIT_DOCKER_IMAGE}) export id=$(docker run --cap-add=SYS_PTRACE --security-opt seccomp=unconfined -t -d -w /var/lib/jenkins ${COMMIT_DOCKER_IMAGE})
@ -1991,45 +1968,8 @@ jobs:
resource_class: large resource_class: large
environment: environment:
IMAGE_NAME: << parameters.image_name >> IMAGE_NAME: << parameters.image_name >>
# Enable 'docker manifest'
DOCKER_CLI_EXPERIMENTAL: "enabled"
DOCKER_BUILDKIT: 1
steps: steps:
- checkout - checkout
- run:
name: Calculate docker tag
command: |
set -x
mkdir .circleci/shared
# git keeps a hash of all sub trees
echo "export DOCKER_TAG=$(git rev-parse HEAD:.circleci/docker)" >> .circleci/shared/env_file
# Saves our calculated docker tag to our workpace for later use
- persist_to_workspace:
root: .
paths:
- .circleci/shared/
- load_shared_env:
root: .
- run:
name: Check if image should be built
command: |
set +x
export AWS_ACCESS_KEY_ID=${CIRCLECI_AWS_ACCESS_KEY_FOR_DOCKER_BUILDER_V1}
export AWS_SECRET_ACCESS_KEY=${CIRCLECI_AWS_SECRET_KEY_FOR_DOCKER_BUILDER_V1}
eval $(aws ecr get-login --no-include-email --region us-east-1)
set -x
# Check if image already exists, if it does then skip building it
if docker manifest inspect "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/${IMAGE_NAME}:${DOCKER_TAG}"; then
circleci-agent step halt
fi
PREVIOUS_DOCKER_TAG=$(git rev-parse "$(git merge-base HEAD << pipeline.git.base_revision >>):.circleci/docker")
# If no image exists but the hash is the same as the previous hash then we should error out here
# no stampeding herd effect plz.
if [[ ${PREVIOUS_DOCKER_TAG} = ${DOCKER_TAG} ]]; then
echo "ERROR: Something has gone wrong and the previous image isn't available for the merge-base of your branch"
echo " contact the PyTorch team to restore the original images"
exit 1
fi
- run: - run:
name: build_docker_image_<< parameters.image_name >> name: build_docker_image_<< parameters.image_name >>
no_output_timeout: "1h" no_output_timeout: "1h"
@ -2038,9 +1978,7 @@ jobs:
export AWS_ACCESS_KEY_ID=${CIRCLECI_AWS_ACCESS_KEY_FOR_DOCKER_BUILDER_V1} export AWS_ACCESS_KEY_ID=${CIRCLECI_AWS_ACCESS_KEY_FOR_DOCKER_BUILDER_V1}
export AWS_SECRET_ACCESS_KEY=${CIRCLECI_AWS_SECRET_KEY_FOR_DOCKER_BUILDER_V1} export AWS_SECRET_ACCESS_KEY=${CIRCLECI_AWS_SECRET_KEY_FOR_DOCKER_BUILDER_V1}
set -x set -x
source .circleci/shared/env_file
cd .circleci/docker && ./build_docker.sh cd .circleci/docker && ./build_docker.sh
docker_for_ecr_gc_build_job: docker_for_ecr_gc_build_job:
machine: machine:
image: ubuntu-1604:201903-01 image: ubuntu-1604:201903-01
@ -2067,25 +2005,14 @@ jobs:
type: string type: string
environment: environment:
PROJECT: << parameters.project >> PROJECT: << parameters.project >>
# TODO: Remove legacy image tags once we feel comfortable with new docker image tags
IMAGE_TAG: << parameters.tags_to_keep >> IMAGE_TAG: << parameters.tags_to_keep >>
docker: docker:
- image: 308535385114.dkr.ecr.us-east-1.amazonaws.com/gc/ecr - image: 308535385114.dkr.ecr.us-east-1.amazonaws.com/gc/ecr
aws_auth: aws_auth:
aws_access_key_id: ${CIRCLECI_AWS_ACCESS_KEY_FOR_DOCKER_BUILDER_V1} aws_access_key_id: ${CIRCLECI_AWS_ACCESS_KEY_FOR_DOCKER_BUILDER_V1}
aws_secret_access_key: ${CIRCLECI_AWS_SECRET_KEY_FOR_DOCKER_BUILDER_V1} aws_secret_access_key: ${CIRCLECI_AWS_SECRET_KEY_FOR_DOCKER_BUILDER_V1}
steps: steps:
- checkout
- run:
# NOTE: see 'docker_build_job' for how these tags actually get built
name: dynamically generate tags to keep
no_output_timeout: "1h"
command: |
GENERATED_IMAGE_TAG=$(\
git log --oneline --pretty='%H' .circleci/docker \
| xargs -I '{}' git rev-parse '{}:.circleci/docker' \
| paste -sd "," -)
echo "export GENERATED_IMAGE_TAG='${GENERATED_IMAGE_TAG}'" >> ${BASH_ENV}
- run: - run:
name: garbage collecting for ecr images name: garbage collecting for ecr images
no_output_timeout: "1h" no_output_timeout: "1h"
@ -2094,7 +2021,7 @@ jobs:
export AWS_ACCESS_KEY_ID=${CIRCLECI_AWS_ACCESS_KEY_FOR_DOCKER_BUILDER_V1} export AWS_ACCESS_KEY_ID=${CIRCLECI_AWS_ACCESS_KEY_FOR_DOCKER_BUILDER_V1}
export AWS_SECRET_ACCESS_KEY=${CIRCLECI_AWS_SECRET_KEY_FOR_DOCKER_BUILDER_V1} export AWS_SECRET_ACCESS_KEY=${CIRCLECI_AWS_SECRET_KEY_FOR_DOCKER_BUILDER_V1}
set -x set -x
/usr/bin/gc.py --filter-prefix ${PROJECT} --ignore-tags "${IMAGE_TAG},${GENERATED_IMAGE_TAG}" /usr/bin/gc.py --filter-prefix ${PROJECT} --ignore-tags ${IMAGE_TAG}
docker_hub_index_job: docker_hub_index_job:
docker: docker:
@ -2471,7 +2398,6 @@ workflows:
name: pytorch_linux_xenial_pynightly_build name: pytorch_linux_xenial_pynightly_build
requires: requires:
- setup - setup
- "docker-pytorch-linux-xenial-pynightly"
filters: filters:
branches: branches:
only: only:
@ -2479,7 +2405,7 @@ workflows:
- /ci-all\/.*/ - /ci-all\/.*/
- /release\/.*/ - /release\/.*/
build_environment: "pytorch-linux-xenial-pynightly-build" build_environment: "pytorch-linux-xenial-pynightly-build"
docker_image: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-pynightly" docker_image: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-pynightly:9a3986fa-7ce7-4a36-a001-3c9bef9892e2"
- pytorch_linux_test: - pytorch_linux_test:
name: pytorch_linux_xenial_pynightly_test name: pytorch_linux_xenial_pynightly_test
requires: requires:
@ -2492,22 +2418,21 @@ workflows:
- /ci-all\/.*/ - /ci-all\/.*/
- /release\/.*/ - /release\/.*/
build_environment: "pytorch-linux-xenial-pynightly-test" build_environment: "pytorch-linux-xenial-pynightly-test"
docker_image: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-pynightly" docker_image: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-pynightly:9a3986fa-7ce7-4a36-a001-3c9bef9892e2"
resource_class: large resource_class: large
- pytorch_linux_build: - pytorch_linux_build:
name: pytorch_linux_xenial_py3_6_gcc5_4_build name: pytorch_linux_xenial_py3_6_gcc5_4_build
requires: requires:
- setup - setup
- "docker-pytorch-linux-xenial-py3.6-gcc5.4"
build_environment: "pytorch-linux-xenial-py3.6-gcc5.4-build" build_environment: "pytorch-linux-xenial-py3.6-gcc5.4-build"
docker_image: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-py3.6-gcc5.4" docker_image: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-py3.6-gcc5.4:9a3986fa-7ce7-4a36-a001-3c9bef9892e2"
- pytorch_linux_test: - pytorch_linux_test:
name: pytorch_linux_xenial_py3_6_gcc5_4_test name: pytorch_linux_xenial_py3_6_gcc5_4_test
requires: requires:
- setup - setup
- pytorch_linux_xenial_py3_6_gcc5_4_build - pytorch_linux_xenial_py3_6_gcc5_4_build
build_environment: "pytorch-linux-xenial-py3.6-gcc5.4-test" build_environment: "pytorch-linux-xenial-py3.6-gcc5.4-test"
docker_image: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-py3.6-gcc5.4" docker_image: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-py3.6-gcc5.4:9a3986fa-7ce7-4a36-a001-3c9bef9892e2"
resource_class: large resource_class: large
- pytorch_python_doc_push: - pytorch_python_doc_push:
requires: requires:
@ -2524,13 +2449,12 @@ workflows:
- setup - setup
- pytorch_linux_xenial_py3_6_gcc5_4_build - pytorch_linux_xenial_py3_6_gcc5_4_build
build_environment: "pytorch-linux-backward-compatibility-check-test" build_environment: "pytorch-linux-backward-compatibility-check-test"
docker_image: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-py3.6-gcc5.4" docker_image: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-py3.6-gcc5.4:9a3986fa-7ce7-4a36-a001-3c9bef9892e2"
resource_class: large resource_class: large
- pytorch_linux_build: - pytorch_linux_build:
name: pytorch_paralleltbb_linux_xenial_py3_6_gcc5_4_build name: pytorch_paralleltbb_linux_xenial_py3_6_gcc5_4_build
requires: requires:
- setup - setup
- "docker-pytorch-linux-xenial-py3.6-gcc5.4"
filters: filters:
branches: branches:
only: only:
@ -2538,7 +2462,7 @@ workflows:
- /ci-all\/.*/ - /ci-all\/.*/
- /release\/.*/ - /release\/.*/
build_environment: "pytorch-paralleltbb-linux-xenial-py3.6-gcc5.4-build" build_environment: "pytorch-paralleltbb-linux-xenial-py3.6-gcc5.4-build"
docker_image: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-py3.6-gcc5.4" docker_image: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-py3.6-gcc5.4:9a3986fa-7ce7-4a36-a001-3c9bef9892e2"
- pytorch_linux_test: - pytorch_linux_test:
name: pytorch_paralleltbb_linux_xenial_py3_6_gcc5_4_test name: pytorch_paralleltbb_linux_xenial_py3_6_gcc5_4_test
requires: requires:
@ -2551,13 +2475,12 @@ workflows:
- /ci-all\/.*/ - /ci-all\/.*/
- /release\/.*/ - /release\/.*/
build_environment: "pytorch-paralleltbb-linux-xenial-py3.6-gcc5.4-test" build_environment: "pytorch-paralleltbb-linux-xenial-py3.6-gcc5.4-test"
docker_image: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-py3.6-gcc5.4" docker_image: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-py3.6-gcc5.4:9a3986fa-7ce7-4a36-a001-3c9bef9892e2"
resource_class: large resource_class: large
- pytorch_linux_build: - pytorch_linux_build:
name: pytorch_parallelnative_linux_xenial_py3_6_gcc5_4_build name: pytorch_parallelnative_linux_xenial_py3_6_gcc5_4_build
requires: requires:
- setup - setup
- "docker-pytorch-linux-xenial-py3.6-gcc5.4"
filters: filters:
branches: branches:
only: only:
@ -2565,7 +2488,7 @@ workflows:
- /ci-all\/.*/ - /ci-all\/.*/
- /release\/.*/ - /release\/.*/
build_environment: "pytorch-parallelnative-linux-xenial-py3.6-gcc5.4-build" build_environment: "pytorch-parallelnative-linux-xenial-py3.6-gcc5.4-build"
docker_image: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-py3.6-gcc5.4" docker_image: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-py3.6-gcc5.4:9a3986fa-7ce7-4a36-a001-3c9bef9892e2"
- pytorch_linux_test: - pytorch_linux_test:
name: pytorch_parallelnative_linux_xenial_py3_6_gcc5_4_test name: pytorch_parallelnative_linux_xenial_py3_6_gcc5_4_test
requires: requires:
@ -2578,13 +2501,12 @@ workflows:
- /ci-all\/.*/ - /ci-all\/.*/
- /release\/.*/ - /release\/.*/
build_environment: "pytorch-parallelnative-linux-xenial-py3.6-gcc5.4-test" build_environment: "pytorch-parallelnative-linux-xenial-py3.6-gcc5.4-test"
docker_image: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-py3.6-gcc5.4" docker_image: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-py3.6-gcc5.4:9a3986fa-7ce7-4a36-a001-3c9bef9892e2"
resource_class: large resource_class: large
- pytorch_linux_build: - pytorch_linux_build:
name: pytorch_linux_xenial_py3_6_gcc7_build name: pytorch_linux_xenial_py3_6_gcc7_build
requires: requires:
- setup - setup
- "docker-pytorch-linux-xenial-py3.6-gcc7"
filters: filters:
branches: branches:
only: only:
@ -2592,7 +2514,7 @@ workflows:
- /ci-all\/.*/ - /ci-all\/.*/
- /release\/.*/ - /release\/.*/
build_environment: "pytorch-linux-xenial-py3.6-gcc7-build" build_environment: "pytorch-linux-xenial-py3.6-gcc7-build"
docker_image: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-py3.6-gcc7" docker_image: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-py3.6-gcc7:9a3986fa-7ce7-4a36-a001-3c9bef9892e2"
- pytorch_linux_test: - pytorch_linux_test:
name: pytorch_linux_xenial_py3_6_gcc7_test name: pytorch_linux_xenial_py3_6_gcc7_test
requires: requires:
@ -2605,28 +2527,26 @@ workflows:
- /ci-all\/.*/ - /ci-all\/.*/
- /release\/.*/ - /release\/.*/
build_environment: "pytorch-linux-xenial-py3.6-gcc7-test" build_environment: "pytorch-linux-xenial-py3.6-gcc7-test"
docker_image: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-py3.6-gcc7" docker_image: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-py3.6-gcc7:9a3986fa-7ce7-4a36-a001-3c9bef9892e2"
resource_class: large resource_class: large
- pytorch_linux_build: - pytorch_linux_build:
name: pytorch_linux_xenial_py3_clang5_asan_build name: pytorch_linux_xenial_py3_clang5_asan_build
requires: requires:
- setup - setup
- "docker-pytorch-linux-xenial-py3-clang5-asan"
build_environment: "pytorch-linux-xenial-py3-clang5-asan-build" build_environment: "pytorch-linux-xenial-py3-clang5-asan-build"
docker_image: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-py3-clang5-asan" docker_image: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-py3-clang5-asan:9a3986fa-7ce7-4a36-a001-3c9bef9892e2"
- pytorch_linux_test: - pytorch_linux_test:
name: pytorch_linux_xenial_py3_clang5_asan_test name: pytorch_linux_xenial_py3_clang5_asan_test
requires: requires:
- setup - setup
- pytorch_linux_xenial_py3_clang5_asan_build - pytorch_linux_xenial_py3_clang5_asan_build
build_environment: "pytorch-linux-xenial-py3-clang5-asan-test" build_environment: "pytorch-linux-xenial-py3-clang5-asan-test"
docker_image: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-py3-clang5-asan" docker_image: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-py3-clang5-asan:9a3986fa-7ce7-4a36-a001-3c9bef9892e2"
resource_class: large resource_class: large
- pytorch_linux_build: - pytorch_linux_build:
name: pytorch_linux_xenial_cuda9_2_cudnn7_py3_gcc7_build name: pytorch_linux_xenial_cuda9_2_cudnn7_py3_gcc7_build
requires: requires:
- setup - setup
- "docker-pytorch-linux-xenial-cuda9.2-cudnn7-py3-gcc7"
filters: filters:
branches: branches:
only: only:
@ -2634,7 +2554,7 @@ workflows:
- /ci-all\/.*/ - /ci-all\/.*/
- /release\/.*/ - /release\/.*/
build_environment: "pytorch-linux-xenial-cuda9.2-cudnn7-py3-gcc7-build" build_environment: "pytorch-linux-xenial-cuda9.2-cudnn7-py3-gcc7-build"
docker_image: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-cuda9.2-cudnn7-py3-gcc7" docker_image: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-cuda9.2-cudnn7-py3-gcc7:9a3986fa-7ce7-4a36-a001-3c9bef9892e2"
- pytorch_linux_test: - pytorch_linux_test:
name: pytorch_linux_xenial_cuda9_2_cudnn7_py3_gcc7_test name: pytorch_linux_xenial_cuda9_2_cudnn7_py3_gcc7_test
requires: requires:
@ -2647,14 +2567,13 @@ workflows:
- /ci-all\/.*/ - /ci-all\/.*/
- /release\/.*/ - /release\/.*/
build_environment: "pytorch-linux-xenial-cuda9.2-cudnn7-py3-gcc7-test" build_environment: "pytorch-linux-xenial-cuda9.2-cudnn7-py3-gcc7-test"
docker_image: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-cuda9.2-cudnn7-py3-gcc7" docker_image: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-cuda9.2-cudnn7-py3-gcc7:9a3986fa-7ce7-4a36-a001-3c9bef9892e2"
use_cuda_docker_runtime: "1" use_cuda_docker_runtime: "1"
resource_class: gpu.medium resource_class: gpu.medium
- pytorch_linux_build: - pytorch_linux_build:
name: pytorch_linux_xenial_cuda10_1_cudnn7_py3_gcc7_build name: pytorch_linux_xenial_cuda10_1_cudnn7_py3_gcc7_build
requires: requires:
- setup - setup
- "docker-pytorch-linux-xenial-cuda10.1-cudnn7-py3-gcc7"
filters: filters:
branches: branches:
only: only:
@ -2662,7 +2581,7 @@ workflows:
- /ci-all\/.*/ - /ci-all\/.*/
- /release\/.*/ - /release\/.*/
build_environment: "pytorch-linux-xenial-cuda10.1-cudnn7-py3-gcc7-build" build_environment: "pytorch-linux-xenial-cuda10.1-cudnn7-py3-gcc7-build"
docker_image: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-cuda10.1-cudnn7-py3-gcc7" docker_image: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-cuda10.1-cudnn7-py3-gcc7:9a3986fa-7ce7-4a36-a001-3c9bef9892e2"
- pytorch_linux_test: - pytorch_linux_test:
name: pytorch_linux_xenial_cuda10_1_cudnn7_py3_gcc7_test name: pytorch_linux_xenial_cuda10_1_cudnn7_py3_gcc7_test
requires: requires:
@ -2675,7 +2594,7 @@ workflows:
- /ci-all\/.*/ - /ci-all\/.*/
- /release\/.*/ - /release\/.*/
build_environment: "pytorch-linux-xenial-cuda10.1-cudnn7-py3-gcc7-test" build_environment: "pytorch-linux-xenial-cuda10.1-cudnn7-py3-gcc7-test"
docker_image: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-cuda10.1-cudnn7-py3-gcc7" docker_image: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-cuda10.1-cudnn7-py3-gcc7:9a3986fa-7ce7-4a36-a001-3c9bef9892e2"
use_cuda_docker_runtime: "1" use_cuda_docker_runtime: "1"
resource_class: gpu.medium resource_class: gpu.medium
- pytorch_linux_test: - pytorch_linux_test:
@ -2690,7 +2609,7 @@ workflows:
- /ci-all\/.*/ - /ci-all\/.*/
- /release\/.*/ - /release\/.*/
build_environment: "pytorch-linux-xenial-cuda10.1-cudnn7-py3-multigpu-test" build_environment: "pytorch-linux-xenial-cuda10.1-cudnn7-py3-multigpu-test"
docker_image: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-cuda10.1-cudnn7-py3-gcc7" docker_image: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-cuda10.1-cudnn7-py3-gcc7:9a3986fa-7ce7-4a36-a001-3c9bef9892e2"
use_cuda_docker_runtime: "1" use_cuda_docker_runtime: "1"
resource_class: gpu.large resource_class: gpu.large
- pytorch_linux_test: - pytorch_linux_test:
@ -2705,7 +2624,7 @@ workflows:
- /ci-all\/.*/ - /ci-all\/.*/
- /release\/.*/ - /release\/.*/
build_environment: "pytorch-linux-xenial-cuda10.1-cudnn7-py3-NO_AVX2-test" build_environment: "pytorch-linux-xenial-cuda10.1-cudnn7-py3-NO_AVX2-test"
docker_image: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-cuda10.1-cudnn7-py3-gcc7" docker_image: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-cuda10.1-cudnn7-py3-gcc7:9a3986fa-7ce7-4a36-a001-3c9bef9892e2"
use_cuda_docker_runtime: "1" use_cuda_docker_runtime: "1"
resource_class: gpu.medium resource_class: gpu.medium
- pytorch_linux_test: - pytorch_linux_test:
@ -2720,7 +2639,7 @@ workflows:
- /ci-all\/.*/ - /ci-all\/.*/
- /release\/.*/ - /release\/.*/
build_environment: "pytorch-linux-xenial-cuda10.1-cudnn7-py3-NO_AVX-NO_AVX2-test" build_environment: "pytorch-linux-xenial-cuda10.1-cudnn7-py3-NO_AVX-NO_AVX2-test"
docker_image: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-cuda10.1-cudnn7-py3-gcc7" docker_image: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-cuda10.1-cudnn7-py3-gcc7:9a3986fa-7ce7-4a36-a001-3c9bef9892e2"
use_cuda_docker_runtime: "1" use_cuda_docker_runtime: "1"
resource_class: gpu.medium resource_class: gpu.medium
- pytorch_linux_test: - pytorch_linux_test:
@ -2735,7 +2654,7 @@ workflows:
- /ci-all\/.*/ - /ci-all\/.*/
- /release\/.*/ - /release\/.*/
build_environment: "pytorch-linux-xenial-cuda10.1-cudnn7-py3-slow-test" build_environment: "pytorch-linux-xenial-cuda10.1-cudnn7-py3-slow-test"
docker_image: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-cuda10.1-cudnn7-py3-gcc7" docker_image: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-cuda10.1-cudnn7-py3-gcc7:9a3986fa-7ce7-4a36-a001-3c9bef9892e2"
use_cuda_docker_runtime: "1" use_cuda_docker_runtime: "1"
resource_class: gpu.medium resource_class: gpu.medium
- pytorch_linux_test: - pytorch_linux_test:
@ -2750,52 +2669,48 @@ workflows:
- /ci-all\/.*/ - /ci-all\/.*/
- /release\/.*/ - /release\/.*/
build_environment: "pytorch-linux-xenial-cuda10.1-cudnn7-py3-nogpu-test" build_environment: "pytorch-linux-xenial-cuda10.1-cudnn7-py3-nogpu-test"
docker_image: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-cuda10.1-cudnn7-py3-gcc7" docker_image: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-cuda10.1-cudnn7-py3-gcc7:9a3986fa-7ce7-4a36-a001-3c9bef9892e2"
resource_class: large resource_class: large
- pytorch_linux_build: - pytorch_linux_build:
name: pytorch_linux_xenial_cuda10_2_cudnn7_py3_gcc7_build name: pytorch_linux_xenial_cuda10_2_cudnn7_py3_gcc7_build
requires: requires:
- setup - setup
- "docker-pytorch-linux-xenial-cuda10.2-cudnn7-py3-gcc7"
build_environment: "pytorch-linux-xenial-cuda10.2-cudnn7-py3-gcc7-build" build_environment: "pytorch-linux-xenial-cuda10.2-cudnn7-py3-gcc7-build"
docker_image: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-cuda10.2-cudnn7-py3-gcc7" docker_image: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-cuda10.2-cudnn7-py3-gcc7:9a3986fa-7ce7-4a36-a001-3c9bef9892e2"
- pytorch_linux_test: - pytorch_linux_test:
name: pytorch_linux_xenial_cuda10_2_cudnn7_py3_gcc7_test name: pytorch_linux_xenial_cuda10_2_cudnn7_py3_gcc7_test
requires: requires:
- setup - setup
- pytorch_linux_xenial_cuda10_2_cudnn7_py3_gcc7_build - pytorch_linux_xenial_cuda10_2_cudnn7_py3_gcc7_build
build_environment: "pytorch-linux-xenial-cuda10.2-cudnn7-py3-gcc7-test" build_environment: "pytorch-linux-xenial-cuda10.2-cudnn7-py3-gcc7-test"
docker_image: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-cuda10.2-cudnn7-py3-gcc7" docker_image: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-cuda10.2-cudnn7-py3-gcc7:9a3986fa-7ce7-4a36-a001-3c9bef9892e2"
use_cuda_docker_runtime: "1" use_cuda_docker_runtime: "1"
resource_class: gpu.medium resource_class: gpu.medium
- pytorch_linux_build: - pytorch_linux_build:
name: pytorch_libtorch_linux_xenial_cuda10_2_cudnn7_py3_gcc7_build name: pytorch_libtorch_linux_xenial_cuda10_2_cudnn7_py3_gcc7_build
requires: requires:
- setup - setup
- "docker-pytorch-linux-xenial-cuda10.2-cudnn7-py3-gcc7"
build_environment: "pytorch-libtorch-linux-xenial-cuda10.2-cudnn7-py3-gcc7-build" build_environment: "pytorch-libtorch-linux-xenial-cuda10.2-cudnn7-py3-gcc7-build"
docker_image: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-cuda10.2-cudnn7-py3-gcc7" docker_image: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-cuda10.2-cudnn7-py3-gcc7:9a3986fa-7ce7-4a36-a001-3c9bef9892e2"
- pytorch_linux_test: - pytorch_linux_test:
name: pytorch_libtorch_linux_xenial_cuda10_2_cudnn7_py3_gcc7_test name: pytorch_libtorch_linux_xenial_cuda10_2_cudnn7_py3_gcc7_test
requires: requires:
- setup - setup
- pytorch_libtorch_linux_xenial_cuda10_2_cudnn7_py3_gcc7_build - pytorch_libtorch_linux_xenial_cuda10_2_cudnn7_py3_gcc7_build
build_environment: "pytorch-libtorch-linux-xenial-cuda10.2-cudnn7-py3-gcc7-test" build_environment: "pytorch-libtorch-linux-xenial-cuda10.2-cudnn7-py3-gcc7-test"
docker_image: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-cuda10.2-cudnn7-py3-gcc7" docker_image: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-cuda10.2-cudnn7-py3-gcc7:9a3986fa-7ce7-4a36-a001-3c9bef9892e2"
use_cuda_docker_runtime: "1" use_cuda_docker_runtime: "1"
resource_class: gpu.medium resource_class: gpu.medium
- pytorch_linux_build: - pytorch_linux_build:
name: pytorch_linux_xenial_py3_clang5_android_ndk_r19c_x86_32_build name: pytorch_linux_xenial_py3_clang5_android_ndk_r19c_x86_32_build
requires: requires:
- setup - setup
- "docker-pytorch-linux-xenial-py3-clang5-android-ndk-r19c"
build_environment: "pytorch-linux-xenial-py3-clang5-android-ndk-r19c-x86_32-build" build_environment: "pytorch-linux-xenial-py3-clang5-android-ndk-r19c-x86_32-build"
docker_image: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-py3-clang5-android-ndk-r19c" docker_image: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-py3-clang5-android-ndk-r19c:9a3986fa-7ce7-4a36-a001-3c9bef9892e2"
- pytorch_linux_build: - pytorch_linux_build:
name: pytorch_linux_xenial_py3_clang5_android_ndk_r19c_x86_64_build name: pytorch_linux_xenial_py3_clang5_android_ndk_r19c_x86_64_build
requires: requires:
- setup - setup
- "docker-pytorch-linux-xenial-py3-clang5-android-ndk-r19c"
filters: filters:
branches: branches:
only: only:
@ -2803,12 +2718,11 @@ workflows:
- /ci-all\/.*/ - /ci-all\/.*/
- /release\/.*/ - /release\/.*/
build_environment: "pytorch-linux-xenial-py3-clang5-android-ndk-r19c-x86_64-build" build_environment: "pytorch-linux-xenial-py3-clang5-android-ndk-r19c-x86_64-build"
docker_image: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-py3-clang5-android-ndk-r19c" docker_image: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-py3-clang5-android-ndk-r19c:9a3986fa-7ce7-4a36-a001-3c9bef9892e2"
- pytorch_linux_build: - pytorch_linux_build:
name: pytorch_linux_xenial_py3_clang5_android_ndk_r19c_arm_v7a_build name: pytorch_linux_xenial_py3_clang5_android_ndk_r19c_arm_v7a_build
requires: requires:
- setup - setup
- "docker-pytorch-linux-xenial-py3-clang5-android-ndk-r19c"
filters: filters:
branches: branches:
only: only:
@ -2816,12 +2730,11 @@ workflows:
- /ci-all\/.*/ - /ci-all\/.*/
- /release\/.*/ - /release\/.*/
build_environment: "pytorch-linux-xenial-py3-clang5-android-ndk-r19c-arm-v7a-build" build_environment: "pytorch-linux-xenial-py3-clang5-android-ndk-r19c-arm-v7a-build"
docker_image: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-py3-clang5-android-ndk-r19c" docker_image: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-py3-clang5-android-ndk-r19c:9a3986fa-7ce7-4a36-a001-3c9bef9892e2"
- pytorch_linux_build: - pytorch_linux_build:
name: pytorch_linux_xenial_py3_clang5_android_ndk_r19c_arm_v8a_build name: pytorch_linux_xenial_py3_clang5_android_ndk_r19c_arm_v8a_build
requires: requires:
- setup - setup
- "docker-pytorch-linux-xenial-py3-clang5-android-ndk-r19c"
filters: filters:
branches: branches:
only: only:
@ -2829,36 +2742,34 @@ workflows:
- /ci-all\/.*/ - /ci-all\/.*/
- /release\/.*/ - /release\/.*/
build_environment: "pytorch-linux-xenial-py3-clang5-android-ndk-r19c-arm-v8a-build" build_environment: "pytorch-linux-xenial-py3-clang5-android-ndk-r19c-arm-v8a-build"
docker_image: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-py3-clang5-android-ndk-r19c" docker_image: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-py3-clang5-android-ndk-r19c:9a3986fa-7ce7-4a36-a001-3c9bef9892e2"
- pytorch_linux_build: - pytorch_linux_build:
name: pytorch_linux_bionic_py3_6_clang9_build name: pytorch_linux_bionic_py3_6_clang9_build
requires: requires:
- setup - setup
- "docker-pytorch-linux-bionic-py3.6-clang9"
build_environment: "pytorch-linux-bionic-py3.6-clang9-build" build_environment: "pytorch-linux-bionic-py3.6-clang9-build"
docker_image: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-bionic-py3.6-clang9" docker_image: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-bionic-py3.6-clang9:9a3986fa-7ce7-4a36-a001-3c9bef9892e2"
- pytorch_linux_test: - pytorch_linux_test:
name: pytorch_linux_bionic_py3_6_clang9_test name: pytorch_linux_bionic_py3_6_clang9_test
requires: requires:
- setup - setup
- pytorch_linux_bionic_py3_6_clang9_build - pytorch_linux_bionic_py3_6_clang9_build
build_environment: "pytorch-linux-bionic-py3.6-clang9-test" build_environment: "pytorch-linux-bionic-py3.6-clang9-test"
docker_image: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-bionic-py3.6-clang9" docker_image: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-bionic-py3.6-clang9:9a3986fa-7ce7-4a36-a001-3c9bef9892e2"
resource_class: large resource_class: large
- pytorch_linux_build: - pytorch_linux_build:
name: pytorch_xla_linux_bionic_py3_6_clang9_build name: pytorch_xla_linux_bionic_py3_6_clang9_build
requires: requires:
- setup - setup
- "docker-pytorch-linux-bionic-py3.6-clang9"
build_environment: "pytorch-xla-linux-bionic-py3.6-clang9-build" build_environment: "pytorch-xla-linux-bionic-py3.6-clang9-build"
docker_image: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-bionic-py3.6-clang9" docker_image: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-bionic-py3.6-clang9:9a3986fa-7ce7-4a36-a001-3c9bef9892e2"
- pytorch_linux_test: - pytorch_linux_test:
name: pytorch_xla_linux_bionic_py3_6_clang9_test name: pytorch_xla_linux_bionic_py3_6_clang9_test
requires: requires:
- setup - setup
- pytorch_xla_linux_bionic_py3_6_clang9_build - pytorch_xla_linux_bionic_py3_6_clang9_build
build_environment: "pytorch-xla-linux-bionic-py3.6-clang9-test" build_environment: "pytorch-xla-linux-bionic-py3.6-clang9-test"
docker_image: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-bionic-py3.6-clang9" docker_image: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-bionic-py3.6-clang9:9a3986fa-7ce7-4a36-a001-3c9bef9892e2"
resource_class: large resource_class: large
# Warning: indentation here matters! # Warning: indentation here matters!
@ -2925,32 +2836,28 @@ workflows:
name: pytorch_linux_xenial_py3_clang5_mobile_build name: pytorch_linux_xenial_py3_clang5_mobile_build
requires: requires:
- setup - setup
- docker-pytorch-linux-xenial-py3-clang5-asan
build_environment: "pytorch-linux-xenial-py3-clang5-mobile-build" build_environment: "pytorch-linux-xenial-py3-clang5-mobile-build"
build_only: "1" build_only: "1"
docker_image: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-py3-clang5-asan" docker_image: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-py3-clang5-asan:9a3986fa-7ce7-4a36-a001-3c9bef9892e2"
- pytorch_linux_build: - pytorch_linux_build:
name: pytorch_linux_xenial_py3_clang5_mobile_custom_build_static name: pytorch_linux_xenial_py3_clang5_mobile_custom_build_static
requires: requires:
- setup - setup
- docker-pytorch-linux-xenial-py3-clang5-asan
build_environment: "pytorch-linux-xenial-py3-clang5-mobile-custom-build-static" build_environment: "pytorch-linux-xenial-py3-clang5-mobile-custom-build-static"
build_only: "1" build_only: "1"
docker_image: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-py3-clang5-asan" docker_image: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-py3-clang5-asan:9a3986fa-7ce7-4a36-a001-3c9bef9892e2"
- pytorch_linux_build: - pytorch_linux_build:
name: pytorch_linux_xenial_py3_clang5_mobile_custom_build_dynamic name: pytorch_linux_xenial_py3_clang5_mobile_custom_build_dynamic
requires: requires:
- setup - setup
- docker-pytorch-linux-xenial-py3-clang5-android-ndk-r19c
build_environment: "pytorch-linux-xenial-py3-clang5-mobile-custom-build-dynamic" build_environment: "pytorch-linux-xenial-py3-clang5-mobile-custom-build-dynamic"
build_only: "1" build_only: "1"
# Use LLVM-DEV toolchain in android-ndk-r19c docker image # Use LLVM-DEV toolchain in android-ndk-r19c docker image
docker_image: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-py3-clang5-android-ndk-r19c" docker_image: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-py3-clang5-android-ndk-r19c:9a3986fa-7ce7-4a36-a001-3c9bef9892e2"
- pytorch_linux_build: - pytorch_linux_build:
name: pytorch_linux_xenial_py3_clang5_mobile_code_analysis name: pytorch_linux_xenial_py3_clang5_mobile_code_analysis
requires: requires:
- setup - setup
- docker-pytorch-linux-xenial-py3-clang5-android-ndk-r19c
# Most of this CI is already covered by "mobile-custom-build-dynamic" job # Most of this CI is already covered by "mobile-custom-build-dynamic" job
filters: filters:
branches: branches:
@ -2961,14 +2868,14 @@ workflows:
build_environment: "pytorch-linux-xenial-py3-clang5-mobile-code-analysis" build_environment: "pytorch-linux-xenial-py3-clang5-mobile-code-analysis"
build_only: "1" build_only: "1"
# Use LLVM-DEV toolchain in android-ndk-r19c docker image # Use LLVM-DEV toolchain in android-ndk-r19c docker image
docker_image: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-py3-clang5-android-ndk-r19c" docker_image: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-py3-clang5-android-ndk-r19c:9a3986fa-7ce7-4a36-a001-3c9bef9892e2"
- pytorch_linux_test: - pytorch_linux_test:
name: pytorch_linux_xenial_py3_6_gcc5_4_ge_config_legacy_test name: pytorch_linux_xenial_py3_6_gcc5_4_ge_config_legacy_test
requires: requires:
- setup - setup
- pytorch_linux_xenial_py3_6_gcc5_4_build - pytorch_linux_xenial_py3_6_gcc5_4_build
build_environment: "pytorch-linux-xenial-py3.6-gcc5.4-ge_config_legacy-test" build_environment: "pytorch-linux-xenial-py3.6-gcc5.4-ge_config_legacy-test"
docker_image: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-py3.6-gcc5.4" docker_image: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-py3.6-gcc5.4:9a3986fa-7ce7-4a36-a001-3c9bef9892e2"
resource_class: large resource_class: large
- pytorch_linux_test: - pytorch_linux_test:
name: pytorch_linux_xenial_py3_6_gcc5_4_ge_config_profiling_test name: pytorch_linux_xenial_py3_6_gcc5_4_ge_config_profiling_test
@ -2976,7 +2883,7 @@ workflows:
- setup - setup
- pytorch_linux_xenial_py3_6_gcc5_4_build - pytorch_linux_xenial_py3_6_gcc5_4_build
build_environment: "pytorch-linux-xenial-py3.6-gcc5.4-ge_config_profiling-test" build_environment: "pytorch-linux-xenial-py3.6-gcc5.4-ge_config_profiling-test"
docker_image: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-py3.6-gcc5.4" docker_image: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-py3.6-gcc5.4:9a3986fa-7ce7-4a36-a001-3c9bef9892e2"
resource_class: large resource_class: large
- pytorch_linux_test: - pytorch_linux_test:
name: pytorch_linux_xenial_cuda10_2_cudnn7_py3_ge_config_legacy_test name: pytorch_linux_xenial_cuda10_2_cudnn7_py3_ge_config_legacy_test
@ -2984,7 +2891,7 @@ workflows:
- setup - setup
- pytorch_linux_xenial_cuda10_2_cudnn7_py3_gcc7_build - pytorch_linux_xenial_cuda10_2_cudnn7_py3_gcc7_build
build_environment: "pytorch-linux-xenial-cuda10.1-cudnn7-ge_config_legacy-test" build_environment: "pytorch-linux-xenial-cuda10.1-cudnn7-ge_config_legacy-test"
docker_image: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-cuda10.2-cudnn7-py3-gcc7" docker_image: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-cuda10.2-cudnn7-py3-gcc7:9a3986fa-7ce7-4a36-a001-3c9bef9892e2"
use_cuda_docker_runtime: "1" use_cuda_docker_runtime: "1"
resource_class: gpu.medium resource_class: gpu.medium
- pytorch_linux_test: - pytorch_linux_test:
@ -2993,16 +2900,15 @@ workflows:
- setup - setup
- pytorch_linux_xenial_cuda10_2_cudnn7_py3_gcc7_build - pytorch_linux_xenial_cuda10_2_cudnn7_py3_gcc7_build
build_environment: "pytorch-linux-xenial-cuda10.1-cudnn7-ge_config_profiling-test" build_environment: "pytorch-linux-xenial-cuda10.1-cudnn7-ge_config_profiling-test"
docker_image: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-cuda10.2-cudnn7-py3-gcc7" docker_image: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-cuda10.2-cudnn7-py3-gcc7:9a3986fa-7ce7-4a36-a001-3c9bef9892e2"
use_cuda_docker_runtime: "1" use_cuda_docker_runtime: "1"
resource_class: gpu.medium resource_class: gpu.medium
- pytorch_linux_bazel_build: - pytorch_linux_bazel_build:
name: pytorch_bazel_build name: pytorch_bazel_build
requires: requires:
- setup - setup
- docker-pytorch-linux-xenial-py3.6-gcc7
build_environment: "pytorch-linux-xenial-py3.6-gcc7-bazel-build" build_environment: "pytorch-linux-xenial-py3.6-gcc7-bazel-build"
docker_image: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-py3.6-gcc7" docker_image: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-py3.6-gcc7:f990c76a-a798-42bb-852f-5be5006f8026"
resource_class: large resource_class: large
- pytorch_linux_bazel_test: - pytorch_linux_bazel_test:
name: pytorch_bazel_test name: pytorch_bazel_test
@ -3010,7 +2916,7 @@ workflows:
- setup - setup
- pytorch_bazel_build - pytorch_bazel_build
build_environment: "pytorch-linux-xenial-py3.6-gcc7-bazel-test" build_environment: "pytorch-linux-xenial-py3.6-gcc7-bazel-test"
docker_image: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-py3.6-gcc7" docker_image: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-py3.6-gcc7:f990c76a-a798-42bb-852f-5be5006f8026"
- caffe2_linux_build: - caffe2_linux_build:
name: caffe2_onnx_main_py3_6_clang7_ubuntu16_04_build name: caffe2_onnx_main_py3_6_clang7_ubuntu16_04_build
requires: requires:
@ -5037,8 +4943,7 @@ workflows:
build_environment: "pytorch-linux-xenial-py3-clang5-android-ndk-r19c-x86_32" build_environment: "pytorch-linux-xenial-py3-clang5-android-ndk-r19c-x86_32"
requires: requires:
- setup - setup
- docker-pytorch-linux-xenial-py3-clang5-android-ndk-r19c docker_image: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-py3-clang5-android-ndk-r19c:9a3986fa-7ce7-4a36-a001-3c9bef9892e2"
docker_image: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-py3-clang5-android-ndk-r19c"
filters: filters:
branches: branches:
only: nightly only: nightly
@ -5047,8 +4952,7 @@ workflows:
build_environment: "pytorch-linux-xenial-py3-clang5-android-ndk-r19c-x86_64" build_environment: "pytorch-linux-xenial-py3-clang5-android-ndk-r19c-x86_64"
requires: requires:
- setup - setup
- docker-pytorch-linux-xenial-py3-clang5-android-ndk-r19c docker_image: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-py3-clang5-android-ndk-r19c:9a3986fa-7ce7-4a36-a001-3c9bef9892e2"
docker_image: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-py3-clang5-android-ndk-r19c"
filters: filters:
branches: branches:
only: nightly only: nightly
@ -5057,8 +4961,7 @@ workflows:
build_environment: "pytorch-linux-xenial-py3-clang5-android-ndk-r19c-arm-v7a" build_environment: "pytorch-linux-xenial-py3-clang5-android-ndk-r19c-arm-v7a"
requires: requires:
- setup - setup
- docker-pytorch-linux-xenial-py3-clang5-android-ndk-r19c docker_image: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-py3-clang5-android-ndk-r19c:9a3986fa-7ce7-4a36-a001-3c9bef9892e2"
docker_image: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-py3-clang5-android-ndk-r19c"
filters: filters:
branches: branches:
only: nightly only: nightly
@ -5067,8 +4970,7 @@ workflows:
build_environment: "pytorch-linux-xenial-py3-clang5-android-ndk-r19c-arm-v8a" build_environment: "pytorch-linux-xenial-py3-clang5-android-ndk-r19c-arm-v8a"
requires: requires:
- setup - setup
- docker-pytorch-linux-xenial-py3-clang5-android-ndk-r19c docker_image: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-py3-clang5-android-ndk-r19c:9a3986fa-7ce7-4a36-a001-3c9bef9892e2"
docker_image: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-py3-clang5-android-ndk-r19c"
filters: filters:
branches: branches:
only: nightly only: nightly
@ -7085,54 +6987,63 @@ workflows:
branches: branches:
only: postnightly only: postnightly
# - docker_for_ecr_gc_build_job docker_build:
triggers:
- schedule:
cron: "0 15 * * 0"
filters:
branches:
only:
- master
jobs:
- docker_for_ecr_gc_build_job
- docker_build_job: - docker_build_job:
name: "docker-pytorch-linux-bionic-py3.6-clang9" name: "pytorch-linux-bionic-py3.6-clang9"
image_name: "pytorch-linux-bionic-py3.6-clang9" image_name: "pytorch-linux-bionic-py3.6-clang9"
- docker_build_job: - docker_build_job:
name: "docker-pytorch-linux-xenial-cuda10-cudnn7-py3-gcc7" name: "pytorch-linux-xenial-cuda10-cudnn7-py3-gcc7"
image_name: "pytorch-linux-xenial-cuda10-cudnn7-py3-gcc7" image_name: "pytorch-linux-xenial-cuda10-cudnn7-py3-gcc7"
- docker_build_job: - docker_build_job:
name: "docker-pytorch-linux-xenial-cuda10.1-cudnn7-py3-gcc7" name: "pytorch-linux-xenial-cuda10.1-cudnn7-py3-gcc7"
image_name: "pytorch-linux-xenial-cuda10.1-cudnn7-py3-gcc7" image_name: "pytorch-linux-xenial-cuda10.1-cudnn7-py3-gcc7"
- docker_build_job: - docker_build_job:
name: "docker-pytorch-linux-xenial-cuda10.2-cudnn7-py3-gcc7" name: "pytorch-linux-xenial-cuda10.2-cudnn7-py3-gcc7"
image_name: "pytorch-linux-xenial-cuda10.2-cudnn7-py3-gcc7" image_name: "pytorch-linux-xenial-cuda10.2-cudnn7-py3-gcc7"
- docker_build_job: - docker_build_job:
name: "docker-pytorch-linux-xenial-cuda9-cudnn7-py3" name: "pytorch-linux-xenial-cuda9-cudnn7-py3"
image_name: "pytorch-linux-xenial-cuda9-cudnn7-py3" image_name: "pytorch-linux-xenial-cuda9-cudnn7-py3"
- docker_build_job: - docker_build_job:
name: "docker-pytorch-linux-xenial-cuda9.2-cudnn7-py3-gcc5.4" name: "pytorch-linux-xenial-cuda9.2-cudnn7-py3-gcc5.4"
image_name: "pytorch-linux-xenial-cuda9.2-cudnn7-py3-gcc5.4" image_name: "pytorch-linux-xenial-cuda9.2-cudnn7-py3-gcc5.4"
- docker_build_job: - docker_build_job:
name: "docker-pytorch-linux-xenial-cuda9.2-cudnn7-py3-gcc7" name: "pytorch-linux-xenial-cuda9.2-cudnn7-py3-gcc7"
image_name: "pytorch-linux-xenial-cuda9.2-cudnn7-py3-gcc7" image_name: "pytorch-linux-xenial-cuda9.2-cudnn7-py3-gcc7"
- docker_build_job: - docker_build_job:
name: "docker-pytorch-linux-xenial-py3-clang5-android-ndk-r19c" name: "pytorch-linux-xenial-py3-clang5-android-ndk-r19c"
image_name: "pytorch-linux-xenial-py3-clang5-android-ndk-r19c" image_name: "pytorch-linux-xenial-py3-clang5-android-ndk-r19c"
- docker_build_job: - docker_build_job:
name: "docker-pytorch-linux-xenial-py3-clang5-asan" name: "pytorch-linux-xenial-py3-clang5-asan"
image_name: "pytorch-linux-xenial-py3-clang5-asan" image_name: "pytorch-linux-xenial-py3-clang5-asan"
- docker_build_job: - docker_build_job:
name: "docker-pytorch-linux-xenial-py3.8" name: "pytorch-linux-xenial-py3.8"
image_name: "pytorch-linux-xenial-py3.8" image_name: "pytorch-linux-xenial-py3.8"
- docker_build_job: - docker_build_job:
name: "docker-pytorch-linux-xenial-py3.6-clang7" name: "pytorch-linux-xenial-py3.6-clang7"
image_name: "pytorch-linux-xenial-py3.6-clang7" image_name: "pytorch-linux-xenial-py3.6-clang7"
- docker_build_job: - docker_build_job:
name: "docker-pytorch-linux-xenial-py3.6-gcc4.8" name: "pytorch-linux-xenial-py3.6-gcc4.8"
image_name: "pytorch-linux-xenial-py3.6-gcc4.8" image_name: "pytorch-linux-xenial-py3.6-gcc4.8"
- docker_build_job: - docker_build_job:
name: "docker-pytorch-linux-xenial-py3.6-gcc5.4" name: "pytorch-linux-xenial-py3.6-gcc5.4"
image_name: "pytorch-linux-xenial-py3.6-gcc5.4" image_name: "pytorch-linux-xenial-py3.6-gcc5.4"
- docker_build_job: - docker_build_job:
name: "docker-pytorch-linux-xenial-py3.6-gcc7.2" name: "pytorch-linux-xenial-py3.6-gcc7.2"
image_name: "pytorch-linux-xenial-py3.6-gcc7.2" image_name: "pytorch-linux-xenial-py3.6-gcc7.2"
- docker_build_job: - docker_build_job:
name: "docker-pytorch-linux-xenial-py3.6-gcc7" name: "pytorch-linux-xenial-py3.6-gcc7"
image_name: "pytorch-linux-xenial-py3.6-gcc7" image_name: "pytorch-linux-xenial-py3.6-gcc7"
- docker_build_job: - docker_build_job:
name: "docker-pytorch-linux-xenial-pynightly" name: "pytorch-linux-xenial-pynightly"
image_name: "pytorch-linux-xenial-pynightly" image_name: "pytorch-linux-xenial-pynightly"
ecr_gc: ecr_gc:
triggers: triggers:

View File

@ -188,7 +188,6 @@ tmp_tag="tmp-$(cat /dev/urandom | tr -dc 'a-z' | fold -w 32 | head -n 1)"
# it's no longer needed. # it's no longer needed.
docker build \ docker build \
--no-cache \ --no-cache \
--progress=plain \
--build-arg "TRAVIS_DL_URL_PREFIX=${TRAVIS_DL_URL_PREFIX}" \ --build-arg "TRAVIS_DL_URL_PREFIX=${TRAVIS_DL_URL_PREFIX}" \
--build-arg "BUILD_ENVIRONMENT=${image}" \ --build-arg "BUILD_ENVIRONMENT=${image}" \
--build-arg "PROTOBUF=${PROTOBUF:-}" \ --build-arg "PROTOBUF=${PROTOBUF:-}" \

View File

@ -6,8 +6,14 @@ retry () {
$* || (sleep 1 && $*) || (sleep 2 && $*) $* || (sleep 1 && $*) || (sleep 2 && $*)
} }
# Setup from previous step, typically located in .circleci/artifacts/env_file # If UPSTREAM_BUILD_ID is set (see trigger job), then we can
tag="${DOCKER_TAG}" # use it to tag this build with the same ID used to tag all other
# base image builds. Also, we can try and pull the previous
# image first, to avoid rebuilding layers that haven't changed.
#until we find a way to reliably reuse previous build, this last_tag is not in use
# last_tag="$(( CIRCLE_BUILD_NUM - 1 ))"
tag="${CIRCLE_WORKFLOW_ID}"
registry="308535385114.dkr.ecr.us-east-1.amazonaws.com" registry="308535385114.dkr.ecr.us-east-1.amazonaws.com"

View File

@ -0,0 +1,44 @@
#!/usr/bin/env python3
import cimodel.data.caffe2_build_definitions as caffe2_build_definitions
import cimodel.data.pytorch_build_definitions as pytorch_build_definitions
from yaml import load
try:
from yaml import CLoader as Loader
except ImportError:
from yaml import Loader
def load_config(filename=".circleci/config.yml"):
with open(filename, "r") as fh:
return load("".join(fh.readlines()), Loader)
def load_tags_for_projects(workflow_config):
return {
v["ecr_gc_job"]["project"]: v["ecr_gc_job"]["tags_to_keep"]
for v in workflow_config["workflows"]["ecr_gc"]["jobs"]
if isinstance(v, dict) and "ecr_gc_job" in v
}
def check_version(job, tags, expected_version):
valid_versions = tags[job].split(",")
if expected_version not in valid_versions:
raise RuntimeError(
"We configured {} to use Docker version {}; but this "
"version is not configured in job ecr_gc_job_for_{}. Non-deployed versions will be "
"garbage collected two weeks after they are created. DO NOT LAND "
"THIS TO MASTER without also updating ossci-job-dsl with this version."
"\n\nDeployed versions: {}".format(job, expected_version, job, tags[job])
)
def validate_docker_version():
tags = load_tags_for_projects(load_config())
check_version("pytorch", tags, pytorch_build_definitions.DOCKER_IMAGE_VERSION)
check_version("caffe2", tags, caffe2_build_definitions.DOCKER_IMAGE_VERSION)
if __name__ == "__main__":
validate_docker_version()

View File

@ -10,21 +10,6 @@ commands:
name: Attaching workspace name: Attaching workspace
at: ~/workspace at: ~/workspace
# Must be run after attaching workspace from previous steps
load_shared_env:
description: "Loads .circleci/shared/env_file into ${BASH_ENV}"
parameters:
# For some weird reason we decide to reattach our workspace to ~/workspace so
# in the vein of making it simple let's assume our share env_file is here
root:
type: string
default: "~/workspace"
steps:
- run:
name: "Load .circleci/shared/env_file into ${BASH_ENV}"
command: |
cat << parameters.root >>/.circleci/shared/env_file >> ${BASH_ENV}
# This system setup script is meant to run before the CI-related scripts, e.g., # This system setup script is meant to run before the CI-related scripts, e.g.,
# installing Git client, checking out code, setting up CI env, and # installing Git client, checking out code, setting up CI env, and
# building/testing. # building/testing.

View File

@ -8,45 +8,8 @@
resource_class: large resource_class: large
environment: environment:
IMAGE_NAME: << parameters.image_name >> IMAGE_NAME: << parameters.image_name >>
# Enable 'docker manifest'
DOCKER_CLI_EXPERIMENTAL: "enabled"
DOCKER_BUILDKIT: 1
steps: steps:
- checkout - checkout
- run:
name: Calculate docker tag
command: |
set -x
mkdir .circleci/shared
# git keeps a hash of all sub trees
echo "export DOCKER_TAG=$(git rev-parse HEAD:.circleci/docker)" >> .circleci/shared/env_file
# Saves our calculated docker tag to our workpace for later use
- persist_to_workspace:
root: .
paths:
- .circleci/shared/
- load_shared_env:
root: .
- run:
name: Check if image should be built
command: |
set +x
export AWS_ACCESS_KEY_ID=${CIRCLECI_AWS_ACCESS_KEY_FOR_DOCKER_BUILDER_V1}
export AWS_SECRET_ACCESS_KEY=${CIRCLECI_AWS_SECRET_KEY_FOR_DOCKER_BUILDER_V1}
eval $(aws ecr get-login --no-include-email --region us-east-1)
set -x
# Check if image already exists, if it does then skip building it
if docker manifest inspect "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/${IMAGE_NAME}:${DOCKER_TAG}"; then
circleci-agent step halt
fi
PREVIOUS_DOCKER_TAG=$(git rev-parse "$(git merge-base HEAD << pipeline.git.base_revision >>):.circleci/docker")
# If no image exists but the hash is the same as the previous hash then we should error out here
# no stampeding herd effect plz.
if [[ ${PREVIOUS_DOCKER_TAG} = ${DOCKER_TAG} ]]; then
echo "ERROR: Something has gone wrong and the previous image isn't available for the merge-base of your branch"
echo " contact the PyTorch team to restore the original images"
exit 1
fi
- run: - run:
name: build_docker_image_<< parameters.image_name >> name: build_docker_image_<< parameters.image_name >>
no_output_timeout: "1h" no_output_timeout: "1h"
@ -55,9 +18,7 @@
export AWS_ACCESS_KEY_ID=${CIRCLECI_AWS_ACCESS_KEY_FOR_DOCKER_BUILDER_V1} export AWS_ACCESS_KEY_ID=${CIRCLECI_AWS_ACCESS_KEY_FOR_DOCKER_BUILDER_V1}
export AWS_SECRET_ACCESS_KEY=${CIRCLECI_AWS_SECRET_KEY_FOR_DOCKER_BUILDER_V1} export AWS_SECRET_ACCESS_KEY=${CIRCLECI_AWS_SECRET_KEY_FOR_DOCKER_BUILDER_V1}
set -x set -x
source .circleci/shared/env_file
cd .circleci/docker && ./build_docker.sh cd .circleci/docker && ./build_docker.sh
docker_for_ecr_gc_build_job: docker_for_ecr_gc_build_job:
machine: machine:
image: ubuntu-1604:201903-01 image: ubuntu-1604:201903-01
@ -84,25 +45,14 @@
type: string type: string
environment: environment:
PROJECT: << parameters.project >> PROJECT: << parameters.project >>
# TODO: Remove legacy image tags once we feel comfortable with new docker image tags
IMAGE_TAG: << parameters.tags_to_keep >> IMAGE_TAG: << parameters.tags_to_keep >>
docker: docker:
- image: 308535385114.dkr.ecr.us-east-1.amazonaws.com/gc/ecr - image: 308535385114.dkr.ecr.us-east-1.amazonaws.com/gc/ecr
aws_auth: aws_auth:
aws_access_key_id: ${CIRCLECI_AWS_ACCESS_KEY_FOR_DOCKER_BUILDER_V1} aws_access_key_id: ${CIRCLECI_AWS_ACCESS_KEY_FOR_DOCKER_BUILDER_V1}
aws_secret_access_key: ${CIRCLECI_AWS_SECRET_KEY_FOR_DOCKER_BUILDER_V1} aws_secret_access_key: ${CIRCLECI_AWS_SECRET_KEY_FOR_DOCKER_BUILDER_V1}
steps: steps:
- checkout
- run:
# NOTE: see 'docker_build_job' for how these tags actually get built
name: dynamically generate tags to keep
no_output_timeout: "1h"
command: |
GENERATED_IMAGE_TAG=$(\
git log --oneline --pretty='%H' .circleci/docker \
| xargs -I '{}' git rev-parse '{}:.circleci/docker' \
| paste -sd "," -)
echo "export GENERATED_IMAGE_TAG='${GENERATED_IMAGE_TAG}'" >> ${BASH_ENV}
- run: - run:
name: garbage collecting for ecr images name: garbage collecting for ecr images
no_output_timeout: "1h" no_output_timeout: "1h"
@ -111,7 +61,7 @@
export AWS_ACCESS_KEY_ID=${CIRCLECI_AWS_ACCESS_KEY_FOR_DOCKER_BUILDER_V1} export AWS_ACCESS_KEY_ID=${CIRCLECI_AWS_ACCESS_KEY_FOR_DOCKER_BUILDER_V1}
export AWS_SECRET_ACCESS_KEY=${CIRCLECI_AWS_SECRET_KEY_FOR_DOCKER_BUILDER_V1} export AWS_SECRET_ACCESS_KEY=${CIRCLECI_AWS_SECRET_KEY_FOR_DOCKER_BUILDER_V1}
set -x set -x
/usr/bin/gc.py --filter-prefix ${PROJECT} --ignore-tags "${IMAGE_TAG},${GENERATED_IMAGE_TAG}" /usr/bin/gc.py --filter-prefix ${PROJECT} --ignore-tags ${IMAGE_TAG}
docker_hub_index_job: docker_hub_index_job:
docker: docker:

View File

@ -2,14 +2,13 @@
environment: environment:
BUILD_ENVIRONMENT: pytorch-python-doc-push BUILD_ENVIRONMENT: pytorch-python-doc-push
# TODO: stop hardcoding this # TODO: stop hardcoding this
DOCKER_IMAGE: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-py3.6-gcc5.4" DOCKER_IMAGE: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-py3.6-gcc5.4:9a3986fa-7ce7-4a36-a001-3c9bef9892e2"
resource_class: large resource_class: large
machine: machine:
image: ubuntu-1604:201903-01 image: ubuntu-1604:201903-01
steps: steps:
# See Note [Workspace for CircleCI scripts] in job-specs-setup.yml # See Note [Workspace for CircleCI scripts] in job-specs-setup.yml
- attach_scripts - attach_scripts
- load_shared_env
- setup_linux_system_environment - setup_linux_system_environment
- setup_ci_environment - setup_ci_environment
- run: - run:
@ -17,7 +16,7 @@
no_output_timeout: "1h" no_output_timeout: "1h"
command: | command: |
set -ex set -ex
export COMMIT_DOCKER_IMAGE=${DOCKER_IMAGE}:${DOCKER_TAG}-${CIRCLE_SHA1} export COMMIT_DOCKER_IMAGE=${DOCKER_IMAGE}-${CIRCLE_SHA1}
echo "DOCKER_IMAGE: "${COMMIT_DOCKER_IMAGE} echo "DOCKER_IMAGE: "${COMMIT_DOCKER_IMAGE}
time docker pull ${COMMIT_DOCKER_IMAGE} >/dev/null time docker pull ${COMMIT_DOCKER_IMAGE} >/dev/null
export id=$(docker run --cap-add=SYS_PTRACE --security-opt seccomp=unconfined -t -d -w /var/lib/jenkins ${COMMIT_DOCKER_IMAGE}) export id=$(docker run --cap-add=SYS_PTRACE --security-opt seccomp=unconfined -t -d -w /var/lib/jenkins ${COMMIT_DOCKER_IMAGE})
@ -54,14 +53,13 @@
pytorch_cpp_doc_push: pytorch_cpp_doc_push:
environment: environment:
BUILD_ENVIRONMENT: pytorch-cpp-doc-push BUILD_ENVIRONMENT: pytorch-cpp-doc-push
DOCKER_IMAGE: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-py3.6-gcc5.4" DOCKER_IMAGE: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-py3.6-gcc5.4:9a3986fa-7ce7-4a36-a001-3c9bef9892e2"
resource_class: large resource_class: large
machine: machine:
image: ubuntu-1604:201903-01 image: ubuntu-1604:201903-01
steps: steps:
# See Note [Workspace for CircleCI scripts] in job-specs-setup.yml # See Note [Workspace for CircleCI scripts] in job-specs-setup.yml
- attach_scripts - attach_scripts
- load_shared_env
- setup_linux_system_environment - setup_linux_system_environment
- setup_ci_environment - setup_ci_environment
- run: - run:
@ -69,7 +67,7 @@
no_output_timeout: "1h" no_output_timeout: "1h"
command: | command: |
set -ex set -ex
export COMMIT_DOCKER_IMAGE=${DOCKER_IMAGE}:${DOCKER_TAG}-${CIRCLE_SHA1} export COMMIT_DOCKER_IMAGE=${DOCKER_IMAGE}-${CIRCLE_SHA1}
echo "DOCKER_IMAGE: "${COMMIT_DOCKER_IMAGE} echo "DOCKER_IMAGE: "${COMMIT_DOCKER_IMAGE}
time docker pull ${COMMIT_DOCKER_IMAGE} >/dev/null time docker pull ${COMMIT_DOCKER_IMAGE} >/dev/null
export id=$(docker run --cap-add=SYS_PTRACE --security-opt seccomp=unconfined -t -d -w /var/lib/jenkins ${COMMIT_DOCKER_IMAGE}) export id=$(docker run --cap-add=SYS_PTRACE --security-opt seccomp=unconfined -t -d -w /var/lib/jenkins ${COMMIT_DOCKER_IMAGE})
@ -165,7 +163,7 @@
pytorch_android_gradle_build: pytorch_android_gradle_build:
environment: environment:
BUILD_ENVIRONMENT: pytorch-linux-xenial-py3-clang5-android-ndk-r19c-gradle-build BUILD_ENVIRONMENT: pytorch-linux-xenial-py3-clang5-android-ndk-r19c-gradle-build
DOCKER_IMAGE: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-py3-clang5-android-ndk-r19c" DOCKER_IMAGE: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-py3-clang5-android-ndk-r19c:9a3986fa-7ce7-4a36-a001-3c9bef9892e2"
PYTHON_VERSION: "3.6" PYTHON_VERSION: "3.6"
resource_class: large resource_class: large
machine: machine:
@ -180,7 +178,7 @@
no_output_timeout: "1h" no_output_timeout: "1h"
command: | command: |
set -eux set -eux
docker_image_commit=${DOCKER_IMAGE}:${DOCKER_TAG}-${CIRCLE_SHA1} docker_image_commit=${DOCKER_IMAGE}-${CIRCLE_SHA1}
docker_image_libtorch_android_x86_32=${docker_image_commit}-android-x86_32 docker_image_libtorch_android_x86_32=${docker_image_commit}-android-x86_32
docker_image_libtorch_android_x86_64=${docker_image_commit}-android-x86_64 docker_image_libtorch_android_x86_64=${docker_image_commit}-android-x86_64
@ -251,14 +249,13 @@
pytorch_android_publish_snapshot: pytorch_android_publish_snapshot:
environment: environment:
BUILD_ENVIRONMENT: pytorch-linux-xenial-py3-clang5-android-ndk-r19c-gradle-publish-snapshot BUILD_ENVIRONMENT: pytorch-linux-xenial-py3-clang5-android-ndk-r19c-gradle-publish-snapshot
DOCKER_IMAGE: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-py3-clang5-android-ndk-r19c" DOCKER_IMAGE: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-py3-clang5-android-ndk-r19c:9a3986fa-7ce7-4a36-a001-3c9bef9892e2"
PYTHON_VERSION: "3.6" PYTHON_VERSION: "3.6"
resource_class: large resource_class: large
machine: machine:
image: ubuntu-1604:201903-01 image: ubuntu-1604:201903-01
steps: steps:
- attach_scripts - attach_scripts
- load_shared_env
- setup_linux_system_environment - setup_linux_system_environment
- checkout - checkout
- setup_ci_environment - setup_ci_environment
@ -267,7 +264,7 @@
no_output_timeout: "1h" no_output_timeout: "1h"
command: | command: |
set -eux set -eux
docker_image_commit=${DOCKER_IMAGE}:${DOCKER_TAG}-${CIRCLE_SHA1} docker_image_commit=${DOCKER_IMAGE}-${CIRCLE_SHA1}
docker_image_libtorch_android_x86_32_gradle=${docker_image_commit}-android-x86_32-gradle docker_image_libtorch_android_x86_32_gradle=${docker_image_commit}-android-x86_32-gradle
@ -288,14 +285,13 @@
pytorch_android_gradle_build-x86_32: pytorch_android_gradle_build-x86_32:
environment: environment:
BUILD_ENVIRONMENT: pytorch-linux-xenial-py3-clang5-android-ndk-r19c-gradle-build-only-x86_32 BUILD_ENVIRONMENT: pytorch-linux-xenial-py3-clang5-android-ndk-r19c-gradle-build-only-x86_32
DOCKER_IMAGE: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-py3-clang5-android-ndk-r19c" DOCKER_IMAGE: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-py3-clang5-android-ndk-r19c:9a3986fa-7ce7-4a36-a001-3c9bef9892e2"
PYTHON_VERSION: "3.6" PYTHON_VERSION: "3.6"
resource_class: large resource_class: large
machine: machine:
image: ubuntu-1604:201903-01 image: ubuntu-1604:201903-01
steps: steps:
- attach_scripts - attach_scripts
- load_shared_env
- run: - run:
name: filter out not PR runs name: filter out not PR runs
no_output_timeout: "5m" no_output_timeout: "5m"
@ -312,7 +308,7 @@
no_output_timeout: "1h" no_output_timeout: "1h"
command: | command: |
set -e set -e
docker_image_libtorch_android_x86_32=${DOCKER_IMAGE}:${DOCKER_TAG}-${CIRCLE_SHA1}-android-x86_32 docker_image_libtorch_android_x86_32=${DOCKER_IMAGE}-${CIRCLE_SHA1}-android-x86_32
echo "docker_image_libtorch_android_x86_32: "${docker_image_libtorch_android_x86_32} echo "docker_image_libtorch_android_x86_32: "${docker_image_libtorch_android_x86_32}
# x86 # x86
@ -457,7 +453,6 @@
steps: steps:
# See Note [Workspace for CircleCI scripts] in job-specs-setup.yml # See Note [Workspace for CircleCI scripts] in job-specs-setup.yml
- attach_scripts - attach_scripts
- load_shared_env
- setup_linux_system_environment - setup_linux_system_environment
- checkout - checkout
- setup_ci_environment - setup_ci_environment
@ -467,9 +462,9 @@
command: | command: |
set -e set -e
# Pull Docker image and run build # Pull Docker image and run build
echo "DOCKER_IMAGE: "${DOCKER_IMAGE}:${DOCKER_TAG} echo "DOCKER_IMAGE: "${DOCKER_IMAGE}
time docker pull ${DOCKER_IMAGE}:${DOCKER_TAG} >/dev/null time docker pull ${DOCKER_IMAGE} >/dev/null
export id=$(docker run --cap-add=SYS_PTRACE --security-opt seccomp=unconfined --cap-add=SYS_PTRACE --security-opt seccomp=unconfined -t -d -w /var/lib/jenkins ${DOCKER_IMAGE}:${DOCKER_TAG}) export id=$(docker run --cap-add=SYS_PTRACE --security-opt seccomp=unconfined --cap-add=SYS_PTRACE --security-opt seccomp=unconfined -t -d -w /var/lib/jenkins ${DOCKER_IMAGE})
echo "Do NOT merge master branch into $CIRCLE_BRANCH in environment $BUILD_ENVIRONMENT" echo "Do NOT merge master branch into $CIRCLE_BRANCH in environment $BUILD_ENVIRONMENT"
@ -484,7 +479,7 @@
# Push intermediate Docker image for next phase to use # Push intermediate Docker image for next phase to use
if [ -z "${BUILD_ONLY}" ]; then if [ -z "${BUILD_ONLY}" ]; then
# Augment our output image name with bazel to avoid collisions # Augment our output image name with bazel to avoid collisions
output_image=${DOCKER_IMAGE}:${DOCKER_TAG}-bazel-${CIRCLE_SHA1} output_image=${DOCKER_IMAGE}-bazel-${CIRCLE_SHA1}
export COMMIT_DOCKER_IMAGE=$output_image export COMMIT_DOCKER_IMAGE=$output_image
docker commit "$id" ${COMMIT_DOCKER_IMAGE} docker commit "$id" ${COMMIT_DOCKER_IMAGE}
time docker push ${COMMIT_DOCKER_IMAGE} time docker push ${COMMIT_DOCKER_IMAGE}
@ -497,7 +492,6 @@
steps: steps:
# See Note [Workspace for CircleCI scripts] in job-specs-setup.yml # See Note [Workspace for CircleCI scripts] in job-specs-setup.yml
- attach_scripts - attach_scripts
- load_shared_env
- setup_linux_system_environment - setup_linux_system_environment
- setup_ci_environment - setup_ci_environment
- run: - run:
@ -505,7 +499,7 @@
no_output_timeout: "90m" no_output_timeout: "90m"
command: | command: |
set -e set -e
output_image=${DOCKER_IMAGE}:${DOCKER_TAG}-bazel-${CIRCLE_SHA1} output_image=${DOCKER_IMAGE}-bazel-${CIRCLE_SHA1}
export COMMIT_DOCKER_IMAGE=$output_image export COMMIT_DOCKER_IMAGE=$output_image
echo "DOCKER_IMAGE: "${COMMIT_DOCKER_IMAGE} echo "DOCKER_IMAGE: "${COMMIT_DOCKER_IMAGE}
@ -538,14 +532,14 @@
pytorch_doc_test: pytorch_doc_test:
environment: environment:
BUILD_ENVIRONMENT: pytorch-doc-test BUILD_ENVIRONMENT: pytorch-doc-test
DOCKER_IMAGE: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-py3.6-gcc5.4" # TODO: stop hardcoding this
DOCKER_IMAGE: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-py3.6-gcc5.4:9a3986fa-7ce7-4a36-a001-3c9bef9892e2"
resource_class: medium resource_class: medium
machine: machine:
image: ubuntu-1604:201903-01 image: ubuntu-1604:201903-01
steps: steps:
# See Note [Workspace for CircleCI scripts] in job-specs-setup.yml # See Note [Workspace for CircleCI scripts] in job-specs-setup.yml
- attach_scripts - attach_scripts
- load_shared_env
- setup_linux_system_environment - setup_linux_system_environment
- setup_ci_environment - setup_ci_environment
- run: - run:
@ -553,7 +547,7 @@
no_output_timeout: "30m" no_output_timeout: "30m"
command: | command: |
set -ex set -ex
export COMMIT_DOCKER_IMAGE=${DOCKER_IMAGE}:${DOCKER_TAG}-${CIRCLE_SHA1} export COMMIT_DOCKER_IMAGE=${DOCKER_IMAGE}-${CIRCLE_SHA1}
echo "DOCKER_IMAGE: "${COMMIT_DOCKER_IMAGE} echo "DOCKER_IMAGE: "${COMMIT_DOCKER_IMAGE}
time docker pull ${COMMIT_DOCKER_IMAGE} >/dev/null time docker pull ${COMMIT_DOCKER_IMAGE} >/dev/null
export id=$(docker run --cap-add=SYS_PTRACE --security-opt seccomp=unconfined -t -d -w /var/lib/jenkins ${COMMIT_DOCKER_IMAGE}) export id=$(docker run --cap-add=SYS_PTRACE --security-opt seccomp=unconfined -t -d -w /var/lib/jenkins ${COMMIT_DOCKER_IMAGE})

View File

@ -6,7 +6,6 @@ jobs:
steps: steps:
# See Note [Workspace for CircleCI scripts] in job-specs-setup.yml # See Note [Workspace for CircleCI scripts] in job-specs-setup.yml
- attach_scripts - attach_scripts
- load_shared_env
- setup_linux_system_environment - setup_linux_system_environment
- checkout - checkout
- optional_merge_target_branch - optional_merge_target_branch
@ -17,9 +16,9 @@ jobs:
command: | command: |
set -e set -e
# Pull Docker image and run build # Pull Docker image and run build
echo "DOCKER_IMAGE: "${DOCKER_IMAGE}:${DOCKER_TAG} echo "DOCKER_IMAGE: "${DOCKER_IMAGE}
time docker pull ${DOCKER_IMAGE}:${DOCKER_TAG} >/dev/null time docker pull ${DOCKER_IMAGE} >/dev/null
export id=$(docker run --cap-add=SYS_PTRACE --security-opt seccomp=unconfined --cap-add=SYS_PTRACE --security-opt seccomp=unconfined -t -d -w /var/lib/jenkins ${DOCKER_IMAGE}:${DOCKER_TAG}) export id=$(docker run --cap-add=SYS_PTRACE --security-opt seccomp=unconfined --cap-add=SYS_PTRACE --security-opt seccomp=unconfined -t -d -w /var/lib/jenkins ${DOCKER_IMAGE})
git submodule sync && git submodule update -q --init --recursive git submodule sync && git submodule update -q --init --recursive
@ -42,7 +41,7 @@ jobs:
# The xla build uses the same docker image as # The xla build uses the same docker image as
# pytorch-linux-trusty-py3.6-gcc5.4-build. In the push step, we have to # pytorch-linux-trusty-py3.6-gcc5.4-build. In the push step, we have to
# distinguish between them so the test can pick up the correct image. # distinguish between them so the test can pick up the correct image.
output_image=${DOCKER_IMAGE}:${DOCKER_TAG}-${CIRCLE_SHA1} output_image=${DOCKER_IMAGE}-${CIRCLE_SHA1}
if [[ ${BUILD_ENVIRONMENT} == *"xla"* ]]; then if [[ ${BUILD_ENVIRONMENT} == *"xla"* ]]; then
export COMMIT_DOCKER_IMAGE=$output_image-xla export COMMIT_DOCKER_IMAGE=$output_image-xla
elif [[ ${BUILD_ENVIRONMENT} == *"libtorch"* ]]; then elif [[ ${BUILD_ENVIRONMENT} == *"libtorch"* ]]; then
@ -69,7 +68,6 @@ jobs:
steps: steps:
# See Note [Workspace for CircleCI scripts] in job-specs-setup.yml # See Note [Workspace for CircleCI scripts] in job-specs-setup.yml
- attach_scripts - attach_scripts
- load_shared_env
- setup_linux_system_environment - setup_linux_system_environment
- setup_ci_environment - setup_ci_environment
- run: - run:
@ -78,7 +76,7 @@ jobs:
command: | command: |
set -e set -e
# See Note [Special build images] # See Note [Special build images]
output_image=${DOCKER_IMAGE}:${DOCKER_TAG}-${CIRCLE_SHA1} output_image=${DOCKER_IMAGE}-${CIRCLE_SHA1}
if [[ ${BUILD_ENVIRONMENT} == *"xla"* ]]; then if [[ ${BUILD_ENVIRONMENT} == *"xla"* ]]; then
export COMMIT_DOCKER_IMAGE=$output_image-xla export COMMIT_DOCKER_IMAGE=$output_image-xla
elif [[ ${BUILD_ENVIRONMENT} == *"libtorch"* ]]; then elif [[ ${BUILD_ENVIRONMENT} == *"libtorch"* ]]; then

View File

@ -1,49 +1,58 @@
# - docker_for_ecr_gc_build_job docker_build:
triggers:
- schedule:
cron: "0 15 * * 0"
filters:
branches:
only:
- master
jobs:
- docker_for_ecr_gc_build_job
- docker_build_job: - docker_build_job:
name: "docker-pytorch-linux-bionic-py3.6-clang9" name: "pytorch-linux-bionic-py3.6-clang9"
image_name: "pytorch-linux-bionic-py3.6-clang9" image_name: "pytorch-linux-bionic-py3.6-clang9"
- docker_build_job: - docker_build_job:
name: "docker-pytorch-linux-xenial-cuda10-cudnn7-py3-gcc7" name: "pytorch-linux-xenial-cuda10-cudnn7-py3-gcc7"
image_name: "pytorch-linux-xenial-cuda10-cudnn7-py3-gcc7" image_name: "pytorch-linux-xenial-cuda10-cudnn7-py3-gcc7"
- docker_build_job: - docker_build_job:
name: "docker-pytorch-linux-xenial-cuda10.1-cudnn7-py3-gcc7" name: "pytorch-linux-xenial-cuda10.1-cudnn7-py3-gcc7"
image_name: "pytorch-linux-xenial-cuda10.1-cudnn7-py3-gcc7" image_name: "pytorch-linux-xenial-cuda10.1-cudnn7-py3-gcc7"
- docker_build_job: - docker_build_job:
name: "docker-pytorch-linux-xenial-cuda10.2-cudnn7-py3-gcc7" name: "pytorch-linux-xenial-cuda10.2-cudnn7-py3-gcc7"
image_name: "pytorch-linux-xenial-cuda10.2-cudnn7-py3-gcc7" image_name: "pytorch-linux-xenial-cuda10.2-cudnn7-py3-gcc7"
- docker_build_job: - docker_build_job:
name: "docker-pytorch-linux-xenial-cuda9-cudnn7-py3" name: "pytorch-linux-xenial-cuda9-cudnn7-py3"
image_name: "pytorch-linux-xenial-cuda9-cudnn7-py3" image_name: "pytorch-linux-xenial-cuda9-cudnn7-py3"
- docker_build_job: - docker_build_job:
name: "docker-pytorch-linux-xenial-cuda9.2-cudnn7-py3-gcc5.4" name: "pytorch-linux-xenial-cuda9.2-cudnn7-py3-gcc5.4"
image_name: "pytorch-linux-xenial-cuda9.2-cudnn7-py3-gcc5.4" image_name: "pytorch-linux-xenial-cuda9.2-cudnn7-py3-gcc5.4"
- docker_build_job: - docker_build_job:
name: "docker-pytorch-linux-xenial-cuda9.2-cudnn7-py3-gcc7" name: "pytorch-linux-xenial-cuda9.2-cudnn7-py3-gcc7"
image_name: "pytorch-linux-xenial-cuda9.2-cudnn7-py3-gcc7" image_name: "pytorch-linux-xenial-cuda9.2-cudnn7-py3-gcc7"
- docker_build_job: - docker_build_job:
name: "docker-pytorch-linux-xenial-py3-clang5-android-ndk-r19c" name: "pytorch-linux-xenial-py3-clang5-android-ndk-r19c"
image_name: "pytorch-linux-xenial-py3-clang5-android-ndk-r19c" image_name: "pytorch-linux-xenial-py3-clang5-android-ndk-r19c"
- docker_build_job: - docker_build_job:
name: "docker-pytorch-linux-xenial-py3-clang5-asan" name: "pytorch-linux-xenial-py3-clang5-asan"
image_name: "pytorch-linux-xenial-py3-clang5-asan" image_name: "pytorch-linux-xenial-py3-clang5-asan"
- docker_build_job: - docker_build_job:
name: "docker-pytorch-linux-xenial-py3.8" name: "pytorch-linux-xenial-py3.8"
image_name: "pytorch-linux-xenial-py3.8" image_name: "pytorch-linux-xenial-py3.8"
- docker_build_job: - docker_build_job:
name: "docker-pytorch-linux-xenial-py3.6-clang7" name: "pytorch-linux-xenial-py3.6-clang7"
image_name: "pytorch-linux-xenial-py3.6-clang7" image_name: "pytorch-linux-xenial-py3.6-clang7"
- docker_build_job: - docker_build_job:
name: "docker-pytorch-linux-xenial-py3.6-gcc4.8" name: "pytorch-linux-xenial-py3.6-gcc4.8"
image_name: "pytorch-linux-xenial-py3.6-gcc4.8" image_name: "pytorch-linux-xenial-py3.6-gcc4.8"
- docker_build_job: - docker_build_job:
name: "docker-pytorch-linux-xenial-py3.6-gcc5.4" name: "pytorch-linux-xenial-py3.6-gcc5.4"
image_name: "pytorch-linux-xenial-py3.6-gcc5.4" image_name: "pytorch-linux-xenial-py3.6-gcc5.4"
- docker_build_job: - docker_build_job:
name: "docker-pytorch-linux-xenial-py3.6-gcc7.2" name: "pytorch-linux-xenial-py3.6-gcc7.2"
image_name: "pytorch-linux-xenial-py3.6-gcc7.2" image_name: "pytorch-linux-xenial-py3.6-gcc7.2"
- docker_build_job: - docker_build_job:
name: "docker-pytorch-linux-xenial-py3.6-gcc7" name: "pytorch-linux-xenial-py3.6-gcc7"
image_name: "pytorch-linux-xenial-py3.6-gcc7" image_name: "pytorch-linux-xenial-py3.6-gcc7"
- docker_build_job: - docker_build_job:
name: "docker-pytorch-linux-xenial-pynightly" name: "pytorch-linux-xenial-pynightly"
image_name: "pytorch-linux-xenial-pynightly" image_name: "pytorch-linux-xenial-pynightly"

View File

@ -3,8 +3,7 @@
build_environment: "pytorch-linux-xenial-py3-clang5-android-ndk-r19c-x86_32" build_environment: "pytorch-linux-xenial-py3-clang5-android-ndk-r19c-x86_32"
requires: requires:
- setup - setup
- docker-pytorch-linux-xenial-py3-clang5-android-ndk-r19c docker_image: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-py3-clang5-android-ndk-r19c:9a3986fa-7ce7-4a36-a001-3c9bef9892e2"
docker_image: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-py3-clang5-android-ndk-r19c"
filters: filters:
branches: branches:
only: nightly only: nightly
@ -13,8 +12,7 @@
build_environment: "pytorch-linux-xenial-py3-clang5-android-ndk-r19c-x86_64" build_environment: "pytorch-linux-xenial-py3-clang5-android-ndk-r19c-x86_64"
requires: requires:
- setup - setup
- docker-pytorch-linux-xenial-py3-clang5-android-ndk-r19c docker_image: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-py3-clang5-android-ndk-r19c:9a3986fa-7ce7-4a36-a001-3c9bef9892e2"
docker_image: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-py3-clang5-android-ndk-r19c"
filters: filters:
branches: branches:
only: nightly only: nightly
@ -23,8 +21,7 @@
build_environment: "pytorch-linux-xenial-py3-clang5-android-ndk-r19c-arm-v7a" build_environment: "pytorch-linux-xenial-py3-clang5-android-ndk-r19c-arm-v7a"
requires: requires:
- setup - setup
- docker-pytorch-linux-xenial-py3-clang5-android-ndk-r19c docker_image: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-py3-clang5-android-ndk-r19c:9a3986fa-7ce7-4a36-a001-3c9bef9892e2"
docker_image: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-py3-clang5-android-ndk-r19c"
filters: filters:
branches: branches:
only: nightly only: nightly
@ -33,8 +30,7 @@
build_environment: "pytorch-linux-xenial-py3-clang5-android-ndk-r19c-arm-v8a" build_environment: "pytorch-linux-xenial-py3-clang5-android-ndk-r19c-arm-v8a"
requires: requires:
- setup - setup
- docker-pytorch-linux-xenial-py3-clang5-android-ndk-r19c docker_image: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-py3-clang5-android-ndk-r19c:9a3986fa-7ce7-4a36-a001-3c9bef9892e2"
docker_image: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-py3-clang5-android-ndk-r19c"
filters: filters:
branches: branches:
only: nightly only: nightly

View File

@ -2,9 +2,8 @@
name: pytorch_bazel_build name: pytorch_bazel_build
requires: requires:
- setup - setup
- docker-pytorch-linux-xenial-py3.6-gcc7
build_environment: "pytorch-linux-xenial-py3.6-gcc7-bazel-build" build_environment: "pytorch-linux-xenial-py3.6-gcc7-bazel-build"
docker_image: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-py3.6-gcc7" docker_image: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-py3.6-gcc7:f990c76a-a798-42bb-852f-5be5006f8026"
resource_class: large resource_class: large
- pytorch_linux_bazel_test: - pytorch_linux_bazel_test:
name: pytorch_bazel_test name: pytorch_bazel_test
@ -12,4 +11,4 @@
- setup - setup
- pytorch_bazel_build - pytorch_bazel_build
build_environment: "pytorch-linux-xenial-py3.6-gcc7-bazel-test" build_environment: "pytorch-linux-xenial-py3.6-gcc7-bazel-test"
docker_image: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-py3.6-gcc7" docker_image: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-py3.6-gcc7:f990c76a-a798-42bb-852f-5be5006f8026"

View File

@ -4,7 +4,7 @@
- setup - setup
- pytorch_linux_xenial_py3_6_gcc5_4_build - pytorch_linux_xenial_py3_6_gcc5_4_build
build_environment: "pytorch-linux-xenial-py3.6-gcc5.4-ge_config_legacy-test" build_environment: "pytorch-linux-xenial-py3.6-gcc5.4-ge_config_legacy-test"
docker_image: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-py3.6-gcc5.4" docker_image: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-py3.6-gcc5.4:9a3986fa-7ce7-4a36-a001-3c9bef9892e2"
resource_class: large resource_class: large
- pytorch_linux_test: - pytorch_linux_test:
name: pytorch_linux_xenial_py3_6_gcc5_4_ge_config_profiling_test name: pytorch_linux_xenial_py3_6_gcc5_4_ge_config_profiling_test
@ -12,7 +12,7 @@
- setup - setup
- pytorch_linux_xenial_py3_6_gcc5_4_build - pytorch_linux_xenial_py3_6_gcc5_4_build
build_environment: "pytorch-linux-xenial-py3.6-gcc5.4-ge_config_profiling-test" build_environment: "pytorch-linux-xenial-py3.6-gcc5.4-ge_config_profiling-test"
docker_image: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-py3.6-gcc5.4" docker_image: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-py3.6-gcc5.4:9a3986fa-7ce7-4a36-a001-3c9bef9892e2"
resource_class: large resource_class: large
- pytorch_linux_test: - pytorch_linux_test:
name: pytorch_linux_xenial_cuda10_2_cudnn7_py3_ge_config_legacy_test name: pytorch_linux_xenial_cuda10_2_cudnn7_py3_ge_config_legacy_test
@ -20,7 +20,7 @@
- setup - setup
- pytorch_linux_xenial_cuda10_2_cudnn7_py3_gcc7_build - pytorch_linux_xenial_cuda10_2_cudnn7_py3_gcc7_build
build_environment: "pytorch-linux-xenial-cuda10.1-cudnn7-ge_config_legacy-test" build_environment: "pytorch-linux-xenial-cuda10.1-cudnn7-ge_config_legacy-test"
docker_image: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-cuda10.2-cudnn7-py3-gcc7" docker_image: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-cuda10.2-cudnn7-py3-gcc7:9a3986fa-7ce7-4a36-a001-3c9bef9892e2"
use_cuda_docker_runtime: "1" use_cuda_docker_runtime: "1"
resource_class: gpu.medium resource_class: gpu.medium
- pytorch_linux_test: - pytorch_linux_test:
@ -29,6 +29,6 @@
- setup - setup
- pytorch_linux_xenial_cuda10_2_cudnn7_py3_gcc7_build - pytorch_linux_xenial_cuda10_2_cudnn7_py3_gcc7_build
build_environment: "pytorch-linux-xenial-cuda10.1-cudnn7-ge_config_profiling-test" build_environment: "pytorch-linux-xenial-cuda10.1-cudnn7-ge_config_profiling-test"
docker_image: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-cuda10.2-cudnn7-py3-gcc7" docker_image: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-cuda10.2-cudnn7-py3-gcc7:9a3986fa-7ce7-4a36-a001-3c9bef9892e2"
use_cuda_docker_runtime: "1" use_cuda_docker_runtime: "1"
resource_class: gpu.medium resource_class: gpu.medium

View File

@ -3,32 +3,28 @@
name: pytorch_linux_xenial_py3_clang5_mobile_build name: pytorch_linux_xenial_py3_clang5_mobile_build
requires: requires:
- setup - setup
- docker-pytorch-linux-xenial-py3-clang5-asan
build_environment: "pytorch-linux-xenial-py3-clang5-mobile-build" build_environment: "pytorch-linux-xenial-py3-clang5-mobile-build"
build_only: "1" build_only: "1"
docker_image: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-py3-clang5-asan" docker_image: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-py3-clang5-asan:9a3986fa-7ce7-4a36-a001-3c9bef9892e2"
- pytorch_linux_build: - pytorch_linux_build:
name: pytorch_linux_xenial_py3_clang5_mobile_custom_build_static name: pytorch_linux_xenial_py3_clang5_mobile_custom_build_static
requires: requires:
- setup - setup
- docker-pytorch-linux-xenial-py3-clang5-asan
build_environment: "pytorch-linux-xenial-py3-clang5-mobile-custom-build-static" build_environment: "pytorch-linux-xenial-py3-clang5-mobile-custom-build-static"
build_only: "1" build_only: "1"
docker_image: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-py3-clang5-asan" docker_image: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-py3-clang5-asan:9a3986fa-7ce7-4a36-a001-3c9bef9892e2"
- pytorch_linux_build: - pytorch_linux_build:
name: pytorch_linux_xenial_py3_clang5_mobile_custom_build_dynamic name: pytorch_linux_xenial_py3_clang5_mobile_custom_build_dynamic
requires: requires:
- setup - setup
- docker-pytorch-linux-xenial-py3-clang5-android-ndk-r19c
build_environment: "pytorch-linux-xenial-py3-clang5-mobile-custom-build-dynamic" build_environment: "pytorch-linux-xenial-py3-clang5-mobile-custom-build-dynamic"
build_only: "1" build_only: "1"
# Use LLVM-DEV toolchain in android-ndk-r19c docker image # Use LLVM-DEV toolchain in android-ndk-r19c docker image
docker_image: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-py3-clang5-android-ndk-r19c" docker_image: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-py3-clang5-android-ndk-r19c:9a3986fa-7ce7-4a36-a001-3c9bef9892e2"
- pytorch_linux_build: - pytorch_linux_build:
name: pytorch_linux_xenial_py3_clang5_mobile_code_analysis name: pytorch_linux_xenial_py3_clang5_mobile_code_analysis
requires: requires:
- setup - setup
- docker-pytorch-linux-xenial-py3-clang5-android-ndk-r19c
# Most of this CI is already covered by "mobile-custom-build-dynamic" job # Most of this CI is already covered by "mobile-custom-build-dynamic" job
filters: filters:
branches: branches:
@ -39,4 +35,4 @@
build_environment: "pytorch-linux-xenial-py3-clang5-mobile-code-analysis" build_environment: "pytorch-linux-xenial-py3-clang5-mobile-code-analysis"
build_only: "1" build_only: "1"
# Use LLVM-DEV toolchain in android-ndk-r19c docker image # Use LLVM-DEV toolchain in android-ndk-r19c docker image
docker_image: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-py3-clang5-android-ndk-r19c" docker_image: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-py3-clang5-android-ndk-r19c:9a3986fa-7ce7-4a36-a001-3c9bef9892e2"

View File

@ -21,6 +21,10 @@ jobs:
run: | run: |
pip install -r requirements.txt pip install -r requirements.txt
cd .circleci && ./ensure-consistency.py cd .circleci && ./ensure-consistency.py
- name: Ensure Docker version is correctly deployed
run: |
pip install pyyaml
.circleci/validate-docker-version.py
- name: Shellcheck Jenkins scripts - name: Shellcheck Jenkins scripts
run: | run: |
sudo apt-get install -y shellcheck sudo apt-get install -y shellcheck