Revert D21536269: [pytorch][PR] [RELAND] [RELAND] .circleci: Improve docker image build workflow
Test Plan: revert-hammer
Differential Revision:
D21536269
Original commit changeset: 5577f84fa49d
fbshipit-source-id: dd824f74521595b7a0efac7ae94ce3c64df04a20
diff --git a/.circleci/cimodel/data/pytorch_build_definitions.py b/.circleci/cimodel/data/pytorch_build_definitions.py
index b560aa3..6ef69b6 100644
--- a/.circleci/cimodel/data/pytorch_build_definitions.py
+++ b/.circleci/cimodel/data/pytorch_build_definitions.py
@@ -11,6 +11,11 @@
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
class Conf:
distro: str
@@ -55,14 +60,11 @@
return result
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
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):
return self.get_parms(False) + [build_or_test]
@@ -95,9 +97,6 @@
job_def["name"] = self.gen_build_name(phase)
job_def["requires"] = ["setup"]
- if phase == "build":
- job_def["requires"].append(miniutils.quote("docker-" + self.gen_docker_image_name()))
-
if phase == "test":
# TODO When merging the caffe2 and pytorch jobs, it might be convenient for a while to make a
diff --git a/.circleci/config.yml b/.circleci/config.yml
index d7c079e..37e9fd4 100644
--- a/.circleci/config.yml
+++ b/.circleci/config.yml
@@ -39,21 +39,6 @@
name: Attaching 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.,
# installing Git client, checking out code, setting up CI env, and
# building/testing.
@@ -416,7 +401,6 @@
steps:
# See Note [Workspace for CircleCI scripts] in job-specs-setup.yml
- attach_scripts
- - load_shared_env
- setup_linux_system_environment
- checkout
- optional_merge_target_branch
@@ -427,9 +411,9 @@
command: |
set -e
# Pull Docker image and run build
- echo "DOCKER_IMAGE: "${DOCKER_IMAGE}:${DOCKER_TAG}
- time docker pull ${DOCKER_IMAGE}:${DOCKER_TAG} >/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})
+ echo "DOCKER_IMAGE: "${DOCKER_IMAGE}
+ 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})
git submodule sync && git submodule update -q --init --recursive
@@ -452,7 +436,7 @@
# The xla build uses the same docker image as
# 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.
- output_image=${DOCKER_IMAGE}:${DOCKER_TAG}-${CIRCLE_SHA1}
+ output_image=${DOCKER_IMAGE}-${CIRCLE_SHA1}
if [[ ${BUILD_ENVIRONMENT} == *"xla"* ]]; then
export COMMIT_DOCKER_IMAGE=$output_image-xla
elif [[ ${BUILD_ENVIRONMENT} == *"libtorch"* ]]; then
@@ -479,7 +463,6 @@
steps:
# See Note [Workspace for CircleCI scripts] in job-specs-setup.yml
- attach_scripts
- - load_shared_env
- setup_linux_system_environment
- setup_ci_environment
- run:
@@ -488,7 +471,7 @@
command: |
set -e
# See Note [Special build images]
- output_image=${DOCKER_IMAGE}:${DOCKER_TAG}-${CIRCLE_SHA1}
+ output_image=${DOCKER_IMAGE}-${CIRCLE_SHA1}
if [[ ${BUILD_ENVIRONMENT} == *"xla"* ]]; then
export COMMIT_DOCKER_IMAGE=$output_image-xla
elif [[ ${BUILD_ENVIRONMENT} == *"libtorch"* ]]; then
@@ -1296,14 +1279,13 @@
environment:
BUILD_ENVIRONMENT: pytorch-python-doc-push
# 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
machine:
image: ubuntu-1604:201903-01
steps:
# See Note [Workspace for CircleCI scripts] in job-specs-setup.yml
- attach_scripts
- - load_shared_env
- setup_linux_system_environment
- setup_ci_environment
- run:
@@ -1311,7 +1293,7 @@
no_output_timeout: "1h"
command: |
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}
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})
@@ -1348,14 +1330,13 @@
pytorch_cpp_doc_push:
environment:
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
machine:
image: ubuntu-1604:201903-01
steps:
# See Note [Workspace for CircleCI scripts] in job-specs-setup.yml
- attach_scripts
- - load_shared_env
- setup_linux_system_environment
- setup_ci_environment
- run:
@@ -1363,7 +1344,7 @@
no_output_timeout: "1h"
command: |
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}
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})
@@ -1459,14 +1440,13 @@
pytorch_android_gradle_build:
environment:
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"
resource_class: large
machine:
image: ubuntu-1604:201903-01
steps:
- attach_scripts
- - load_shared_env
- setup_linux_system_environment
- checkout
- setup_ci_environment
@@ -1475,7 +1455,7 @@
no_output_timeout: "1h"
command: |
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_64=${docker_image_commit}-android-x86_64
@@ -1546,14 +1526,13 @@
pytorch_android_publish_snapshot:
environment:
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"
resource_class: large
machine:
image: ubuntu-1604:201903-01
steps:
- attach_scripts
- - load_shared_env
- setup_linux_system_environment
- checkout
- setup_ci_environment
@@ -1562,7 +1541,7 @@
no_output_timeout: "1h"
command: |
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
@@ -1583,14 +1562,13 @@
pytorch_android_gradle_build-x86_32:
environment:
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"
resource_class: large
machine:
image: ubuntu-1604:201903-01
steps:
- attach_scripts
- - load_shared_env
- run:
name: filter out not PR runs
no_output_timeout: "5m"
@@ -1607,7 +1585,7 @@
no_output_timeout: "1h"
command: |
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}
# x86
@@ -1752,7 +1730,6 @@
steps:
# See Note [Workspace for CircleCI scripts] in job-specs-setup.yml
- attach_scripts
- - load_shared_env
- setup_linux_system_environment
- checkout
- setup_ci_environment
@@ -1762,9 +1739,9 @@
command: |
set -e
# Pull Docker image and run build
- echo "DOCKER_IMAGE: "${DOCKER_IMAGE}:${DOCKER_TAG}
- time docker pull ${DOCKER_IMAGE}:${DOCKER_TAG} >/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})
+ echo "DOCKER_IMAGE: "${DOCKER_IMAGE}
+ 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})
echo "Do NOT merge master branch into $CIRCLE_BRANCH in environment $BUILD_ENVIRONMENT"
@@ -1779,7 +1756,7 @@
# Push intermediate Docker image for next phase to use
if [ -z "${BUILD_ONLY}" ]; then
# 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
docker commit "$id" ${COMMIT_DOCKER_IMAGE}
time docker push ${COMMIT_DOCKER_IMAGE}
@@ -1792,7 +1769,6 @@
steps:
# See Note [Workspace for CircleCI scripts] in job-specs-setup.yml
- attach_scripts
- - load_shared_env
- setup_linux_system_environment
- setup_ci_environment
- run:
@@ -1800,7 +1776,7 @@
no_output_timeout: "90m"
command: |
set -e
- output_image=${DOCKER_IMAGE}:${DOCKER_TAG}-bazel-${CIRCLE_SHA1}
+ output_image=${DOCKER_IMAGE}-bazel-${CIRCLE_SHA1}
export COMMIT_DOCKER_IMAGE=$output_image
echo "DOCKER_IMAGE: "${COMMIT_DOCKER_IMAGE}
@@ -1833,14 +1809,14 @@
pytorch_doc_test:
environment:
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
machine:
image: ubuntu-1604:201903-01
steps:
# See Note [Workspace for CircleCI scripts] in job-specs-setup.yml
- attach_scripts
- - load_shared_env
- setup_linux_system_environment
- setup_ci_environment
- run:
@@ -1848,7 +1824,7 @@
no_output_timeout: "30m"
command: |
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}
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})
@@ -1992,48 +1968,9 @@
resource_class: large
environment:
IMAGE_NAME: << parameters.image_name >>
- # Enable 'docker manifest'
- DOCKER_CLI_EXPERIMENTAL: "enabled"
- DOCKER_BUILDKIT: 1
steps:
- 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
- PREVIOUS_DOCKER_TAG=$(git rev-parse "$(git merge-base HEAD << pipeline.git.base_revision >>):.circleci/docker")
- # 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
- # circleci-agent step halt doesn't actually halt the step so we need to
- # explicitly exit the step here ourselves before it causes too much trouble
- exit 0
- fi
- # If no image exists but the hash is the same as the previous hash then we should error out here
- 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:
name: build_docker_image_<< parameters.image_name >>
no_output_timeout: "1h"
command: |
@@ -2041,9 +1978,7 @@
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}
set -x
- source .circleci/shared/env_file
cd .circleci/docker && ./build_docker.sh
-
docker_for_ecr_gc_build_job:
machine:
image: ubuntu-1604:201903-01
@@ -2070,25 +2005,14 @@
type: string
environment:
PROJECT: << parameters.project >>
- # TODO: Remove legacy image tags once we feel comfortable with new docker image tags
IMAGE_TAG: << parameters.tags_to_keep >>
docker:
- image: 308535385114.dkr.ecr.us-east-1.amazonaws.com/gc/ecr
aws_auth:
aws_access_key_id: ${CIRCLECI_AWS_ACCESS_KEY_FOR_DOCKER_BUILDER_V1}
aws_secret_access_key: ${CIRCLECI_AWS_SECRET_KEY_FOR_DOCKER_BUILDER_V1}
+
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:
name: garbage collecting for ecr images
no_output_timeout: "1h"
@@ -2097,7 +2021,7 @@
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}
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:
@@ -2472,7 +2396,6 @@
name: pytorch_linux_xenial_pynightly_build
requires:
- setup
- - "docker-pytorch-linux-xenial-pynightly"
filters:
branches:
only:
@@ -2480,7 +2403,7 @@
- /ci-all\/.*/
- /release\/.*/
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:
name: pytorch_linux_xenial_pynightly_test
requires:
@@ -2493,22 +2416,21 @@
- /ci-all\/.*/
- /release\/.*/
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
- pytorch_linux_build:
name: pytorch_linux_xenial_py3_6_gcc5_4_build
requires:
- setup
- - "docker-pytorch-linux-xenial-py3.6-gcc5.4"
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:
name: pytorch_linux_xenial_py3_6_gcc5_4_test
requires:
- setup
- pytorch_linux_xenial_py3_6_gcc5_4_build
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
- pytorch_python_doc_push:
requires:
@@ -2525,13 +2447,12 @@
- setup
- pytorch_linux_xenial_py3_6_gcc5_4_build
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
- pytorch_linux_build:
name: pytorch_paralleltbb_linux_xenial_py3_6_gcc5_4_build
requires:
- setup
- - "docker-pytorch-linux-xenial-py3.6-gcc5.4"
filters:
branches:
only:
@@ -2539,7 +2460,7 @@
- /ci-all\/.*/
- /release\/.*/
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:
name: pytorch_paralleltbb_linux_xenial_py3_6_gcc5_4_test
requires:
@@ -2552,13 +2473,12 @@
- /ci-all\/.*/
- /release\/.*/
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
- pytorch_linux_build:
name: pytorch_parallelnative_linux_xenial_py3_6_gcc5_4_build
requires:
- setup
- - "docker-pytorch-linux-xenial-py3.6-gcc5.4"
filters:
branches:
only:
@@ -2566,7 +2486,7 @@
- /ci-all\/.*/
- /release\/.*/
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:
name: pytorch_parallelnative_linux_xenial_py3_6_gcc5_4_test
requires:
@@ -2579,13 +2499,12 @@
- /ci-all\/.*/
- /release\/.*/
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
- pytorch_linux_build:
name: pytorch_linux_xenial_py3_6_gcc7_build
requires:
- setup
- - "docker-pytorch-linux-xenial-py3.6-gcc7"
filters:
branches:
only:
@@ -2593,7 +2512,7 @@
- /ci-all\/.*/
- /release\/.*/
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:
name: pytorch_linux_xenial_py3_6_gcc7_test
requires:
@@ -2606,28 +2525,26 @@
- /ci-all\/.*/
- /release\/.*/
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
- pytorch_linux_build:
name: pytorch_linux_xenial_py3_clang5_asan_build
requires:
- setup
- - "docker-pytorch-linux-xenial-py3-clang5-asan"
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:
name: pytorch_linux_xenial_py3_clang5_asan_test
requires:
- setup
- pytorch_linux_xenial_py3_clang5_asan_build
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
- pytorch_linux_build:
name: pytorch_linux_xenial_cuda9_2_cudnn7_py3_gcc7_build
requires:
- setup
- - "docker-pytorch-linux-xenial-cuda9.2-cudnn7-py3-gcc7"
filters:
branches:
only:
@@ -2635,7 +2552,7 @@
- /ci-all\/.*/
- /release\/.*/
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:
name: pytorch_linux_xenial_cuda9_2_cudnn7_py3_gcc7_test
requires:
@@ -2648,14 +2565,13 @@
- /ci-all\/.*/
- /release\/.*/
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"
resource_class: gpu.medium
- pytorch_linux_build:
name: pytorch_linux_xenial_cuda10_1_cudnn7_py3_gcc7_build
requires:
- setup
- - "docker-pytorch-linux-xenial-cuda10.1-cudnn7-py3-gcc7"
filters:
branches:
only:
@@ -2663,7 +2579,7 @@
- /ci-all\/.*/
- /release\/.*/
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:
name: pytorch_linux_xenial_cuda10_1_cudnn7_py3_gcc7_test
requires:
@@ -2676,7 +2592,7 @@
- /ci-all\/.*/
- /release\/.*/
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"
resource_class: gpu.medium
- pytorch_linux_test:
@@ -2691,7 +2607,7 @@
- /ci-all\/.*/
- /release\/.*/
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"
resource_class: gpu.large
- pytorch_linux_test:
@@ -2706,7 +2622,7 @@
- /ci-all\/.*/
- /release\/.*/
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"
resource_class: gpu.medium
- pytorch_linux_test:
@@ -2721,7 +2637,7 @@
- /ci-all\/.*/
- /release\/.*/
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"
resource_class: gpu.medium
- pytorch_linux_test:
@@ -2736,7 +2652,7 @@
- /ci-all\/.*/
- /release\/.*/
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"
resource_class: gpu.medium
- pytorch_linux_test:
@@ -2751,52 +2667,48 @@
- /ci-all\/.*/
- /release\/.*/
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
- pytorch_linux_build:
name: pytorch_linux_xenial_cuda10_2_cudnn7_py3_gcc7_build
requires:
- setup
- - "docker-pytorch-linux-xenial-cuda10.2-cudnn7-py3-gcc7"
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:
name: pytorch_linux_xenial_cuda10_2_cudnn7_py3_gcc7_test
requires:
- setup
- pytorch_linux_xenial_cuda10_2_cudnn7_py3_gcc7_build
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"
resource_class: gpu.medium
- pytorch_linux_build:
name: pytorch_libtorch_linux_xenial_cuda10_2_cudnn7_py3_gcc7_build
requires:
- setup
- - "docker-pytorch-linux-xenial-cuda10.2-cudnn7-py3-gcc7"
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:
name: pytorch_libtorch_linux_xenial_cuda10_2_cudnn7_py3_gcc7_test
requires:
- setup
- pytorch_libtorch_linux_xenial_cuda10_2_cudnn7_py3_gcc7_build
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"
resource_class: gpu.medium
- pytorch_linux_build:
name: pytorch_linux_xenial_py3_clang5_android_ndk_r19c_x86_32_build
requires:
- setup
- - "docker-pytorch-linux-xenial-py3-clang5-android-ndk-r19c"
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:
name: pytorch_linux_xenial_py3_clang5_android_ndk_r19c_x86_64_build
requires:
- setup
- - "docker-pytorch-linux-xenial-py3-clang5-android-ndk-r19c"
filters:
branches:
only:
@@ -2804,12 +2716,11 @@
- /ci-all\/.*/
- /release\/.*/
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:
name: pytorch_linux_xenial_py3_clang5_android_ndk_r19c_arm_v7a_build
requires:
- setup
- - "docker-pytorch-linux-xenial-py3-clang5-android-ndk-r19c"
filters:
branches:
only:
@@ -2817,12 +2728,11 @@
- /ci-all\/.*/
- /release\/.*/
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:
name: pytorch_linux_xenial_py3_clang5_android_ndk_r19c_arm_v8a_build
requires:
- setup
- - "docker-pytorch-linux-xenial-py3-clang5-android-ndk-r19c"
filters:
branches:
only:
@@ -2830,36 +2740,34 @@
- /ci-all\/.*/
- /release\/.*/
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:
name: pytorch_linux_bionic_py3_6_clang9_build
requires:
- setup
- - "docker-pytorch-linux-bionic-py3.6-clang9"
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:
name: pytorch_linux_bionic_py3_6_clang9_test
requires:
- setup
- pytorch_linux_bionic_py3_6_clang9_build
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
- pytorch_linux_build:
name: pytorch_xla_linux_bionic_py3_6_clang9_build
requires:
- setup
- - "docker-pytorch-linux-bionic-py3.6-clang9"
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:
name: pytorch_xla_linux_bionic_py3_6_clang9_test
requires:
- setup
- pytorch_xla_linux_bionic_py3_6_clang9_build
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
# Warning: indentation here matters!
@@ -2926,32 +2834,28 @@
name: pytorch_linux_xenial_py3_clang5_mobile_build
requires:
- setup
- - docker-pytorch-linux-xenial-py3-clang5-asan
build_environment: "pytorch-linux-xenial-py3-clang5-mobile-build"
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:
name: pytorch_linux_xenial_py3_clang5_mobile_custom_build_static
requires:
- setup
- - docker-pytorch-linux-xenial-py3-clang5-asan
build_environment: "pytorch-linux-xenial-py3-clang5-mobile-custom-build-static"
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:
name: pytorch_linux_xenial_py3_clang5_mobile_custom_build_dynamic
requires:
- setup
- - docker-pytorch-linux-xenial-py3-clang5-android-ndk-r19c
build_environment: "pytorch-linux-xenial-py3-clang5-mobile-custom-build-dynamic"
build_only: "1"
# 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:
name: pytorch_linux_xenial_py3_clang5_mobile_code_analysis
requires:
- setup
- - docker-pytorch-linux-xenial-py3-clang5-android-ndk-r19c
# Most of this CI is already covered by "mobile-custom-build-dynamic" job
filters:
branches:
@@ -2962,14 +2866,14 @@
build_environment: "pytorch-linux-xenial-py3-clang5-mobile-code-analysis"
build_only: "1"
# 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:
name: pytorch_linux_xenial_py3_6_gcc5_4_ge_config_legacy_test
requires:
- setup
- pytorch_linux_xenial_py3_6_gcc5_4_build
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
- pytorch_linux_test:
name: pytorch_linux_xenial_py3_6_gcc5_4_ge_config_profiling_test
@@ -2977,7 +2881,7 @@
- setup
- pytorch_linux_xenial_py3_6_gcc5_4_build
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
- pytorch_linux_test:
name: pytorch_linux_xenial_cuda10_2_cudnn7_py3_ge_config_legacy_test
@@ -2985,7 +2889,7 @@
- setup
- pytorch_linux_xenial_cuda10_2_cudnn7_py3_gcc7_build
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"
resource_class: gpu.medium
- pytorch_linux_test:
@@ -2994,16 +2898,15 @@
- setup
- pytorch_linux_xenial_cuda10_2_cudnn7_py3_gcc7_build
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"
resource_class: gpu.medium
- pytorch_linux_bazel_build:
name: pytorch_bazel_build
requires:
- setup
- - docker-pytorch-linux-xenial-py3.6-gcc7
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
- pytorch_linux_bazel_test:
name: pytorch_bazel_test
@@ -3011,7 +2914,7 @@
- setup
- pytorch_bazel_build
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:
name: caffe2_onnx_main_py3_6_clang7_ubuntu16_04_build
requires:
@@ -5038,8 +4941,7 @@
build_environment: "pytorch-linux-xenial-py3-clang5-android-ndk-r19c-x86_32"
requires:
- 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"
+ docker_image: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-py3-clang5-android-ndk-r19c:9a3986fa-7ce7-4a36-a001-3c9bef9892e2"
filters:
branches:
only: nightly
@@ -5048,8 +4950,7 @@
build_environment: "pytorch-linux-xenial-py3-clang5-android-ndk-r19c-x86_64"
requires:
- 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"
+ docker_image: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-py3-clang5-android-ndk-r19c:9a3986fa-7ce7-4a36-a001-3c9bef9892e2"
filters:
branches:
only: nightly
@@ -5058,8 +4959,7 @@
build_environment: "pytorch-linux-xenial-py3-clang5-android-ndk-r19c-arm-v7a"
requires:
- 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"
+ docker_image: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-py3-clang5-android-ndk-r19c:9a3986fa-7ce7-4a36-a001-3c9bef9892e2"
filters:
branches:
only: nightly
@@ -5068,8 +4968,7 @@
build_environment: "pytorch-linux-xenial-py3-clang5-android-ndk-r19c-arm-v8a"
requires:
- 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"
+ docker_image: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-py3-clang5-android-ndk-r19c:9a3986fa-7ce7-4a36-a001-3c9bef9892e2"
filters:
branches:
only: nightly
@@ -7086,54 +6985,63 @@
branches:
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:
- name: "docker-pytorch-linux-bionic-py3.6-clang9"
+ name: "pytorch-linux-bionic-py3.6-clang9"
image_name: "pytorch-linux-bionic-py3.6-clang9"
- 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"
- 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"
- 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"
- 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"
- 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"
- 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"
- 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"
- 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"
- docker_build_job:
- name: "docker-pytorch-linux-xenial-py3.8"
+ name: "pytorch-linux-xenial-py3.8"
image_name: "pytorch-linux-xenial-py3.8"
- 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"
- 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"
- 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"
- 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"
- 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"
- docker_build_job:
- name: "docker-pytorch-linux-xenial-pynightly"
+ name: "pytorch-linux-xenial-pynightly"
image_name: "pytorch-linux-xenial-pynightly"
ecr_gc:
triggers:
diff --git a/.circleci/docker/build.sh b/.circleci/docker/build.sh
index d6fddfa..6dc249f 100755
--- a/.circleci/docker/build.sh
+++ b/.circleci/docker/build.sh
@@ -188,7 +188,6 @@
# it's no longer needed.
docker build \
--no-cache \
- --progress=plain \
--build-arg "TRAVIS_DL_URL_PREFIX=${TRAVIS_DL_URL_PREFIX}" \
--build-arg "BUILD_ENVIRONMENT=${image}" \
--build-arg "PROTOBUF=${PROTOBUF:-}" \
diff --git a/.circleci/docker/build_docker.sh b/.circleci/docker/build_docker.sh
index 1e86950..eeb4e70 100755
--- a/.circleci/docker/build_docker.sh
+++ b/.circleci/docker/build_docker.sh
@@ -6,8 +6,14 @@
$* || (sleep 1 && $*) || (sleep 2 && $*)
}
-# Setup from previous step, typically located in .circleci/artifacts/env_file
-tag="${DOCKER_TAG}"
+# If UPSTREAM_BUILD_ID is set (see trigger job), then we can
+# 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"
diff --git a/.circleci/ecr_gc_docker/Dockerfile b/.circleci/ecr_gc_docker/Dockerfile
index 36347d5..d0198ac 100644
--- a/.circleci/ecr_gc_docker/Dockerfile
+++ b/.circleci/ecr_gc_docker/Dockerfile
@@ -1,6 +1,6 @@
FROM ubuntu:16.04
-RUN apt-get update && apt-get install -y git python-pip && rm -rf /var/lib/apt/lists/* /var/log/dpkg.log
+RUN apt-get update && apt-get install -y python-pip && rm -rf /var/lib/apt/lists/* /var/log/dpkg.log
ADD requirements.txt /requirements.txt
diff --git a/.circleci/validate-docker-version.py b/.circleci/validate-docker-version.py
new file mode 100755
index 0000000..9410b88
--- /dev/null
+++ b/.circleci/validate-docker-version.py
@@ -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()
diff --git a/.circleci/verbatim-sources/commands.yml b/.circleci/verbatim-sources/commands.yml
index 683a0b7..a4ec6d8 100644
--- a/.circleci/verbatim-sources/commands.yml
+++ b/.circleci/verbatim-sources/commands.yml
@@ -10,21 +10,6 @@
name: Attaching 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.,
# installing Git client, checking out code, setting up CI env, and
# building/testing.
diff --git a/.circleci/verbatim-sources/docker_jobs.yml b/.circleci/verbatim-sources/docker_jobs.yml
index 3918cc0..6ce3440 100644
--- a/.circleci/verbatim-sources/docker_jobs.yml
+++ b/.circleci/verbatim-sources/docker_jobs.yml
@@ -8,48 +8,9 @@
resource_class: large
environment:
IMAGE_NAME: << parameters.image_name >>
- # Enable 'docker manifest'
- DOCKER_CLI_EXPERIMENTAL: "enabled"
- DOCKER_BUILDKIT: 1
steps:
- 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
- PREVIOUS_DOCKER_TAG=$(git rev-parse "$(git merge-base HEAD << pipeline.git.base_revision >>):.circleci/docker")
- # 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
- # circleci-agent step halt doesn't actually halt the step so we need to
- # explicitly exit the step here ourselves before it causes too much trouble
- exit 0
- fi
- # If no image exists but the hash is the same as the previous hash then we should error out here
- 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:
name: build_docker_image_<< parameters.image_name >>
no_output_timeout: "1h"
command: |
@@ -57,9 +18,7 @@
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}
set -x
- source .circleci/shared/env_file
cd .circleci/docker && ./build_docker.sh
-
docker_for_ecr_gc_build_job:
machine:
image: ubuntu-1604:201903-01
@@ -86,25 +45,14 @@
type: string
environment:
PROJECT: << parameters.project >>
- # TODO: Remove legacy image tags once we feel comfortable with new docker image tags
IMAGE_TAG: << parameters.tags_to_keep >>
docker:
- image: 308535385114.dkr.ecr.us-east-1.amazonaws.com/gc/ecr
aws_auth:
aws_access_key_id: ${CIRCLECI_AWS_ACCESS_KEY_FOR_DOCKER_BUILDER_V1}
aws_secret_access_key: ${CIRCLECI_AWS_SECRET_KEY_FOR_DOCKER_BUILDER_V1}
+
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:
name: garbage collecting for ecr images
no_output_timeout: "1h"
@@ -113,7 +61,7 @@
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}
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:
diff --git a/.circleci/verbatim-sources/job-specs-custom.yml b/.circleci/verbatim-sources/job-specs-custom.yml
index 2af23eb..aa22f22 100644
--- a/.circleci/verbatim-sources/job-specs-custom.yml
+++ b/.circleci/verbatim-sources/job-specs-custom.yml
@@ -2,14 +2,13 @@
environment:
BUILD_ENVIRONMENT: pytorch-python-doc-push
# 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
machine:
image: ubuntu-1604:201903-01
steps:
# See Note [Workspace for CircleCI scripts] in job-specs-setup.yml
- attach_scripts
- - load_shared_env
- setup_linux_system_environment
- setup_ci_environment
- run:
@@ -17,7 +16,7 @@
no_output_timeout: "1h"
command: |
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}
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})
@@ -54,14 +53,13 @@
pytorch_cpp_doc_push:
environment:
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
machine:
image: ubuntu-1604:201903-01
steps:
# See Note [Workspace for CircleCI scripts] in job-specs-setup.yml
- attach_scripts
- - load_shared_env
- setup_linux_system_environment
- setup_ci_environment
- run:
@@ -69,7 +67,7 @@
no_output_timeout: "1h"
command: |
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}
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})
@@ -165,14 +163,13 @@
pytorch_android_gradle_build:
environment:
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"
resource_class: large
machine:
image: ubuntu-1604:201903-01
steps:
- attach_scripts
- - load_shared_env
- setup_linux_system_environment
- checkout
- setup_ci_environment
@@ -181,7 +178,7 @@
no_output_timeout: "1h"
command: |
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_64=${docker_image_commit}-android-x86_64
@@ -252,14 +249,13 @@
pytorch_android_publish_snapshot:
environment:
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"
resource_class: large
machine:
image: ubuntu-1604:201903-01
steps:
- attach_scripts
- - load_shared_env
- setup_linux_system_environment
- checkout
- setup_ci_environment
@@ -268,7 +264,7 @@
no_output_timeout: "1h"
command: |
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
@@ -289,14 +285,13 @@
pytorch_android_gradle_build-x86_32:
environment:
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"
resource_class: large
machine:
image: ubuntu-1604:201903-01
steps:
- attach_scripts
- - load_shared_env
- run:
name: filter out not PR runs
no_output_timeout: "5m"
@@ -313,7 +308,7 @@
no_output_timeout: "1h"
command: |
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}
# x86
@@ -458,7 +453,6 @@
steps:
# See Note [Workspace for CircleCI scripts] in job-specs-setup.yml
- attach_scripts
- - load_shared_env
- setup_linux_system_environment
- checkout
- setup_ci_environment
@@ -468,9 +462,9 @@
command: |
set -e
# Pull Docker image and run build
- echo "DOCKER_IMAGE: "${DOCKER_IMAGE}:${DOCKER_TAG}
- time docker pull ${DOCKER_IMAGE}:${DOCKER_TAG} >/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})
+ echo "DOCKER_IMAGE: "${DOCKER_IMAGE}
+ 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})
echo "Do NOT merge master branch into $CIRCLE_BRANCH in environment $BUILD_ENVIRONMENT"
@@ -485,7 +479,7 @@
# Push intermediate Docker image for next phase to use
if [ -z "${BUILD_ONLY}" ]; then
# 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
docker commit "$id" ${COMMIT_DOCKER_IMAGE}
time docker push ${COMMIT_DOCKER_IMAGE}
@@ -498,7 +492,6 @@
steps:
# See Note [Workspace for CircleCI scripts] in job-specs-setup.yml
- attach_scripts
- - load_shared_env
- setup_linux_system_environment
- setup_ci_environment
- run:
@@ -506,7 +499,7 @@
no_output_timeout: "90m"
command: |
set -e
- output_image=${DOCKER_IMAGE}:${DOCKER_TAG}-bazel-${CIRCLE_SHA1}
+ output_image=${DOCKER_IMAGE}-bazel-${CIRCLE_SHA1}
export COMMIT_DOCKER_IMAGE=$output_image
echo "DOCKER_IMAGE: "${COMMIT_DOCKER_IMAGE}
@@ -539,14 +532,14 @@
pytorch_doc_test:
environment:
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
machine:
image: ubuntu-1604:201903-01
steps:
# See Note [Workspace for CircleCI scripts] in job-specs-setup.yml
- attach_scripts
- - load_shared_env
- setup_linux_system_environment
- setup_ci_environment
- run:
@@ -554,7 +547,7 @@
no_output_timeout: "30m"
command: |
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}
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})
diff --git a/.circleci/verbatim-sources/pytorch-job-specs.yml b/.circleci/verbatim-sources/pytorch-job-specs.yml
index 2c417c1..b2dd4ee 100644
--- a/.circleci/verbatim-sources/pytorch-job-specs.yml
+++ b/.circleci/verbatim-sources/pytorch-job-specs.yml
@@ -6,7 +6,6 @@
steps:
# See Note [Workspace for CircleCI scripts] in job-specs-setup.yml
- attach_scripts
- - load_shared_env
- setup_linux_system_environment
- checkout
- optional_merge_target_branch
@@ -17,9 +16,9 @@
command: |
set -e
# Pull Docker image and run build
- echo "DOCKER_IMAGE: "${DOCKER_IMAGE}:${DOCKER_TAG}
- time docker pull ${DOCKER_IMAGE}:${DOCKER_TAG} >/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})
+ echo "DOCKER_IMAGE: "${DOCKER_IMAGE}
+ 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})
git submodule sync && git submodule update -q --init --recursive
@@ -42,7 +41,7 @@
# The xla build uses the same docker image as
# 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.
- output_image=${DOCKER_IMAGE}:${DOCKER_TAG}-${CIRCLE_SHA1}
+ output_image=${DOCKER_IMAGE}-${CIRCLE_SHA1}
if [[ ${BUILD_ENVIRONMENT} == *"xla"* ]]; then
export COMMIT_DOCKER_IMAGE=$output_image-xla
elif [[ ${BUILD_ENVIRONMENT} == *"libtorch"* ]]; then
@@ -69,7 +68,6 @@
steps:
# See Note [Workspace for CircleCI scripts] in job-specs-setup.yml
- attach_scripts
- - load_shared_env
- setup_linux_system_environment
- setup_ci_environment
- run:
@@ -78,7 +76,7 @@
command: |
set -e
# See Note [Special build images]
- output_image=${DOCKER_IMAGE}:${DOCKER_TAG}-${CIRCLE_SHA1}
+ output_image=${DOCKER_IMAGE}-${CIRCLE_SHA1}
if [[ ${BUILD_ENVIRONMENT} == *"xla"* ]]; then
export COMMIT_DOCKER_IMAGE=$output_image-xla
elif [[ ${BUILD_ENVIRONMENT} == *"libtorch"* ]]; then
diff --git a/.circleci/verbatim-sources/workflows-docker-builder.yml b/.circleci/verbatim-sources/workflows-docker-builder.yml
index db6205c..3ef03d5 100644
--- a/.circleci/verbatim-sources/workflows-docker-builder.yml
+++ b/.circleci/verbatim-sources/workflows-docker-builder.yml
@@ -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:
- name: "docker-pytorch-linux-bionic-py3.6-clang9"
+ name: "pytorch-linux-bionic-py3.6-clang9"
image_name: "pytorch-linux-bionic-py3.6-clang9"
- 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"
- 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"
- 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"
- 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"
- 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"
- 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"
- 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"
- 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"
- docker_build_job:
- name: "docker-pytorch-linux-xenial-py3.8"
+ name: "pytorch-linux-xenial-py3.8"
image_name: "pytorch-linux-xenial-py3.8"
- 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"
- 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"
- 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"
- 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"
- 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"
- docker_build_job:
- name: "docker-pytorch-linux-xenial-pynightly"
+ name: "pytorch-linux-xenial-pynightly"
image_name: "pytorch-linux-xenial-pynightly"
diff --git a/.circleci/verbatim-sources/workflows-nightly-android-binary-builds.yml b/.circleci/verbatim-sources/workflows-nightly-android-binary-builds.yml
index 2c0cb6d..3b92f53 100644
--- a/.circleci/verbatim-sources/workflows-nightly-android-binary-builds.yml
+++ b/.circleci/verbatim-sources/workflows-nightly-android-binary-builds.yml
@@ -3,8 +3,7 @@
build_environment: "pytorch-linux-xenial-py3-clang5-android-ndk-r19c-x86_32"
requires:
- 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"
+ docker_image: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-py3-clang5-android-ndk-r19c:9a3986fa-7ce7-4a36-a001-3c9bef9892e2"
filters:
branches:
only: nightly
@@ -13,8 +12,7 @@
build_environment: "pytorch-linux-xenial-py3-clang5-android-ndk-r19c-x86_64"
requires:
- 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"
+ docker_image: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-py3-clang5-android-ndk-r19c:9a3986fa-7ce7-4a36-a001-3c9bef9892e2"
filters:
branches:
only: nightly
@@ -23,8 +21,7 @@
build_environment: "pytorch-linux-xenial-py3-clang5-android-ndk-r19c-arm-v7a"
requires:
- 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"
+ docker_image: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-py3-clang5-android-ndk-r19c:9a3986fa-7ce7-4a36-a001-3c9bef9892e2"
filters:
branches:
only: nightly
@@ -33,8 +30,7 @@
build_environment: "pytorch-linux-xenial-py3-clang5-android-ndk-r19c-arm-v8a"
requires:
- 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"
+ docker_image: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-py3-clang5-android-ndk-r19c:9a3986fa-7ce7-4a36-a001-3c9bef9892e2"
filters:
branches:
only: nightly
diff --git a/.circleci/verbatim-sources/workflows-pytorch-bazel-builds.yml b/.circleci/verbatim-sources/workflows-pytorch-bazel-builds.yml
index 1f6ed3e..825ea50 100644
--- a/.circleci/verbatim-sources/workflows-pytorch-bazel-builds.yml
+++ b/.circleci/verbatim-sources/workflows-pytorch-bazel-builds.yml
@@ -2,9 +2,8 @@
name: pytorch_bazel_build
requires:
- setup
- - docker-pytorch-linux-xenial-py3.6-gcc7
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
- pytorch_linux_bazel_test:
name: pytorch_bazel_test
@@ -12,4 +11,4 @@
- setup
- pytorch_bazel_build
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"
diff --git a/.circleci/verbatim-sources/workflows-pytorch-ge-config-tests.yml b/.circleci/verbatim-sources/workflows-pytorch-ge-config-tests.yml
index 767e201..5800490 100644
--- a/.circleci/verbatim-sources/workflows-pytorch-ge-config-tests.yml
+++ b/.circleci/verbatim-sources/workflows-pytorch-ge-config-tests.yml
@@ -4,7 +4,7 @@
- setup
- pytorch_linux_xenial_py3_6_gcc5_4_build
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
- pytorch_linux_test:
name: pytorch_linux_xenial_py3_6_gcc5_4_ge_config_profiling_test
@@ -12,7 +12,7 @@
- setup
- pytorch_linux_xenial_py3_6_gcc5_4_build
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
- pytorch_linux_test:
name: pytorch_linux_xenial_cuda10_2_cudnn7_py3_ge_config_legacy_test
@@ -20,7 +20,7 @@
- setup
- pytorch_linux_xenial_cuda10_2_cudnn7_py3_gcc7_build
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"
resource_class: gpu.medium
- pytorch_linux_test:
@@ -29,6 +29,6 @@
- setup
- pytorch_linux_xenial_cuda10_2_cudnn7_py3_gcc7_build
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"
resource_class: gpu.medium
diff --git a/.circleci/verbatim-sources/workflows-pytorch-mobile-builds.yml b/.circleci/verbatim-sources/workflows-pytorch-mobile-builds.yml
index 6afa28c..2a91b46 100644
--- a/.circleci/verbatim-sources/workflows-pytorch-mobile-builds.yml
+++ b/.circleci/verbatim-sources/workflows-pytorch-mobile-builds.yml
@@ -3,32 +3,28 @@
name: pytorch_linux_xenial_py3_clang5_mobile_build
requires:
- setup
- - docker-pytorch-linux-xenial-py3-clang5-asan
build_environment: "pytorch-linux-xenial-py3-clang5-mobile-build"
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:
name: pytorch_linux_xenial_py3_clang5_mobile_custom_build_static
requires:
- setup
- - docker-pytorch-linux-xenial-py3-clang5-asan
build_environment: "pytorch-linux-xenial-py3-clang5-mobile-custom-build-static"
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:
name: pytorch_linux_xenial_py3_clang5_mobile_custom_build_dynamic
requires:
- setup
- - docker-pytorch-linux-xenial-py3-clang5-android-ndk-r19c
build_environment: "pytorch-linux-xenial-py3-clang5-mobile-custom-build-dynamic"
build_only: "1"
# 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:
name: pytorch_linux_xenial_py3_clang5_mobile_code_analysis
requires:
- setup
- - docker-pytorch-linux-xenial-py3-clang5-android-ndk-r19c
# Most of this CI is already covered by "mobile-custom-build-dynamic" job
filters:
branches:
@@ -39,4 +35,4 @@
build_environment: "pytorch-linux-xenial-py3-clang5-mobile-code-analysis"
build_only: "1"
# 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"
diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml
index 9e546e7..f34efcb 100644
--- a/.github/workflows/lint.yml
+++ b/.github/workflows/lint.yml
@@ -21,6 +21,10 @@
run: |
pip install -r requirements.txt
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
run: |
sudo apt-get install -y shellcheck