From 9bd07aae1589a83bf50151488f681f27895257fb Mon Sep 17 00:00:00 2001 From: Svetlana Karslioglu Date: Tue, 11 Apr 2023 14:33:55 -0700 Subject: [PATCH 01/28] Fix storing artifacts --- .circleci/config.yml | 90 +++++++++++++++++++++++++++++++++++++++-- .circleci/config.yml.in | 90 +++++++++++++++++++++++++++++++++++++++-- 2 files changed, 174 insertions(+), 6 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 65f1237d739..39f54fe0fca 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -140,6 +140,91 @@ pytorch_tutorial_build_defaults: &pytorch_tutorial_build_defaults export COMMAND='((echo "source ./workspace/env" && echo "sudo chown -R jenkins workspace && cd workspace && ./ci_build_script.sh") | docker exec -u jenkins -i "$id" bash) 2>&1' echo ${COMMAND} > ./command.sh && unbuffer bash ./command.sh | ts +pytorch_tutorial_manager_defaults: + machine: + image: ubuntu-2004-cuda-11.4:202110-01 + steps: + - checkout + - run: + <<: *setup_linux_system_environment + - run: + name: Set Up CI Environment + no_output_timeout: "1h" + command: | + set -e + + sudo apt-get -y update + sudo apt-get -y install expect-dev moreutils + + sudo pip3 -q install awscli==1.16.35 + + if [ -n "${CUDA_VERSION}" ]; then + nvidia-smi + fi + + # This IAM user only allows read-write access to ECR + export AWS_ACCESS_KEY_ID=${CIRCLECI_AWS_ACCESS_KEY_FOR_ECR_READ_ONLY} + export AWS_SECRET_ACCESS_KEY=${CIRCLECI_AWS_SECRET_KEY_FOR_ECR_READ_ONLY} + eval $(aws ecr get-login --region us-east-1 --no-include-email) + - run: + name: Build + no_output_timeout: "20h" + command: | + set -e + + # for some reason, pip installs it in a different place than what is looked at in the py file + sudo pip3 install requests --target=/opt/circleci/.pyenv/versions/3.9.4/lib/python3.9/site-packages + export pyTorchDockerImageTag=$(python3 .jenkins/get_docker_tag.py) + echo "PyTorchDockerImageTag: "${pyTorchDockerImageTag} + + cat >/home/circleci/project/ci_build_script.sh \</dev/null + if [ -n "${CUDA_VERSION}" ]; then + export id=$(docker run --gpus all -t -d -w /var/lib/jenkins ${DOCKER_IMAGE}) + else + export id=$(docker run -t -d -w /var/lib/jenkins ${DOCKER_IMAGE}) + fi + + echo "declare -x JOB_BASE_NAME=${CIRCLE_JOB}" > /home/circleci/project/env + echo "declare -x COMMIT_ID=${CIRCLE_SHA1}" >> /home/circleci/project/env + echo "declare -x COMMIT_SOURCE=${CIRCLE_BRANCH}" >> /home/circleci/project/env + # DANGER! DO NOT REMOVE THE `set +x` SETTING HERE! + set +x + if [[ "$CIRCLE_BRANCH" == master || "$CIRCLE_BRANCH" == main ]]; then + if [ -z "${CIRCLECI_AWS_ACCESS_KEY_FOR_PYTORCH_TUTORIAL_BUILD_MASTER_S3_BUCKET}" ]; then exit 1; fi + if [ -z "${CIRCLECI_AWS_SECRET_KEY_FOR_PYTORCH_TUTORIAL_BUILD_MASTER_S3_BUCKET}" ]; then exit 1; fi + if [ -z "${GITHUB_PYTORCHBOT_USERNAME}" ]; then exit 1; fi + if [ -z "${GITHUB_PYTORCHBOT_TOKEN}" ]; then exit 1; fi + + echo "declare -x AWS_ACCESS_KEY_ID=${CIRCLECI_AWS_ACCESS_KEY_FOR_PYTORCH_TUTORIAL_BUILD_MASTER_S3_BUCKET}" >> /home/circleci/project/env + echo "declare -x AWS_SECRET_ACCESS_KEY=${CIRCLECI_AWS_SECRET_KEY_FOR_PYTORCH_TUTORIAL_BUILD_MASTER_S3_BUCKET}" >> /home/circleci/project/env + echo "declare -x GITHUB_PYTORCHBOT_USERNAME=${GITHUB_PYTORCHBOT_USERNAME}" >> /home/circleci/project/env + echo "declare -x GITHUB_PYTORCHBOT_TOKEN=${GITHUB_PYTORCHBOT_TOKEN}" >> /home/circleci/project/env + else + echo "declare -x AWS_ACCESS_KEY_ID=${CIRCLECI_AWS_ACCESS_KEY_FOR_PYTORCH_TUTORIAL_BUILD_PR_S3_BUCKET}" >> /home/circleci/project/env + echo "declare -x AWS_SECRET_ACCESS_KEY=${CIRCLECI_AWS_SECRET_KEY_FOR_PYTORCH_TUTORIAL_BUILD_PR_S3_BUCKET}" >> /home/circleci/project/env + fi + set -x + + echo 'rm /opt/cache/bin/*' | docker exec -u root -i "$id" bash + docker cp /home/circleci/project/. "$id:/var/lib/jenkins/workspace" + + export COMMAND='((echo "source ./workspace/env" && echo "sudo chown -R jenkins workspace && cd workspace && ./ci_build_script.sh") | docker exec -u jenkins -i "$id" bash) 2>&1' + echo ${COMMAND} > ./command.sh && unbuffer bash ./command.sh | ts + - store_artifacts: + path: ./docs/build/html + destination: docs + pytorch_tutorial_build_worker_defaults: &pytorch_tutorial_build_worker_defaults environment: DOCKER_IMAGE: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-bionic-cuda11.7-cudnn8-py3-gcc7" @@ -151,6 +236,8 @@ pytorch_tutorial_build_manager_defaults: &pytorch_tutorial_build_manager_default environment: DOCKER_IMAGE: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-bionic-cuda11.7-cudnn8-py3-gcc7" resource_class: medium + + <<: *pytorch_tutorial_build_defaults pytorch_windows_build_worker: &pytorch_windows_build_worker @@ -181,9 +268,6 @@ pytorch_windows_build_worker: &pytorch_windows_build_worker - beginner_source/data - intermediate_source/data - prototype_source/data - - store_artifacts: - path: ./docs/build/html - destination: docs jobs: pytorch_tutorial_pr_build_manager: diff --git a/.circleci/config.yml.in b/.circleci/config.yml.in index 68e7b4172ba..ddbd1cd3ce7 100644 --- a/.circleci/config.yml.in +++ b/.circleci/config.yml.in @@ -140,6 +140,91 @@ pytorch_tutorial_build_defaults: &pytorch_tutorial_build_defaults export COMMAND='((echo "source ./workspace/env" && echo "sudo chown -R jenkins workspace && cd workspace && ./ci_build_script.sh") | docker exec -u jenkins -i "$id" bash) 2>&1' echo ${COMMAND} > ./command.sh && unbuffer bash ./command.sh | ts +pytorch_tutorial_manager_defaults: + machine: + image: ubuntu-2004-cuda-11.4:202110-01 + steps: + - checkout + - run: + <<: *setup_linux_system_environment + - run: + name: Set Up CI Environment + no_output_timeout: "1h" + command: | + set -e + + sudo apt-get -y update + sudo apt-get -y install expect-dev moreutils + + sudo pip3 -q install awscli==1.16.35 + + if [ -n "${CUDA_VERSION}" ]; then + nvidia-smi + fi + + # This IAM user only allows read-write access to ECR + export AWS_ACCESS_KEY_ID=${CIRCLECI_AWS_ACCESS_KEY_FOR_ECR_READ_ONLY} + export AWS_SECRET_ACCESS_KEY=${CIRCLECI_AWS_SECRET_KEY_FOR_ECR_READ_ONLY} + eval $(aws ecr get-login --region us-east-1 --no-include-email) + - run: + name: Build + no_output_timeout: "20h" + command: | + set -e + + # for some reason, pip installs it in a different place than what is looked at in the py file + sudo pip3 install requests --target=/opt/circleci/.pyenv/versions/3.9.4/lib/python3.9/site-packages + export pyTorchDockerImageTag=$(python3 .jenkins/get_docker_tag.py) + echo "PyTorchDockerImageTag: "${pyTorchDockerImageTag} + + cat >/home/circleci/project/ci_build_script.sh \</dev/null + if [ -n "${CUDA_VERSION}" ]; then + export id=$(docker run --gpus all -t -d -w /var/lib/jenkins ${DOCKER_IMAGE}) + else + export id=$(docker run -t -d -w /var/lib/jenkins ${DOCKER_IMAGE}) + fi + + echo "declare -x JOB_BASE_NAME=${CIRCLE_JOB}" > /home/circleci/project/env + echo "declare -x COMMIT_ID=${CIRCLE_SHA1}" >> /home/circleci/project/env + echo "declare -x COMMIT_SOURCE=${CIRCLE_BRANCH}" >> /home/circleci/project/env + # DANGER! DO NOT REMOVE THE `set +x` SETTING HERE! + set +x + if [[ "$CIRCLE_BRANCH" == master || "$CIRCLE_BRANCH" == main ]]; then + if [ -z "${CIRCLECI_AWS_ACCESS_KEY_FOR_PYTORCH_TUTORIAL_BUILD_MASTER_S3_BUCKET}" ]; then exit 1; fi + if [ -z "${CIRCLECI_AWS_SECRET_KEY_FOR_PYTORCH_TUTORIAL_BUILD_MASTER_S3_BUCKET}" ]; then exit 1; fi + if [ -z "${GITHUB_PYTORCHBOT_USERNAME}" ]; then exit 1; fi + if [ -z "${GITHUB_PYTORCHBOT_TOKEN}" ]; then exit 1; fi + + echo "declare -x AWS_ACCESS_KEY_ID=${CIRCLECI_AWS_ACCESS_KEY_FOR_PYTORCH_TUTORIAL_BUILD_MASTER_S3_BUCKET}" >> /home/circleci/project/env + echo "declare -x AWS_SECRET_ACCESS_KEY=${CIRCLECI_AWS_SECRET_KEY_FOR_PYTORCH_TUTORIAL_BUILD_MASTER_S3_BUCKET}" >> /home/circleci/project/env + echo "declare -x GITHUB_PYTORCHBOT_USERNAME=${GITHUB_PYTORCHBOT_USERNAME}" >> /home/circleci/project/env + echo "declare -x GITHUB_PYTORCHBOT_TOKEN=${GITHUB_PYTORCHBOT_TOKEN}" >> /home/circleci/project/env + else + echo "declare -x AWS_ACCESS_KEY_ID=${CIRCLECI_AWS_ACCESS_KEY_FOR_PYTORCH_TUTORIAL_BUILD_PR_S3_BUCKET}" >> /home/circleci/project/env + echo "declare -x AWS_SECRET_ACCESS_KEY=${CIRCLECI_AWS_SECRET_KEY_FOR_PYTORCH_TUTORIAL_BUILD_PR_S3_BUCKET}" >> /home/circleci/project/env + fi + set -x + + echo 'rm /opt/cache/bin/*' | docker exec -u root -i "$id" bash + docker cp /home/circleci/project/. "$id:/var/lib/jenkins/workspace" + + export COMMAND='((echo "source ./workspace/env" && echo "sudo chown -R jenkins workspace && cd workspace && ./ci_build_script.sh") | docker exec -u jenkins -i "$id" bash) 2>&1' + echo ${COMMAND} > ./command.sh && unbuffer bash ./command.sh | ts + - store_artifacts: + path: ./docs/build/html + destination: docs + pytorch_tutorial_build_worker_defaults: &pytorch_tutorial_build_worker_defaults environment: DOCKER_IMAGE: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-bionic-cuda11.7-cudnn8-py3-gcc7" @@ -151,6 +236,8 @@ pytorch_tutorial_build_manager_defaults: &pytorch_tutorial_build_manager_default environment: DOCKER_IMAGE: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-bionic-cuda11.7-cudnn8-py3-gcc7" resource_class: medium + + <<: *pytorch_tutorial_build_defaults {% raw %} pytorch_windows_build_worker: &pytorch_windows_build_worker @@ -181,9 +268,6 @@ pytorch_windows_build_worker: &pytorch_windows_build_worker - beginner_source/data - intermediate_source/data - prototype_source/data - - store_artifacts: - path: ./docs/build/html - destination: docs {% endraw %} jobs: {{ jobs("pr") }} From ecb10d2212a2e05c6769be2a00257996b08c7929 Mon Sep 17 00:00:00 2001 From: Svetlana Karslioglu Date: Tue, 11 Apr 2023 14:42:47 -0700 Subject: [PATCH 02/28] Fix --- .circleci/config.yml | 4 ++-- .circleci/config.yml.in | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 39f54fe0fca..d22ded8133f 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -140,11 +140,11 @@ pytorch_tutorial_build_defaults: &pytorch_tutorial_build_defaults export COMMAND='((echo "source ./workspace/env" && echo "sudo chown -R jenkins workspace && cd workspace && ./ci_build_script.sh") | docker exec -u jenkins -i "$id" bash) 2>&1' echo ${COMMAND} > ./command.sh && unbuffer bash ./command.sh | ts -pytorch_tutorial_manager_defaults: +pytorch_tutorial_manager_defaults: &pytorch_tutorial_manager_defaults machine: image: ubuntu-2004-cuda-11.4:202110-01 steps: - - checkout + - checkout - run: <<: *setup_linux_system_environment - run: diff --git a/.circleci/config.yml.in b/.circleci/config.yml.in index ddbd1cd3ce7..d0876ae2b3c 100644 --- a/.circleci/config.yml.in +++ b/.circleci/config.yml.in @@ -140,11 +140,11 @@ pytorch_tutorial_build_defaults: &pytorch_tutorial_build_defaults export COMMAND='((echo "source ./workspace/env" && echo "sudo chown -R jenkins workspace && cd workspace && ./ci_build_script.sh") | docker exec -u jenkins -i "$id" bash) 2>&1' echo ${COMMAND} > ./command.sh && unbuffer bash ./command.sh | ts -pytorch_tutorial_manager_defaults: +pytorch_tutorial_manager_defaults: &pytorch_tutorial_manager_defaults machine: image: ubuntu-2004-cuda-11.4:202110-01 steps: - - checkout + - checkout - run: <<: *setup_linux_system_environment - run: From 7a1cf7ad17ce2369f8f39587b2c52e0cca0e9945 Mon Sep 17 00:00:00 2001 From: Svetlana Karslioglu Date: Tue, 11 Apr 2023 15:40:54 -0700 Subject: [PATCH 03/28] Fix --- .circleci/config.yml | 2 +- .circleci/config.yml.in | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index d22ded8133f..0970b6d0eb0 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -238,7 +238,7 @@ pytorch_tutorial_build_manager_defaults: &pytorch_tutorial_build_manager_default resource_class: medium - <<: *pytorch_tutorial_build_defaults + <<: *pytorch_tutorial_manager_defaults pytorch_windows_build_worker: &pytorch_windows_build_worker executor: windows-with-nvidia-gpu diff --git a/.circleci/config.yml.in b/.circleci/config.yml.in index d0876ae2b3c..b55e410f3f8 100644 --- a/.circleci/config.yml.in +++ b/.circleci/config.yml.in @@ -238,7 +238,7 @@ pytorch_tutorial_build_manager_defaults: &pytorch_tutorial_build_manager_default resource_class: medium - <<: *pytorch_tutorial_build_defaults + <<: *pytorch_tutorial_manager_defaults {% raw %} pytorch_windows_build_worker: &pytorch_windows_build_worker executor: windows-with-nvidia-gpu From e18c5864bb7978d9908e4a8ea731905f5ea72d27 Mon Sep 17 00:00:00 2001 From: Svetlana Karslioglu Date: Tue, 11 Apr 2023 17:32:23 -0700 Subject: [PATCH 04/28] Fix --- .circleci/config.yml | 3 ++- .circleci/config.yml.in | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 0970b6d0eb0..159706885d4 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -221,8 +221,9 @@ pytorch_tutorial_manager_defaults: &pytorch_tutorial_manager_defaults export COMMAND='((echo "source ./workspace/env" && echo "sudo chown -R jenkins workspace && cd workspace && ./ci_build_script.sh") | docker exec -u jenkins -i "$id" bash) 2>&1' echo ${COMMAND} > ./command.sh && unbuffer bash ./command.sh | ts + ls - store_artifacts: - path: ./docs/build/html + path: ./_build/html destination: docs pytorch_tutorial_build_worker_defaults: &pytorch_tutorial_build_worker_defaults diff --git a/.circleci/config.yml.in b/.circleci/config.yml.in index b55e410f3f8..312f5ac0354 100644 --- a/.circleci/config.yml.in +++ b/.circleci/config.yml.in @@ -221,8 +221,9 @@ pytorch_tutorial_manager_defaults: &pytorch_tutorial_manager_defaults export COMMAND='((echo "source ./workspace/env" && echo "sudo chown -R jenkins workspace && cd workspace && ./ci_build_script.sh") | docker exec -u jenkins -i "$id" bash) 2>&1' echo ${COMMAND} > ./command.sh && unbuffer bash ./command.sh | ts + ls - store_artifacts: - path: ./docs/build/html + path: ./_build/html destination: docs pytorch_tutorial_build_worker_defaults: &pytorch_tutorial_build_worker_defaults From 7802b448a741840640946019dbdd1dfe9a37a8f9 Mon Sep 17 00:00:00 2001 From: Svetlana Karslioglu Date: Wed, 12 Apr 2023 08:57:35 -0700 Subject: [PATCH 05/28] Fix path --- .circleci/config.yml | 3 +-- .circleci/config.yml.in | 3 +-- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 159706885d4..620ae9c7c25 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -221,9 +221,8 @@ pytorch_tutorial_manager_defaults: &pytorch_tutorial_manager_defaults export COMMAND='((echo "source ./workspace/env" && echo "sudo chown -R jenkins workspace && cd workspace && ./ci_build_script.sh") | docker exec -u jenkins -i "$id" bash) 2>&1' echo ${COMMAND} > ./command.sh && unbuffer bash ./command.sh | ts - ls - store_artifacts: - path: ./_build/html + path: ./workspace/_build/html destination: docs pytorch_tutorial_build_worker_defaults: &pytorch_tutorial_build_worker_defaults diff --git a/.circleci/config.yml.in b/.circleci/config.yml.in index 312f5ac0354..3fc11fa4b77 100644 --- a/.circleci/config.yml.in +++ b/.circleci/config.yml.in @@ -221,9 +221,8 @@ pytorch_tutorial_manager_defaults: &pytorch_tutorial_manager_defaults export COMMAND='((echo "source ./workspace/env" && echo "sudo chown -R jenkins workspace && cd workspace && ./ci_build_script.sh") | docker exec -u jenkins -i "$id" bash) 2>&1' echo ${COMMAND} > ./command.sh && unbuffer bash ./command.sh | ts - ls - store_artifacts: - path: ./_build/html + path: ./workspace/_build/html destination: docs pytorch_tutorial_build_worker_defaults: &pytorch_tutorial_build_worker_defaults From d3b5c8c0f19cb848d59d1ce19c4a90e64dcf369c Mon Sep 17 00:00:00 2001 From: Svetlana Karslioglu Date: Wed, 12 Apr 2023 10:16:09 -0700 Subject: [PATCH 06/28] Fix path --- .circleci/config.yml | 5 +++-- .circleci/config.yml.in | 5 +++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 620ae9c7c25..cfc3dddad4f 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -221,9 +221,10 @@ pytorch_tutorial_manager_defaults: &pytorch_tutorial_manager_defaults export COMMAND='((echo "source ./workspace/env" && echo "sudo chown -R jenkins workspace && cd workspace && ./ci_build_script.sh") | docker exec -u jenkins -i "$id" bash) 2>&1' echo ${COMMAND} > ./command.sh && unbuffer bash ./command.sh | ts + mkdir /home/circleci/project/docs + docker cp "$id:/var/lib/jenkins/workspace/_build/html/." /home/circleci/project/docs - store_artifacts: - path: ./workspace/_build/html - destination: docs + path: ./docs pytorch_tutorial_build_worker_defaults: &pytorch_tutorial_build_worker_defaults environment: diff --git a/.circleci/config.yml.in b/.circleci/config.yml.in index 3fc11fa4b77..c4d1bd60961 100644 --- a/.circleci/config.yml.in +++ b/.circleci/config.yml.in @@ -221,9 +221,10 @@ pytorch_tutorial_manager_defaults: &pytorch_tutorial_manager_defaults export COMMAND='((echo "source ./workspace/env" && echo "sudo chown -R jenkins workspace && cd workspace && ./ci_build_script.sh") | docker exec -u jenkins -i "$id" bash) 2>&1' echo ${COMMAND} > ./command.sh && unbuffer bash ./command.sh | ts + mkdir /home/circleci/project/docs + docker cp "$id:/var/lib/jenkins/workspace/_build/html/." /home/circleci/project/docs - store_artifacts: - path: ./workspace/_build/html - destination: docs + path: ./docs pytorch_tutorial_build_worker_defaults: &pytorch_tutorial_build_worker_defaults environment: From 85ac8ac913dd521aa680cfa4f9c1cfd48c7c9ae6 Mon Sep 17 00:00:00 2001 From: Svetlana Karslioglu Date: Wed, 12 Apr 2023 11:59:44 -0700 Subject: [PATCH 07/28] Fix path --- .circleci/config.yml | 4 ++-- .circleci/config.yml.in | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index cfc3dddad4f..45907dfa7a8 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -222,9 +222,9 @@ pytorch_tutorial_manager_defaults: &pytorch_tutorial_manager_defaults export COMMAND='((echo "source ./workspace/env" && echo "sudo chown -R jenkins workspace && cd workspace && ./ci_build_script.sh") | docker exec -u jenkins -i "$id" bash) 2>&1' echo ${COMMAND} > ./command.sh && unbuffer bash ./command.sh | ts mkdir /home/circleci/project/docs - docker cp "$id:/var/lib/jenkins/workspace/_build/html/." /home/circleci/project/docs + docker cp "$id:/var/lib/jenkins/workspace/docs_with_plot/docs/." /home/circleci/project/docs - store_artifacts: - path: ./docs + path: ./tutorials pytorch_tutorial_build_worker_defaults: &pytorch_tutorial_build_worker_defaults environment: diff --git a/.circleci/config.yml.in b/.circleci/config.yml.in index c4d1bd60961..0a346b4eb02 100644 --- a/.circleci/config.yml.in +++ b/.circleci/config.yml.in @@ -222,9 +222,9 @@ pytorch_tutorial_manager_defaults: &pytorch_tutorial_manager_defaults export COMMAND='((echo "source ./workspace/env" && echo "sudo chown -R jenkins workspace && cd workspace && ./ci_build_script.sh") | docker exec -u jenkins -i "$id" bash) 2>&1' echo ${COMMAND} > ./command.sh && unbuffer bash ./command.sh | ts mkdir /home/circleci/project/docs - docker cp "$id:/var/lib/jenkins/workspace/_build/html/." /home/circleci/project/docs + docker cp "$id:/var/lib/jenkins/workspace/docs_with_plot/docs/." /home/circleci/project/docs - store_artifacts: - path: ./docs + path: ./tutorials pytorch_tutorial_build_worker_defaults: &pytorch_tutorial_build_worker_defaults environment: From 192452ec60a95123d997d9dff1df37326b427e64 Mon Sep 17 00:00:00 2001 From: Svetlana Karslioglu Date: Wed, 12 Apr 2023 13:28:34 -0700 Subject: [PATCH 08/28] Fix --- .circleci/config.yml | 81 +++-------------------------------------- .circleci/config.yml.in | 81 +++-------------------------------------- 2 files changed, 10 insertions(+), 152 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 45907dfa7a8..be0feb43415 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -144,87 +144,16 @@ pytorch_tutorial_manager_defaults: &pytorch_tutorial_manager_defaults machine: image: ubuntu-2004-cuda-11.4:202110-01 steps: - - checkout - - run: - <<: *setup_linux_system_environment - run: - name: Set Up CI Environment - no_output_timeout: "1h" - command: | - set -e - - sudo apt-get -y update - sudo apt-get -y install expect-dev moreutils - - sudo pip3 -q install awscli==1.16.35 - - if [ -n "${CUDA_VERSION}" ]; then - nvidia-smi - fi - - # This IAM user only allows read-write access to ECR - export AWS_ACCESS_KEY_ID=${CIRCLECI_AWS_ACCESS_KEY_FOR_ECR_READ_ONLY} - export AWS_SECRET_ACCESS_KEY=${CIRCLECI_AWS_SECRET_KEY_FOR_ECR_READ_ONLY} - eval $(aws ecr get-login --region us-east-1 --no-include-email) + <<: *pytorch_tutorial_build_defaults - run: - name: Build - no_output_timeout: "20h" - command: | - set -e - - # for some reason, pip installs it in a different place than what is looked at in the py file - sudo pip3 install requests --target=/opt/circleci/.pyenv/versions/3.9.4/lib/python3.9/site-packages - export pyTorchDockerImageTag=$(python3 .jenkins/get_docker_tag.py) - echo "PyTorchDockerImageTag: "${pyTorchDockerImageTag} - - cat >/home/circleci/project/ci_build_script.sh \</dev/null - if [ -n "${CUDA_VERSION}" ]; then - export id=$(docker run --gpus all -t -d -w /var/lib/jenkins ${DOCKER_IMAGE}) - else - export id=$(docker run -t -d -w /var/lib/jenkins ${DOCKER_IMAGE}) - fi - - echo "declare -x JOB_BASE_NAME=${CIRCLE_JOB}" > /home/circleci/project/env - echo "declare -x COMMIT_ID=${CIRCLE_SHA1}" >> /home/circleci/project/env - echo "declare -x COMMIT_SOURCE=${CIRCLE_BRANCH}" >> /home/circleci/project/env - # DANGER! DO NOT REMOVE THE `set +x` SETTING HERE! - set +x - if [[ "$CIRCLE_BRANCH" == master || "$CIRCLE_BRANCH" == main ]]; then - if [ -z "${CIRCLECI_AWS_ACCESS_KEY_FOR_PYTORCH_TUTORIAL_BUILD_MASTER_S3_BUCKET}" ]; then exit 1; fi - if [ -z "${CIRCLECI_AWS_SECRET_KEY_FOR_PYTORCH_TUTORIAL_BUILD_MASTER_S3_BUCKET}" ]; then exit 1; fi - if [ -z "${GITHUB_PYTORCHBOT_USERNAME}" ]; then exit 1; fi - if [ -z "${GITHUB_PYTORCHBOT_TOKEN}" ]; then exit 1; fi - - echo "declare -x AWS_ACCESS_KEY_ID=${CIRCLECI_AWS_ACCESS_KEY_FOR_PYTORCH_TUTORIAL_BUILD_MASTER_S3_BUCKET}" >> /home/circleci/project/env - echo "declare -x AWS_SECRET_ACCESS_KEY=${CIRCLECI_AWS_SECRET_KEY_FOR_PYTORCH_TUTORIAL_BUILD_MASTER_S3_BUCKET}" >> /home/circleci/project/env - echo "declare -x GITHUB_PYTORCHBOT_USERNAME=${GITHUB_PYTORCHBOT_USERNAME}" >> /home/circleci/project/env - echo "declare -x GITHUB_PYTORCHBOT_TOKEN=${GITHUB_PYTORCHBOT_TOKEN}" >> /home/circleci/project/env - else - echo "declare -x AWS_ACCESS_KEY_ID=${CIRCLECI_AWS_ACCESS_KEY_FOR_PYTORCH_TUTORIAL_BUILD_PR_S3_BUCKET}" >> /home/circleci/project/env - echo "declare -x AWS_SECRET_ACCESS_KEY=${CIRCLECI_AWS_SECRET_KEY_FOR_PYTORCH_TUTORIAL_BUILD_PR_S3_BUCKET}" >> /home/circleci/project/env - fi - set -x - - echo 'rm /opt/cache/bin/*' | docker exec -u root -i "$id" bash - docker cp /home/circleci/project/. "$id:/var/lib/jenkins/workspace" - - export COMMAND='((echo "source ./workspace/env" && echo "sudo chown -R jenkins workspace && cd workspace && ./ci_build_script.sh") | docker exec -u jenkins -i "$id" bash) 2>&1' - echo ${COMMAND} > ./command.sh && unbuffer bash ./command.sh | ts + name: Copy generated docs with plot to the docs dir for artifacts + command: mkdir /home/circleci/project/docs docker cp "$id:/var/lib/jenkins/workspace/docs_with_plot/docs/." /home/circleci/project/docs - store_artifacts: - path: ./tutorials + path: ./docs + destination: tutorials pytorch_tutorial_build_worker_defaults: &pytorch_tutorial_build_worker_defaults environment: diff --git a/.circleci/config.yml.in b/.circleci/config.yml.in index 0a346b4eb02..0a85a0512d4 100644 --- a/.circleci/config.yml.in +++ b/.circleci/config.yml.in @@ -144,87 +144,16 @@ pytorch_tutorial_manager_defaults: &pytorch_tutorial_manager_defaults machine: image: ubuntu-2004-cuda-11.4:202110-01 steps: - - checkout - - run: - <<: *setup_linux_system_environment - run: - name: Set Up CI Environment - no_output_timeout: "1h" - command: | - set -e - - sudo apt-get -y update - sudo apt-get -y install expect-dev moreutils - - sudo pip3 -q install awscli==1.16.35 - - if [ -n "${CUDA_VERSION}" ]; then - nvidia-smi - fi - - # This IAM user only allows read-write access to ECR - export AWS_ACCESS_KEY_ID=${CIRCLECI_AWS_ACCESS_KEY_FOR_ECR_READ_ONLY} - export AWS_SECRET_ACCESS_KEY=${CIRCLECI_AWS_SECRET_KEY_FOR_ECR_READ_ONLY} - eval $(aws ecr get-login --region us-east-1 --no-include-email) + <<: *pytorch_tutorial_build_defaults - run: - name: Build - no_output_timeout: "20h" - command: | - set -e - - # for some reason, pip installs it in a different place than what is looked at in the py file - sudo pip3 install requests --target=/opt/circleci/.pyenv/versions/3.9.4/lib/python3.9/site-packages - export pyTorchDockerImageTag=$(python3 .jenkins/get_docker_tag.py) - echo "PyTorchDockerImageTag: "${pyTorchDockerImageTag} - - cat >/home/circleci/project/ci_build_script.sh \</dev/null - if [ -n "${CUDA_VERSION}" ]; then - export id=$(docker run --gpus all -t -d -w /var/lib/jenkins ${DOCKER_IMAGE}) - else - export id=$(docker run -t -d -w /var/lib/jenkins ${DOCKER_IMAGE}) - fi - - echo "declare -x JOB_BASE_NAME=${CIRCLE_JOB}" > /home/circleci/project/env - echo "declare -x COMMIT_ID=${CIRCLE_SHA1}" >> /home/circleci/project/env - echo "declare -x COMMIT_SOURCE=${CIRCLE_BRANCH}" >> /home/circleci/project/env - # DANGER! DO NOT REMOVE THE `set +x` SETTING HERE! - set +x - if [[ "$CIRCLE_BRANCH" == master || "$CIRCLE_BRANCH" == main ]]; then - if [ -z "${CIRCLECI_AWS_ACCESS_KEY_FOR_PYTORCH_TUTORIAL_BUILD_MASTER_S3_BUCKET}" ]; then exit 1; fi - if [ -z "${CIRCLECI_AWS_SECRET_KEY_FOR_PYTORCH_TUTORIAL_BUILD_MASTER_S3_BUCKET}" ]; then exit 1; fi - if [ -z "${GITHUB_PYTORCHBOT_USERNAME}" ]; then exit 1; fi - if [ -z "${GITHUB_PYTORCHBOT_TOKEN}" ]; then exit 1; fi - - echo "declare -x AWS_ACCESS_KEY_ID=${CIRCLECI_AWS_ACCESS_KEY_FOR_PYTORCH_TUTORIAL_BUILD_MASTER_S3_BUCKET}" >> /home/circleci/project/env - echo "declare -x AWS_SECRET_ACCESS_KEY=${CIRCLECI_AWS_SECRET_KEY_FOR_PYTORCH_TUTORIAL_BUILD_MASTER_S3_BUCKET}" >> /home/circleci/project/env - echo "declare -x GITHUB_PYTORCHBOT_USERNAME=${GITHUB_PYTORCHBOT_USERNAME}" >> /home/circleci/project/env - echo "declare -x GITHUB_PYTORCHBOT_TOKEN=${GITHUB_PYTORCHBOT_TOKEN}" >> /home/circleci/project/env - else - echo "declare -x AWS_ACCESS_KEY_ID=${CIRCLECI_AWS_ACCESS_KEY_FOR_PYTORCH_TUTORIAL_BUILD_PR_S3_BUCKET}" >> /home/circleci/project/env - echo "declare -x AWS_SECRET_ACCESS_KEY=${CIRCLECI_AWS_SECRET_KEY_FOR_PYTORCH_TUTORIAL_BUILD_PR_S3_BUCKET}" >> /home/circleci/project/env - fi - set -x - - echo 'rm /opt/cache/bin/*' | docker exec -u root -i "$id" bash - docker cp /home/circleci/project/. "$id:/var/lib/jenkins/workspace" - - export COMMAND='((echo "source ./workspace/env" && echo "sudo chown -R jenkins workspace && cd workspace && ./ci_build_script.sh") | docker exec -u jenkins -i "$id" bash) 2>&1' - echo ${COMMAND} > ./command.sh && unbuffer bash ./command.sh | ts + name: Copy generated docs with plot to the docs dir for artifacts + command: mkdir /home/circleci/project/docs docker cp "$id:/var/lib/jenkins/workspace/docs_with_plot/docs/." /home/circleci/project/docs - store_artifacts: - path: ./tutorials + path: ./docs + destination: tutorials pytorch_tutorial_build_worker_defaults: &pytorch_tutorial_build_worker_defaults environment: From 467e17388802e80b106b29455f9ba0d5c2e90541 Mon Sep 17 00:00:00 2001 From: Svetlana Karslioglu Date: Wed, 12 Apr 2023 13:37:22 -0700 Subject: [PATCH 09/28] Fix --- .circleci/config.yml | 77 ++++++++++++++++++++++++++++++++++++++++- .circleci/config.yml.in | 77 ++++++++++++++++++++++++++++++++++++++++- 2 files changed, 152 insertions(+), 2 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index be0feb43415..cc381451a63 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -144,8 +144,83 @@ pytorch_tutorial_manager_defaults: &pytorch_tutorial_manager_defaults machine: image: ubuntu-2004-cuda-11.4:202110-01 steps: + - checkout + - run: + <<: *setup_linux_system_environment + - run: + name: Set Up CI Environment + no_output_timeout: "1h" + command: | + set -e + + sudo apt-get -y update + sudo apt-get -y install expect-dev moreutils + + sudo pip3 -q install awscli==1.16.35 + + if [ -n "${CUDA_VERSION}" ]; then + nvidia-smi + fi + + # This IAM user only allows read-write access to ECR + export AWS_ACCESS_KEY_ID=${CIRCLECI_AWS_ACCESS_KEY_FOR_ECR_READ_ONLY} + export AWS_SECRET_ACCESS_KEY=${CIRCLECI_AWS_SECRET_KEY_FOR_ECR_READ_ONLY} + eval $(aws ecr get-login --region us-east-1 --no-include-email) - run: - <<: *pytorch_tutorial_build_defaults + name: Build + no_output_timeout: "20h" + command: | + set -e + + # for some reason, pip installs it in a different place than what is looked at in the py file + sudo pip3 install requests --target=/opt/circleci/.pyenv/versions/3.9.4/lib/python3.9/site-packages + export pyTorchDockerImageTag=$(python3 .jenkins/get_docker_tag.py) + echo "PyTorchDockerImageTag: "${pyTorchDockerImageTag} + + cat >/home/circleci/project/ci_build_script.sh \</dev/null + if [ -n "${CUDA_VERSION}" ]; then + export id=$(docker run --gpus all -t -d -w /var/lib/jenkins ${DOCKER_IMAGE}) + else + export id=$(docker run -t -d -w /var/lib/jenkins ${DOCKER_IMAGE}) + fi + + echo "declare -x JOB_BASE_NAME=${CIRCLE_JOB}" > /home/circleci/project/env + echo "declare -x COMMIT_ID=${CIRCLE_SHA1}" >> /home/circleci/project/env + echo "declare -x COMMIT_SOURCE=${CIRCLE_BRANCH}" >> /home/circleci/project/env + # DANGER! DO NOT REMOVE THE `set +x` SETTING HERE! + set +x + if [[ "$CIRCLE_BRANCH" == master || "$CIRCLE_BRANCH" == main ]]; then + if [ -z "${CIRCLECI_AWS_ACCESS_KEY_FOR_PYTORCH_TUTORIAL_BUILD_MASTER_S3_BUCKET}" ]; then exit 1; fi + if [ -z "${CIRCLECI_AWS_SECRET_KEY_FOR_PYTORCH_TUTORIAL_BUILD_MASTER_S3_BUCKET}" ]; then exit 1; fi + if [ -z "${GITHUB_PYTORCHBOT_USERNAME}" ]; then exit 1; fi + if [ -z "${GITHUB_PYTORCHBOT_TOKEN}" ]; then exit 1; fi + + echo "declare -x AWS_ACCESS_KEY_ID=${CIRCLECI_AWS_ACCESS_KEY_FOR_PYTORCH_TUTORIAL_BUILD_MASTER_S3_BUCKET}" >> /home/circleci/project/env + echo "declare -x AWS_SECRET_ACCESS_KEY=${CIRCLECI_AWS_SECRET_KEY_FOR_PYTORCH_TUTORIAL_BUILD_MASTER_S3_BUCKET}" >> /home/circleci/project/env + echo "declare -x GITHUB_PYTORCHBOT_USERNAME=${GITHUB_PYTORCHBOT_USERNAME}" >> /home/circleci/project/env + echo "declare -x GITHUB_PYTORCHBOT_TOKEN=${GITHUB_PYTORCHBOT_TOKEN}" >> /home/circleci/project/env + else + echo "declare -x AWS_ACCESS_KEY_ID=${CIRCLECI_AWS_ACCESS_KEY_FOR_PYTORCH_TUTORIAL_BUILD_PR_S3_BUCKET}" >> /home/circleci/project/env + echo "declare -x AWS_SECRET_ACCESS_KEY=${CIRCLECI_AWS_SECRET_KEY_FOR_PYTORCH_TUTORIAL_BUILD_PR_S3_BUCKET}" >> /home/circleci/project/env + fi + set -x + + echo 'rm /opt/cache/bin/*' | docker exec -u root -i "$id" bash + docker cp /home/circleci/project/. "$id:/var/lib/jenkins/workspace" + export COMMAND='((echo "source ./workspace/env" && echo "sudo chown -R jenkins workspace && cd workspace && ./ci_build_script.sh") | docker exec -u jenkins -i "$id" bash) 2>&1' + echo ${COMMAND} > ./command.sh && unbuffer bash ./command.sh | ts + - run: name: Copy generated docs with plot to the docs dir for artifacts command: diff --git a/.circleci/config.yml.in b/.circleci/config.yml.in index 0a85a0512d4..2d9c9e9cd84 100644 --- a/.circleci/config.yml.in +++ b/.circleci/config.yml.in @@ -144,8 +144,83 @@ pytorch_tutorial_manager_defaults: &pytorch_tutorial_manager_defaults machine: image: ubuntu-2004-cuda-11.4:202110-01 steps: + - checkout + - run: + <<: *setup_linux_system_environment + - run: + name: Set Up CI Environment + no_output_timeout: "1h" + command: | + set -e + + sudo apt-get -y update + sudo apt-get -y install expect-dev moreutils + + sudo pip3 -q install awscli==1.16.35 + + if [ -n "${CUDA_VERSION}" ]; then + nvidia-smi + fi + + # This IAM user only allows read-write access to ECR + export AWS_ACCESS_KEY_ID=${CIRCLECI_AWS_ACCESS_KEY_FOR_ECR_READ_ONLY} + export AWS_SECRET_ACCESS_KEY=${CIRCLECI_AWS_SECRET_KEY_FOR_ECR_READ_ONLY} + eval $(aws ecr get-login --region us-east-1 --no-include-email) - run: - <<: *pytorch_tutorial_build_defaults + name: Build + no_output_timeout: "20h" + command: | + set -e + + # for some reason, pip installs it in a different place than what is looked at in the py file + sudo pip3 install requests --target=/opt/circleci/.pyenv/versions/3.9.4/lib/python3.9/site-packages + export pyTorchDockerImageTag=$(python3 .jenkins/get_docker_tag.py) + echo "PyTorchDockerImageTag: "${pyTorchDockerImageTag} + + cat >/home/circleci/project/ci_build_script.sh \</dev/null + if [ -n "${CUDA_VERSION}" ]; then + export id=$(docker run --gpus all -t -d -w /var/lib/jenkins ${DOCKER_IMAGE}) + else + export id=$(docker run -t -d -w /var/lib/jenkins ${DOCKER_IMAGE}) + fi + + echo "declare -x JOB_BASE_NAME=${CIRCLE_JOB}" > /home/circleci/project/env + echo "declare -x COMMIT_ID=${CIRCLE_SHA1}" >> /home/circleci/project/env + echo "declare -x COMMIT_SOURCE=${CIRCLE_BRANCH}" >> /home/circleci/project/env + # DANGER! DO NOT REMOVE THE `set +x` SETTING HERE! + set +x + if [[ "$CIRCLE_BRANCH" == master || "$CIRCLE_BRANCH" == main ]]; then + if [ -z "${CIRCLECI_AWS_ACCESS_KEY_FOR_PYTORCH_TUTORIAL_BUILD_MASTER_S3_BUCKET}" ]; then exit 1; fi + if [ -z "${CIRCLECI_AWS_SECRET_KEY_FOR_PYTORCH_TUTORIAL_BUILD_MASTER_S3_BUCKET}" ]; then exit 1; fi + if [ -z "${GITHUB_PYTORCHBOT_USERNAME}" ]; then exit 1; fi + if [ -z "${GITHUB_PYTORCHBOT_TOKEN}" ]; then exit 1; fi + + echo "declare -x AWS_ACCESS_KEY_ID=${CIRCLECI_AWS_ACCESS_KEY_FOR_PYTORCH_TUTORIAL_BUILD_MASTER_S3_BUCKET}" >> /home/circleci/project/env + echo "declare -x AWS_SECRET_ACCESS_KEY=${CIRCLECI_AWS_SECRET_KEY_FOR_PYTORCH_TUTORIAL_BUILD_MASTER_S3_BUCKET}" >> /home/circleci/project/env + echo "declare -x GITHUB_PYTORCHBOT_USERNAME=${GITHUB_PYTORCHBOT_USERNAME}" >> /home/circleci/project/env + echo "declare -x GITHUB_PYTORCHBOT_TOKEN=${GITHUB_PYTORCHBOT_TOKEN}" >> /home/circleci/project/env + else + echo "declare -x AWS_ACCESS_KEY_ID=${CIRCLECI_AWS_ACCESS_KEY_FOR_PYTORCH_TUTORIAL_BUILD_PR_S3_BUCKET}" >> /home/circleci/project/env + echo "declare -x AWS_SECRET_ACCESS_KEY=${CIRCLECI_AWS_SECRET_KEY_FOR_PYTORCH_TUTORIAL_BUILD_PR_S3_BUCKET}" >> /home/circleci/project/env + fi + set -x + + echo 'rm /opt/cache/bin/*' | docker exec -u root -i "$id" bash + docker cp /home/circleci/project/. "$id:/var/lib/jenkins/workspace" + export COMMAND='((echo "source ./workspace/env" && echo "sudo chown -R jenkins workspace && cd workspace && ./ci_build_script.sh") | docker exec -u jenkins -i "$id" bash) 2>&1' + echo ${COMMAND} > ./command.sh && unbuffer bash ./command.sh | ts + - run: name: Copy generated docs with plot to the docs dir for artifacts command: From 413177a624c1bc1ebc2aa7e9d01e9aaa57ed746b Mon Sep 17 00:00:00 2001 From: Svetlana Karslioglu Date: Wed, 12 Apr 2023 14:51:06 -0700 Subject: [PATCH 10/28] Fix --- .circleci/config.yml | 4 ++-- .circleci/config.yml.in | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index cc381451a63..655fae6df49 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -220,10 +220,10 @@ pytorch_tutorial_manager_defaults: &pytorch_tutorial_manager_defaults docker cp /home/circleci/project/. "$id:/var/lib/jenkins/workspace" export COMMAND='((echo "source ./workspace/env" && echo "sudo chown -R jenkins workspace && cd workspace && ./ci_build_script.sh") | docker exec -u jenkins -i "$id" bash) 2>&1' echo ${COMMAND} > ./command.sh && unbuffer bash ./command.sh | ts - - run: name: Copy generated docs with plot to the docs dir for artifacts - command: + no_output_timeout: "1h" + command: | mkdir /home/circleci/project/docs docker cp "$id:/var/lib/jenkins/workspace/docs_with_plot/docs/." /home/circleci/project/docs - store_artifacts: diff --git a/.circleci/config.yml.in b/.circleci/config.yml.in index 2d9c9e9cd84..20e2c303b2a 100644 --- a/.circleci/config.yml.in +++ b/.circleci/config.yml.in @@ -220,10 +220,10 @@ pytorch_tutorial_manager_defaults: &pytorch_tutorial_manager_defaults docker cp /home/circleci/project/. "$id:/var/lib/jenkins/workspace" export COMMAND='((echo "source ./workspace/env" && echo "sudo chown -R jenkins workspace && cd workspace && ./ci_build_script.sh") | docker exec -u jenkins -i "$id" bash) 2>&1' echo ${COMMAND} > ./command.sh && unbuffer bash ./command.sh | ts - - run: name: Copy generated docs with plot to the docs dir for artifacts - command: + no_output_timeout: "1h" + command: | mkdir /home/circleci/project/docs docker cp "$id:/var/lib/jenkins/workspace/docs_with_plot/docs/." /home/circleci/project/docs - store_artifacts: From 45dbaca04325d7827e9728bb006a5fe07cf4f59e Mon Sep 17 00:00:00 2001 From: Svetlana Karslioglu Date: Wed, 12 Apr 2023 16:05:12 -0700 Subject: [PATCH 11/28] Fix --- .circleci/config.yml | 5 +---- .circleci/config.yml.in | 5 +---- 2 files changed, 2 insertions(+), 8 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 655fae6df49..2f6d16e8dbf 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -220,10 +220,7 @@ pytorch_tutorial_manager_defaults: &pytorch_tutorial_manager_defaults docker cp /home/circleci/project/. "$id:/var/lib/jenkins/workspace" export COMMAND='((echo "source ./workspace/env" && echo "sudo chown -R jenkins workspace && cd workspace && ./ci_build_script.sh") | docker exec -u jenkins -i "$id" bash) 2>&1' echo ${COMMAND} > ./command.sh && unbuffer bash ./command.sh | ts - - run: - name: Copy generated docs with plot to the docs dir for artifacts - no_output_timeout: "1h" - command: | + # copy the build with the plot to the docs folder to add to artifacts. mkdir /home/circleci/project/docs docker cp "$id:/var/lib/jenkins/workspace/docs_with_plot/docs/." /home/circleci/project/docs - store_artifacts: diff --git a/.circleci/config.yml.in b/.circleci/config.yml.in index 20e2c303b2a..2542a8202d5 100644 --- a/.circleci/config.yml.in +++ b/.circleci/config.yml.in @@ -220,10 +220,7 @@ pytorch_tutorial_manager_defaults: &pytorch_tutorial_manager_defaults docker cp /home/circleci/project/. "$id:/var/lib/jenkins/workspace" export COMMAND='((echo "source ./workspace/env" && echo "sudo chown -R jenkins workspace && cd workspace && ./ci_build_script.sh") | docker exec -u jenkins -i "$id" bash) 2>&1' echo ${COMMAND} > ./command.sh && unbuffer bash ./command.sh | ts - - run: - name: Copy generated docs with plot to the docs dir for artifacts - no_output_timeout: "1h" - command: | + # copy the build with the plot to the docs folder to add to artifacts. mkdir /home/circleci/project/docs docker cp "$id:/var/lib/jenkins/workspace/docs_with_plot/docs/." /home/circleci/project/docs - store_artifacts: From 7f85a7ca1d13844f0296175a3569ca454e0502e9 Mon Sep 17 00:00:00 2001 From: Svetlana Karslioglu Date: Thu, 13 Apr 2023 08:53:03 -0700 Subject: [PATCH 12/28] Fix --- .circleci/config.yml.in | 76 ++--------------------------------------- 1 file changed, 2 insertions(+), 74 deletions(-) diff --git a/.circleci/config.yml.in b/.circleci/config.yml.in index 2542a8202d5..322a6c0eec7 100644 --- a/.circleci/config.yml.in +++ b/.circleci/config.yml.in @@ -144,83 +144,11 @@ pytorch_tutorial_manager_defaults: &pytorch_tutorial_manager_defaults machine: image: ubuntu-2004-cuda-11.4:202110-01 steps: - - checkout - run: - <<: *setup_linux_system_environment + <<: *pytorch_tutorial_build_defaults - run: - name: Set Up CI Environment - no_output_timeout: "1h" + name: Copy docs with plot to a docs dir command: | - set -e - - sudo apt-get -y update - sudo apt-get -y install expect-dev moreutils - - sudo pip3 -q install awscli==1.16.35 - - if [ -n "${CUDA_VERSION}" ]; then - nvidia-smi - fi - - # This IAM user only allows read-write access to ECR - export AWS_ACCESS_KEY_ID=${CIRCLECI_AWS_ACCESS_KEY_FOR_ECR_READ_ONLY} - export AWS_SECRET_ACCESS_KEY=${CIRCLECI_AWS_SECRET_KEY_FOR_ECR_READ_ONLY} - eval $(aws ecr get-login --region us-east-1 --no-include-email) - - run: - name: Build - no_output_timeout: "20h" - command: | - set -e - - # for some reason, pip installs it in a different place than what is looked at in the py file - sudo pip3 install requests --target=/opt/circleci/.pyenv/versions/3.9.4/lib/python3.9/site-packages - export pyTorchDockerImageTag=$(python3 .jenkins/get_docker_tag.py) - echo "PyTorchDockerImageTag: "${pyTorchDockerImageTag} - - cat >/home/circleci/project/ci_build_script.sh \</dev/null - if [ -n "${CUDA_VERSION}" ]; then - export id=$(docker run --gpus all -t -d -w /var/lib/jenkins ${DOCKER_IMAGE}) - else - export id=$(docker run -t -d -w /var/lib/jenkins ${DOCKER_IMAGE}) - fi - - echo "declare -x JOB_BASE_NAME=${CIRCLE_JOB}" > /home/circleci/project/env - echo "declare -x COMMIT_ID=${CIRCLE_SHA1}" >> /home/circleci/project/env - echo "declare -x COMMIT_SOURCE=${CIRCLE_BRANCH}" >> /home/circleci/project/env - # DANGER! DO NOT REMOVE THE `set +x` SETTING HERE! - set +x - if [[ "$CIRCLE_BRANCH" == master || "$CIRCLE_BRANCH" == main ]]; then - if [ -z "${CIRCLECI_AWS_ACCESS_KEY_FOR_PYTORCH_TUTORIAL_BUILD_MASTER_S3_BUCKET}" ]; then exit 1; fi - if [ -z "${CIRCLECI_AWS_SECRET_KEY_FOR_PYTORCH_TUTORIAL_BUILD_MASTER_S3_BUCKET}" ]; then exit 1; fi - if [ -z "${GITHUB_PYTORCHBOT_USERNAME}" ]; then exit 1; fi - if [ -z "${GITHUB_PYTORCHBOT_TOKEN}" ]; then exit 1; fi - - echo "declare -x AWS_ACCESS_KEY_ID=${CIRCLECI_AWS_ACCESS_KEY_FOR_PYTORCH_TUTORIAL_BUILD_MASTER_S3_BUCKET}" >> /home/circleci/project/env - echo "declare -x AWS_SECRET_ACCESS_KEY=${CIRCLECI_AWS_SECRET_KEY_FOR_PYTORCH_TUTORIAL_BUILD_MASTER_S3_BUCKET}" >> /home/circleci/project/env - echo "declare -x GITHUB_PYTORCHBOT_USERNAME=${GITHUB_PYTORCHBOT_USERNAME}" >> /home/circleci/project/env - echo "declare -x GITHUB_PYTORCHBOT_TOKEN=${GITHUB_PYTORCHBOT_TOKEN}" >> /home/circleci/project/env - else - echo "declare -x AWS_ACCESS_KEY_ID=${CIRCLECI_AWS_ACCESS_KEY_FOR_PYTORCH_TUTORIAL_BUILD_PR_S3_BUCKET}" >> /home/circleci/project/env - echo "declare -x AWS_SECRET_ACCESS_KEY=${CIRCLECI_AWS_SECRET_KEY_FOR_PYTORCH_TUTORIAL_BUILD_PR_S3_BUCKET}" >> /home/circleci/project/env - fi - set -x - - echo 'rm /opt/cache/bin/*' | docker exec -u root -i "$id" bash - docker cp /home/circleci/project/. "$id:/var/lib/jenkins/workspace" - export COMMAND='((echo "source ./workspace/env" && echo "sudo chown -R jenkins workspace && cd workspace && ./ci_build_script.sh") | docker exec -u jenkins -i "$id" bash) 2>&1' - echo ${COMMAND} > ./command.sh && unbuffer bash ./command.sh | ts - # copy the build with the plot to the docs folder to add to artifacts. mkdir /home/circleci/project/docs docker cp "$id:/var/lib/jenkins/workspace/docs_with_plot/docs/." /home/circleci/project/docs - store_artifacts: From b6184f877f9d7ad1af5e9dec238cd61c84069f3c Mon Sep 17 00:00:00 2001 From: Svetlana Karslioglu Date: Thu, 13 Apr 2023 08:54:06 -0700 Subject: [PATCH 13/28] Update --- .circleci/config.yml | 76 ++------------------------------------------ 1 file changed, 2 insertions(+), 74 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 2f6d16e8dbf..c3e44502795 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -144,83 +144,11 @@ pytorch_tutorial_manager_defaults: &pytorch_tutorial_manager_defaults machine: image: ubuntu-2004-cuda-11.4:202110-01 steps: - - checkout - run: - <<: *setup_linux_system_environment + <<: *pytorch_tutorial_build_defaults - run: - name: Set Up CI Environment - no_output_timeout: "1h" + name: Copy docs with plot to a docs dir command: | - set -e - - sudo apt-get -y update - sudo apt-get -y install expect-dev moreutils - - sudo pip3 -q install awscli==1.16.35 - - if [ -n "${CUDA_VERSION}" ]; then - nvidia-smi - fi - - # This IAM user only allows read-write access to ECR - export AWS_ACCESS_KEY_ID=${CIRCLECI_AWS_ACCESS_KEY_FOR_ECR_READ_ONLY} - export AWS_SECRET_ACCESS_KEY=${CIRCLECI_AWS_SECRET_KEY_FOR_ECR_READ_ONLY} - eval $(aws ecr get-login --region us-east-1 --no-include-email) - - run: - name: Build - no_output_timeout: "20h" - command: | - set -e - - # for some reason, pip installs it in a different place than what is looked at in the py file - sudo pip3 install requests --target=/opt/circleci/.pyenv/versions/3.9.4/lib/python3.9/site-packages - export pyTorchDockerImageTag=$(python3 .jenkins/get_docker_tag.py) - echo "PyTorchDockerImageTag: "${pyTorchDockerImageTag} - - cat >/home/circleci/project/ci_build_script.sh \</dev/null - if [ -n "${CUDA_VERSION}" ]; then - export id=$(docker run --gpus all -t -d -w /var/lib/jenkins ${DOCKER_IMAGE}) - else - export id=$(docker run -t -d -w /var/lib/jenkins ${DOCKER_IMAGE}) - fi - - echo "declare -x JOB_BASE_NAME=${CIRCLE_JOB}" > /home/circleci/project/env - echo "declare -x COMMIT_ID=${CIRCLE_SHA1}" >> /home/circleci/project/env - echo "declare -x COMMIT_SOURCE=${CIRCLE_BRANCH}" >> /home/circleci/project/env - # DANGER! DO NOT REMOVE THE `set +x` SETTING HERE! - set +x - if [[ "$CIRCLE_BRANCH" == master || "$CIRCLE_BRANCH" == main ]]; then - if [ -z "${CIRCLECI_AWS_ACCESS_KEY_FOR_PYTORCH_TUTORIAL_BUILD_MASTER_S3_BUCKET}" ]; then exit 1; fi - if [ -z "${CIRCLECI_AWS_SECRET_KEY_FOR_PYTORCH_TUTORIAL_BUILD_MASTER_S3_BUCKET}" ]; then exit 1; fi - if [ -z "${GITHUB_PYTORCHBOT_USERNAME}" ]; then exit 1; fi - if [ -z "${GITHUB_PYTORCHBOT_TOKEN}" ]; then exit 1; fi - - echo "declare -x AWS_ACCESS_KEY_ID=${CIRCLECI_AWS_ACCESS_KEY_FOR_PYTORCH_TUTORIAL_BUILD_MASTER_S3_BUCKET}" >> /home/circleci/project/env - echo "declare -x AWS_SECRET_ACCESS_KEY=${CIRCLECI_AWS_SECRET_KEY_FOR_PYTORCH_TUTORIAL_BUILD_MASTER_S3_BUCKET}" >> /home/circleci/project/env - echo "declare -x GITHUB_PYTORCHBOT_USERNAME=${GITHUB_PYTORCHBOT_USERNAME}" >> /home/circleci/project/env - echo "declare -x GITHUB_PYTORCHBOT_TOKEN=${GITHUB_PYTORCHBOT_TOKEN}" >> /home/circleci/project/env - else - echo "declare -x AWS_ACCESS_KEY_ID=${CIRCLECI_AWS_ACCESS_KEY_FOR_PYTORCH_TUTORIAL_BUILD_PR_S3_BUCKET}" >> /home/circleci/project/env - echo "declare -x AWS_SECRET_ACCESS_KEY=${CIRCLECI_AWS_SECRET_KEY_FOR_PYTORCH_TUTORIAL_BUILD_PR_S3_BUCKET}" >> /home/circleci/project/env - fi - set -x - - echo 'rm /opt/cache/bin/*' | docker exec -u root -i "$id" bash - docker cp /home/circleci/project/. "$id:/var/lib/jenkins/workspace" - export COMMAND='((echo "source ./workspace/env" && echo "sudo chown -R jenkins workspace && cd workspace && ./ci_build_script.sh") | docker exec -u jenkins -i "$id" bash) 2>&1' - echo ${COMMAND} > ./command.sh && unbuffer bash ./command.sh | ts - # copy the build with the plot to the docs folder to add to artifacts. mkdir /home/circleci/project/docs docker cp "$id:/var/lib/jenkins/workspace/docs_with_plot/docs/." /home/circleci/project/docs - store_artifacts: From 5ab4b6f7e7428dd280345bdf36a105d8a8a5a454 Mon Sep 17 00:00:00 2001 From: Svetlana Karslioglu Date: Thu, 13 Apr 2023 09:28:39 -0700 Subject: [PATCH 14/28] Update --- .circleci/config.yml.in | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/.circleci/config.yml.in b/.circleci/config.yml.in index 322a6c0eec7..dffae583ac9 100644 --- a/.circleci/config.yml.in +++ b/.circleci/config.yml.in @@ -139,16 +139,7 @@ pytorch_tutorial_build_defaults: &pytorch_tutorial_build_defaults export COMMAND='((echo "source ./workspace/env" && echo "sudo chown -R jenkins workspace && cd workspace && ./ci_build_script.sh") | docker exec -u jenkins -i "$id" bash) 2>&1' echo ${COMMAND} > ./command.sh && unbuffer bash ./command.sh | ts - -pytorch_tutorial_manager_defaults: &pytorch_tutorial_manager_defaults - machine: - image: ubuntu-2004-cuda-11.4:202110-01 - steps: - - run: - <<: *pytorch_tutorial_build_defaults - - run: - name: Copy docs with plot to a docs dir - command: | + # Copy docs with plot to a docs dir mkdir /home/circleci/project/docs docker cp "$id:/var/lib/jenkins/workspace/docs_with_plot/docs/." /home/circleci/project/docs - store_artifacts: @@ -168,7 +159,7 @@ pytorch_tutorial_build_manager_defaults: &pytorch_tutorial_build_manager_default resource_class: medium - <<: *pytorch_tutorial_manager_defaults + <<: *pytorch_tutorial_build_defaults {% raw %} pytorch_windows_build_worker: &pytorch_windows_build_worker executor: windows-with-nvidia-gpu From 8336833164ea86397d71987afabcd70571f9c83d Mon Sep 17 00:00:00 2001 From: Svetlana Karslioglu Date: Thu, 13 Apr 2023 09:31:06 -0700 Subject: [PATCH 15/28] Update --- .circleci/config.yml | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index c3e44502795..3599ddac238 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -139,16 +139,7 @@ pytorch_tutorial_build_defaults: &pytorch_tutorial_build_defaults export COMMAND='((echo "source ./workspace/env" && echo "sudo chown -R jenkins workspace && cd workspace && ./ci_build_script.sh") | docker exec -u jenkins -i "$id" bash) 2>&1' echo ${COMMAND} > ./command.sh && unbuffer bash ./command.sh | ts - -pytorch_tutorial_manager_defaults: &pytorch_tutorial_manager_defaults - machine: - image: ubuntu-2004-cuda-11.4:202110-01 - steps: - - run: - <<: *pytorch_tutorial_build_defaults - - run: - name: Copy docs with plot to a docs dir - command: | + # Copy docs with plot to a docs dir mkdir /home/circleci/project/docs docker cp "$id:/var/lib/jenkins/workspace/docs_with_plot/docs/." /home/circleci/project/docs - store_artifacts: @@ -168,7 +159,7 @@ pytorch_tutorial_build_manager_defaults: &pytorch_tutorial_build_manager_default resource_class: medium - <<: *pytorch_tutorial_manager_defaults + <<: *pytorch_tutorial_build_defaults pytorch_windows_build_worker: &pytorch_windows_build_worker executor: windows-with-nvidia-gpu From 2b3cdc43fbc549afa94feaa257149e4ff1ec1abd Mon Sep 17 00:00:00 2001 From: Svetlana Karslioglu Date: Thu, 13 Apr 2023 11:22:33 -0700 Subject: [PATCH 16/28] Update --- .circleci/config.yml | 14 +++++++++++++- .circleci/config.yml.in | 14 +++++++++++++- 2 files changed, 26 insertions(+), 2 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 3599ddac238..1be4549b5e0 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -141,7 +141,19 @@ pytorch_tutorial_build_defaults: &pytorch_tutorial_build_defaults echo ${COMMAND} > ./command.sh && unbuffer bash ./command.sh | ts # Copy docs with plot to a docs dir mkdir /home/circleci/project/docs - docker cp "$id:/var/lib/jenkins/workspace/docs_with_plot/docs/." /home/circleci/project/docs + source = "/var/lib/jenkins/workspace/docs_with_plot/docs/" + target = "/home/circleci/project/docs" + if docker ps -a | grep -q "$id"; then + if docker exec "$id" test -d "$source"; then + docker cp "$id":"$source"/. "$target" + echo "Directory copied successfully" + else + echo "No docs_with_plot directory" + fi + else + echo "Skip" + fi + - store_artifacts: path: ./docs destination: tutorials diff --git a/.circleci/config.yml.in b/.circleci/config.yml.in index dffae583ac9..c019e9f319b 100644 --- a/.circleci/config.yml.in +++ b/.circleci/config.yml.in @@ -141,7 +141,19 @@ pytorch_tutorial_build_defaults: &pytorch_tutorial_build_defaults echo ${COMMAND} > ./command.sh && unbuffer bash ./command.sh | ts # Copy docs with plot to a docs dir mkdir /home/circleci/project/docs - docker cp "$id:/var/lib/jenkins/workspace/docs_with_plot/docs/." /home/circleci/project/docs + source = "/var/lib/jenkins/workspace/docs_with_plot/docs/" + target = "/home/circleci/project/docs" + if docker ps -a | grep -q "$id"; then + if docker exec "$id" test -d "$source"; then + docker cp "$id":"$source"/. "$target" + echo "Directory copied successfully" + else + echo "No docs_with_plot directory" + fi + else + echo "Skip" + fi + - store_artifacts: path: ./docs destination: tutorials From 66b2ecce186fb2044509ce3e0bc65b3b4e00ee8a Mon Sep 17 00:00:00 2001 From: Svetlana Karslioglu Date: Thu, 13 Apr 2023 12:02:42 -0700 Subject: [PATCH 17/28] Update --- .circleci/config.yml | 4 ++-- .circleci/config.yml.in | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 1be4549b5e0..234722cb770 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -141,11 +141,11 @@ pytorch_tutorial_build_defaults: &pytorch_tutorial_build_defaults echo ${COMMAND} > ./command.sh && unbuffer bash ./command.sh | ts # Copy docs with plot to a docs dir mkdir /home/circleci/project/docs - source = "/var/lib/jenkins/workspace/docs_with_plot/docs/" + source = "$id:/var/lib/jenkins/workspace/docs_with_plot/docs/" target = "/home/circleci/project/docs" if docker ps -a | grep -q "$id"; then if docker exec "$id" test -d "$source"; then - docker cp "$id":"$source"/. "$target" + docker cp "$source"/. "$target" echo "Directory copied successfully" else echo "No docs_with_plot directory" diff --git a/.circleci/config.yml.in b/.circleci/config.yml.in index c019e9f319b..d0f11119f37 100644 --- a/.circleci/config.yml.in +++ b/.circleci/config.yml.in @@ -141,11 +141,11 @@ pytorch_tutorial_build_defaults: &pytorch_tutorial_build_defaults echo ${COMMAND} > ./command.sh && unbuffer bash ./command.sh | ts # Copy docs with plot to a docs dir mkdir /home/circleci/project/docs - source = "/var/lib/jenkins/workspace/docs_with_plot/docs/" + source = "$id:/var/lib/jenkins/workspace/docs_with_plot/docs/" target = "/home/circleci/project/docs" if docker ps -a | grep -q "$id"; then if docker exec "$id" test -d "$source"; then - docker cp "$id":"$source"/. "$target" + docker cp "$source"/. "$target" echo "Directory copied successfully" else echo "No docs_with_plot directory" From 91b328351d8fbac067935ca593a88d56157403ae Mon Sep 17 00:00:00 2001 From: Svetlana Karslioglu Date: Thu, 13 Apr 2023 12:50:11 -0700 Subject: [PATCH 18/28] Update --- .circleci/config.yml | 5 ++--- .circleci/config.yml.in | 5 ++--- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 234722cb770..86866b074da 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -141,11 +141,10 @@ pytorch_tutorial_build_defaults: &pytorch_tutorial_build_defaults echo ${COMMAND} > ./command.sh && unbuffer bash ./command.sh | ts # Copy docs with plot to a docs dir mkdir /home/circleci/project/docs - source = "$id:/var/lib/jenkins/workspace/docs_with_plot/docs/" target = "/home/circleci/project/docs" if docker ps -a | grep -q "$id"; then - if docker exec "$id" test -d "$source"; then - docker cp "$source"/. "$target" + if docker exec "$id" test -d "$id:/var/lib/jenkins/workspace/docs_with_plot/docs/"; then + docker cp "$id:/var/lib/jenkins/workspace/docs_with_plot/docs/"/. "$target" echo "Directory copied successfully" else echo "No docs_with_plot directory" diff --git a/.circleci/config.yml.in b/.circleci/config.yml.in index d0f11119f37..c3c9d6e4fab 100644 --- a/.circleci/config.yml.in +++ b/.circleci/config.yml.in @@ -141,11 +141,10 @@ pytorch_tutorial_build_defaults: &pytorch_tutorial_build_defaults echo ${COMMAND} > ./command.sh && unbuffer bash ./command.sh | ts # Copy docs with plot to a docs dir mkdir /home/circleci/project/docs - source = "$id:/var/lib/jenkins/workspace/docs_with_plot/docs/" target = "/home/circleci/project/docs" if docker ps -a | grep -q "$id"; then - if docker exec "$id" test -d "$source"; then - docker cp "$source"/. "$target" + if docker exec "$id" test -d "$id:/var/lib/jenkins/workspace/docs_with_plot/docs/"; then + docker cp "$id:/var/lib/jenkins/workspace/docs_with_plot/docs/"/. "$target" echo "Directory copied successfully" else echo "No docs_with_plot directory" From 21381af67879ce80fd878ed28fdd4c9dd4297704 Mon Sep 17 00:00:00 2001 From: Svetlana Karslioglu Date: Thu, 13 Apr 2023 13:21:49 -0700 Subject: [PATCH 19/28] Update --- .circleci/config.yml | 3 +-- .circleci/config.yml.in | 3 +-- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 86866b074da..23735212875 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -141,10 +141,9 @@ pytorch_tutorial_build_defaults: &pytorch_tutorial_build_defaults echo ${COMMAND} > ./command.sh && unbuffer bash ./command.sh | ts # Copy docs with plot to a docs dir mkdir /home/circleci/project/docs - target = "/home/circleci/project/docs" if docker ps -a | grep -q "$id"; then if docker exec "$id" test -d "$id:/var/lib/jenkins/workspace/docs_with_plot/docs/"; then - docker cp "$id:/var/lib/jenkins/workspace/docs_with_plot/docs/"/. "$target" + docker cp "$id:/var/lib/jenkins/workspace/docs_with_plot/docs/"/. /home/circleci/project/docs echo "Directory copied successfully" else echo "No docs_with_plot directory" diff --git a/.circleci/config.yml.in b/.circleci/config.yml.in index c3c9d6e4fab..274eb19510a 100644 --- a/.circleci/config.yml.in +++ b/.circleci/config.yml.in @@ -141,10 +141,9 @@ pytorch_tutorial_build_defaults: &pytorch_tutorial_build_defaults echo ${COMMAND} > ./command.sh && unbuffer bash ./command.sh | ts # Copy docs with plot to a docs dir mkdir /home/circleci/project/docs - target = "/home/circleci/project/docs" if docker ps -a | grep -q "$id"; then if docker exec "$id" test -d "$id:/var/lib/jenkins/workspace/docs_with_plot/docs/"; then - docker cp "$id:/var/lib/jenkins/workspace/docs_with_plot/docs/"/. "$target" + docker cp "$id:/var/lib/jenkins/workspace/docs_with_plot/docs/"/. /home/circleci/project/docs echo "Directory copied successfully" else echo "No docs_with_plot directory" From 536620975e90cb08f45197ac9bed7ee7be3f3d42 Mon Sep 17 00:00:00 2001 From: Svetlana Karslioglu Date: Thu, 13 Apr 2023 14:48:28 -0700 Subject: [PATCH 20/28] Update --- .circleci/config.yml | 12 ++++-------- .circleci/config.yml.in | 12 ++++-------- 2 files changed, 8 insertions(+), 16 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 23735212875..5aba8c3d389 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -141,15 +141,11 @@ pytorch_tutorial_build_defaults: &pytorch_tutorial_build_defaults echo ${COMMAND} > ./command.sh && unbuffer bash ./command.sh | ts # Copy docs with plot to a docs dir mkdir /home/circleci/project/docs - if docker ps -a | grep -q "$id"; then - if docker exec "$id" test -d "$id:/var/lib/jenkins/workspace/docs_with_plot/docs/"; then - docker cp "$id:/var/lib/jenkins/workspace/docs_with_plot/docs/"/. /home/circleci/project/docs - echo "Directory copied successfully" - else - echo "No docs_with_plot directory" - fi + if docker exec "$id" test -d "$id:/var/lib/jenkins/workspace/docs_with_plot/docs/"; then + docker cp "$id:/var/lib/jenkins/workspace/docs_with_plot/docs/." /home/circleci/project/docs + echo "Directory copied successfully" else - echo "Skip" + echo "No docs_with_plot directory. Skipping..." fi - store_artifacts: diff --git a/.circleci/config.yml.in b/.circleci/config.yml.in index 274eb19510a..4ac8920a1df 100644 --- a/.circleci/config.yml.in +++ b/.circleci/config.yml.in @@ -141,15 +141,11 @@ pytorch_tutorial_build_defaults: &pytorch_tutorial_build_defaults echo ${COMMAND} > ./command.sh && unbuffer bash ./command.sh | ts # Copy docs with plot to a docs dir mkdir /home/circleci/project/docs - if docker ps -a | grep -q "$id"; then - if docker exec "$id" test -d "$id:/var/lib/jenkins/workspace/docs_with_plot/docs/"; then - docker cp "$id:/var/lib/jenkins/workspace/docs_with_plot/docs/"/. /home/circleci/project/docs - echo "Directory copied successfully" - else - echo "No docs_with_plot directory" - fi + if docker exec "$id" test -d "$id:/var/lib/jenkins/workspace/docs_with_plot/docs/"; then + docker cp "$id:/var/lib/jenkins/workspace/docs_with_plot/docs/." /home/circleci/project/docs + echo "Directory copied successfully" else - echo "Skip" + echo "No docs_with_plot directory. Skipping..." fi - store_artifacts: From 3eae8a759e2abc4fa24f61fcae3dc623554d4ca2 Mon Sep 17 00:00:00 2001 From: Svetlana Karslioglu Date: Thu, 13 Apr 2023 16:11:53 -0700 Subject: [PATCH 21/28] Update --- .circleci/config.yml | 11 ++++++----- .circleci/config.yml.in | 11 ++++++----- 2 files changed, 12 insertions(+), 10 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 5aba8c3d389..7a597d619f2 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -140,12 +140,13 @@ pytorch_tutorial_build_defaults: &pytorch_tutorial_build_defaults export COMMAND='((echo "source ./workspace/env" && echo "sudo chown -R jenkins workspace && cd workspace && ./ci_build_script.sh") | docker exec -u jenkins -i "$id" bash) 2>&1' echo ${COMMAND} > ./command.sh && unbuffer bash ./command.sh | ts # Copy docs with plot to a docs dir - mkdir /home/circleci/project/docs - if docker exec "$id" test -d "$id:/var/lib/jenkins/workspace/docs_with_plot/docs/"; then - docker cp "$id:/var/lib/jenkins/workspace/docs_with_plot/docs/." /home/circleci/project/docs - echo "Directory copied successfully" - else + docker=$(docker exec -it "$id" ls /var/lib/jenkins/workspace/docs_with_plot/docs/) + if [[ $? -ne 0]]; then echo "No docs_with_plot directory. Skipping..." + else + mkdir /home/circleci/project/docs + docker cp "$id:/var/lib/jenkins/workspace/docs_with_plot/docs/." /home/circleci/project/docs + echo "Directory copied successfully" fi - store_artifacts: diff --git a/.circleci/config.yml.in b/.circleci/config.yml.in index 4ac8920a1df..70e8162c43b 100644 --- a/.circleci/config.yml.in +++ b/.circleci/config.yml.in @@ -140,12 +140,13 @@ pytorch_tutorial_build_defaults: &pytorch_tutorial_build_defaults export COMMAND='((echo "source ./workspace/env" && echo "sudo chown -R jenkins workspace && cd workspace && ./ci_build_script.sh") | docker exec -u jenkins -i "$id" bash) 2>&1' echo ${COMMAND} > ./command.sh && unbuffer bash ./command.sh | ts # Copy docs with plot to a docs dir - mkdir /home/circleci/project/docs - if docker exec "$id" test -d "$id:/var/lib/jenkins/workspace/docs_with_plot/docs/"; then - docker cp "$id:/var/lib/jenkins/workspace/docs_with_plot/docs/." /home/circleci/project/docs - echo "Directory copied successfully" - else + docker=$(docker exec -it "$id" ls /var/lib/jenkins/workspace/docs_with_plot/docs/) + if [[ $? -ne 0]]; then echo "No docs_with_plot directory. Skipping..." + else + mkdir /home/circleci/project/docs + docker cp "$id:/var/lib/jenkins/workspace/docs_with_plot/docs/." /home/circleci/project/docs + echo "Directory copied successfully" fi - store_artifacts: From 7728394e13fff37e7ed84be096b2b283b7344bcf Mon Sep 17 00:00:00 2001 From: Svetlana Karslioglu Date: Thu, 13 Apr 2023 16:36:27 -0700 Subject: [PATCH 22/28] Update --- .circleci/config.yml | 2 +- .circleci/config.yml.in | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 7a597d619f2..0ffd3c01590 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -140,7 +140,7 @@ pytorch_tutorial_build_defaults: &pytorch_tutorial_build_defaults export COMMAND='((echo "source ./workspace/env" && echo "sudo chown -R jenkins workspace && cd workspace && ./ci_build_script.sh") | docker exec -u jenkins -i "$id" bash) 2>&1' echo ${COMMAND} > ./command.sh && unbuffer bash ./command.sh | ts # Copy docs with plot to a docs dir - docker=$(docker exec -it "$id" ls /var/lib/jenkins/workspace/docs_with_plot/docs/) + docker_check=$(docker exec -it "$id" sh -c 'ls /var/lib/jenkins/workspace/docs_with_plot/docs/') if [[ $? -ne 0]]; then echo "No docs_with_plot directory. Skipping..." else diff --git a/.circleci/config.yml.in b/.circleci/config.yml.in index 70e8162c43b..3c9ff337823 100644 --- a/.circleci/config.yml.in +++ b/.circleci/config.yml.in @@ -140,7 +140,7 @@ pytorch_tutorial_build_defaults: &pytorch_tutorial_build_defaults export COMMAND='((echo "source ./workspace/env" && echo "sudo chown -R jenkins workspace && cd workspace && ./ci_build_script.sh") | docker exec -u jenkins -i "$id" bash) 2>&1' echo ${COMMAND} > ./command.sh && unbuffer bash ./command.sh | ts # Copy docs with plot to a docs dir - docker=$(docker exec -it "$id" ls /var/lib/jenkins/workspace/docs_with_plot/docs/) + docker_check=$(docker exec -it "$id" sh -c 'ls /var/lib/jenkins/workspace/docs_with_plot/docs/') if [[ $? -ne 0]]; then echo "No docs_with_plot directory. Skipping..." else From f6a27efdd2c4b8be7adb6c141a2f9bae43f6d0a6 Mon Sep 17 00:00:00 2001 From: Svetlana Karslioglu Date: Thu, 13 Apr 2023 16:56:11 -0700 Subject: [PATCH 23/28] Update --- .circleci/config.yml | 3 ++- .circleci/config.yml.in | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 0ffd3c01590..7abd594af2f 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -140,7 +140,8 @@ pytorch_tutorial_build_defaults: &pytorch_tutorial_build_defaults export COMMAND='((echo "source ./workspace/env" && echo "sudo chown -R jenkins workspace && cd workspace && ./ci_build_script.sh") | docker exec -u jenkins -i "$id" bash) 2>&1' echo ${COMMAND} > ./command.sh && unbuffer bash ./command.sh | ts # Copy docs with plot to a docs dir - docker_check=$(docker exec -it "$id" sh -c 'ls /var/lib/jenkins/workspace/docs_with_plot/docs/') + # docker_check=$(docker exec -it "$id" sh -c 'ls /var/lib/jenkins/workspace/docs_with_plot/docs/') + docker_check=$(docker exec -it "$id" sh -c 'ls' if [[ $? -ne 0]]; then echo "No docs_with_plot directory. Skipping..." else diff --git a/.circleci/config.yml.in b/.circleci/config.yml.in index 3c9ff337823..d5da0a3465f 100644 --- a/.circleci/config.yml.in +++ b/.circleci/config.yml.in @@ -140,7 +140,8 @@ pytorch_tutorial_build_defaults: &pytorch_tutorial_build_defaults export COMMAND='((echo "source ./workspace/env" && echo "sudo chown -R jenkins workspace && cd workspace && ./ci_build_script.sh") | docker exec -u jenkins -i "$id" bash) 2>&1' echo ${COMMAND} > ./command.sh && unbuffer bash ./command.sh | ts # Copy docs with plot to a docs dir - docker_check=$(docker exec -it "$id" sh -c 'ls /var/lib/jenkins/workspace/docs_with_plot/docs/') + # docker_check=$(docker exec -it "$id" sh -c 'ls /var/lib/jenkins/workspace/docs_with_plot/docs/') + docker_check=$(docker exec -it "$id" sh -c 'ls' if [[ $? -ne 0]]; then echo "No docs_with_plot directory. Skipping..." else From 18b273b7e688b43a35b8905195129a4abc266a67 Mon Sep 17 00:00:00 2001 From: Svetlana Karslioglu Date: Thu, 13 Apr 2023 17:15:13 -0700 Subject: [PATCH 24/28] Update --- .circleci/config.yml | 2 +- .circleci/config.yml.in | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 7abd594af2f..bbab2050cd6 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -141,7 +141,7 @@ pytorch_tutorial_build_defaults: &pytorch_tutorial_build_defaults echo ${COMMAND} > ./command.sh && unbuffer bash ./command.sh | ts # Copy docs with plot to a docs dir # docker_check=$(docker exec -it "$id" sh -c 'ls /var/lib/jenkins/workspace/docs_with_plot/docs/') - docker_check=$(docker exec -it "$id" sh -c 'ls' + docker_check=$(docker exec -it "$id" sh -c 'ls') if [[ $? -ne 0]]; then echo "No docs_with_plot directory. Skipping..." else diff --git a/.circleci/config.yml.in b/.circleci/config.yml.in index d5da0a3465f..34c3908d274 100644 --- a/.circleci/config.yml.in +++ b/.circleci/config.yml.in @@ -141,7 +141,7 @@ pytorch_tutorial_build_defaults: &pytorch_tutorial_build_defaults echo ${COMMAND} > ./command.sh && unbuffer bash ./command.sh | ts # Copy docs with plot to a docs dir # docker_check=$(docker exec -it "$id" sh -c 'ls /var/lib/jenkins/workspace/docs_with_plot/docs/') - docker_check=$(docker exec -it "$id" sh -c 'ls' + docker_check=$(docker exec -it "$id" sh -c 'ls') if [[ $? -ne 0]]; then echo "No docs_with_plot directory. Skipping..." else From c0fe0be79ba8d09ccc582b5dfdd904ca7556c671 Mon Sep 17 00:00:00 2001 From: Svetlana Karslioglu Date: Thu, 13 Apr 2023 17:34:28 -0700 Subject: [PATCH 25/28] Update --- .circleci/config.yml | 2 +- .circleci/config.yml.in | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index bbab2050cd6..2de4f7a7804 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -141,7 +141,7 @@ pytorch_tutorial_build_defaults: &pytorch_tutorial_build_defaults echo ${COMMAND} > ./command.sh && unbuffer bash ./command.sh | ts # Copy docs with plot to a docs dir # docker_check=$(docker exec -it "$id" sh -c 'ls /var/lib/jenkins/workspace/docs_with_plot/docs/') - docker_check=$(docker exec -it "$id" sh -c 'ls') + docker_check=$(docker exec -it "$id" sh -c 'ls ./workspace/docs_with_plot/docs/') if [[ $? -ne 0]]; then echo "No docs_with_plot directory. Skipping..." else diff --git a/.circleci/config.yml.in b/.circleci/config.yml.in index 34c3908d274..1a9da283368 100644 --- a/.circleci/config.yml.in +++ b/.circleci/config.yml.in @@ -141,7 +141,7 @@ pytorch_tutorial_build_defaults: &pytorch_tutorial_build_defaults echo ${COMMAND} > ./command.sh && unbuffer bash ./command.sh | ts # Copy docs with plot to a docs dir # docker_check=$(docker exec -it "$id" sh -c 'ls /var/lib/jenkins/workspace/docs_with_plot/docs/') - docker_check=$(docker exec -it "$id" sh -c 'ls') + docker_check=$(docker exec -it "$id" sh -c 'ls ./workspace/docs_with_plot/docs/') if [[ $? -ne 0]]; then echo "No docs_with_plot directory. Skipping..." else From 82ff5ca23bfde3e9fc9ba776e8c614b68c45a066 Mon Sep 17 00:00:00 2001 From: Svetlana Karslioglu Date: Thu, 13 Apr 2023 17:58:10 -0700 Subject: [PATCH 26/28] Update --- .circleci/config.yml | 3 ++- .circleci/config.yml.in | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 2de4f7a7804..6500c48856f 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -141,7 +141,7 @@ pytorch_tutorial_build_defaults: &pytorch_tutorial_build_defaults echo ${COMMAND} > ./command.sh && unbuffer bash ./command.sh | ts # Copy docs with plot to a docs dir # docker_check=$(docker exec -it "$id" sh -c 'ls /var/lib/jenkins/workspace/docs_with_plot/docs/') - docker_check=$(docker exec -it "$id" sh -c 'ls ./workspace/docs_with_plot/docs/') + docker_check=$(docker exec -it "$id" sh -c 'ls ./workspace/docs_with_plot/docs/' 2>/dev/null) if [[ $? -ne 0]]; then echo "No docs_with_plot directory. Skipping..." else @@ -149,6 +149,7 @@ pytorch_tutorial_build_defaults: &pytorch_tutorial_build_defaults docker cp "$id:/var/lib/jenkins/workspace/docs_with_plot/docs/." /home/circleci/project/docs echo "Directory copied successfully" fi + exit 0 - store_artifacts: path: ./docs diff --git a/.circleci/config.yml.in b/.circleci/config.yml.in index 1a9da283368..890bf6d7c10 100644 --- a/.circleci/config.yml.in +++ b/.circleci/config.yml.in @@ -141,7 +141,7 @@ pytorch_tutorial_build_defaults: &pytorch_tutorial_build_defaults echo ${COMMAND} > ./command.sh && unbuffer bash ./command.sh | ts # Copy docs with plot to a docs dir # docker_check=$(docker exec -it "$id" sh -c 'ls /var/lib/jenkins/workspace/docs_with_plot/docs/') - docker_check=$(docker exec -it "$id" sh -c 'ls ./workspace/docs_with_plot/docs/') + docker_check=$(docker exec -it "$id" sh -c 'ls ./workspace/docs_with_plot/docs/' 2>/dev/null) if [[ $? -ne 0]]; then echo "No docs_with_plot directory. Skipping..." else @@ -149,6 +149,7 @@ pytorch_tutorial_build_defaults: &pytorch_tutorial_build_defaults docker cp "$id:/var/lib/jenkins/workspace/docs_with_plot/docs/." /home/circleci/project/docs echo "Directory copied successfully" fi + exit 0 - store_artifacts: path: ./docs From c6527598cb1b4474c8e187de808faefbb43cf18a Mon Sep 17 00:00:00 2001 From: Svetlana Karslioglu Date: Thu, 13 Apr 2023 18:22:53 -0700 Subject: [PATCH 27/28] Update --- .circleci/config.yml | 4 ++-- .circleci/config.yml.in | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 6500c48856f..4d70dbe4941 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -141,8 +141,8 @@ pytorch_tutorial_build_defaults: &pytorch_tutorial_build_defaults echo ${COMMAND} > ./command.sh && unbuffer bash ./command.sh | ts # Copy docs with plot to a docs dir # docker_check=$(docker exec -it "$id" sh -c 'ls /var/lib/jenkins/workspace/docs_with_plot/docs/') - docker_check=$(docker exec -it "$id" sh -c 'ls ./workspace/docs_with_plot/docs/' 2>/dev/null) - if [[ $? -ne 0]]; then + docker_check=$(docker exec -it "$id" sh -c "[ -d ./workspace/docs_with_plot/docs/] && echo 'exists' || echo 'not exists'") + if [[ "$docker_check" == "not exists" ]]; then echo "No docs_with_plot directory. Skipping..." else mkdir /home/circleci/project/docs diff --git a/.circleci/config.yml.in b/.circleci/config.yml.in index 890bf6d7c10..4b7a30636e5 100644 --- a/.circleci/config.yml.in +++ b/.circleci/config.yml.in @@ -141,8 +141,8 @@ pytorch_tutorial_build_defaults: &pytorch_tutorial_build_defaults echo ${COMMAND} > ./command.sh && unbuffer bash ./command.sh | ts # Copy docs with plot to a docs dir # docker_check=$(docker exec -it "$id" sh -c 'ls /var/lib/jenkins/workspace/docs_with_plot/docs/') - docker_check=$(docker exec -it "$id" sh -c 'ls ./workspace/docs_with_plot/docs/' 2>/dev/null) - if [[ $? -ne 0]]; then + docker_check=$(docker exec -it "$id" sh -c "[ -d ./workspace/docs_with_plot/docs/] && echo 'exists' || echo 'not exists'") + if [[ "$docker_check" == "not exists" ]]; then echo "No docs_with_plot directory. Skipping..." else mkdir /home/circleci/project/docs From 2211321aaed70f6a0b44692de85a76bc65e7b229 Mon Sep 17 00:00:00 2001 From: Svetlana Karslioglu Date: Thu, 13 Apr 2023 18:50:04 -0700 Subject: [PATCH 28/28] Update --- .circleci/config.yml | 9 +++------ .circleci/config.yml.in | 9 +++------ 2 files changed, 6 insertions(+), 12 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 4d70dbe4941..38bbfb83818 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -140,16 +140,13 @@ pytorch_tutorial_build_defaults: &pytorch_tutorial_build_defaults export COMMAND='((echo "source ./workspace/env" && echo "sudo chown -R jenkins workspace && cd workspace && ./ci_build_script.sh") | docker exec -u jenkins -i "$id" bash) 2>&1' echo ${COMMAND} > ./command.sh && unbuffer bash ./command.sh | ts # Copy docs with plot to a docs dir - # docker_check=$(docker exec -it "$id" sh -c 'ls /var/lib/jenkins/workspace/docs_with_plot/docs/') - docker_check=$(docker exec -it "$id" sh -c "[ -d ./workspace/docs_with_plot/docs/] && echo 'exists' || echo 'not exists'") - if [[ "$docker_check" == "not exists" ]]; then - echo "No docs_with_plot directory. Skipping..." - else + if docker exec -it "$id" sh -c "test -d ./workspace/docs_with_plot/docs/"; then mkdir /home/circleci/project/docs docker cp "$id:/var/lib/jenkins/workspace/docs_with_plot/docs/." /home/circleci/project/docs echo "Directory copied successfully" + else + echo "No docs_with_plot directory. Skipping..." fi - exit 0 - store_artifacts: path: ./docs diff --git a/.circleci/config.yml.in b/.circleci/config.yml.in index 4b7a30636e5..46e0d9d3ecb 100644 --- a/.circleci/config.yml.in +++ b/.circleci/config.yml.in @@ -140,16 +140,13 @@ pytorch_tutorial_build_defaults: &pytorch_tutorial_build_defaults export COMMAND='((echo "source ./workspace/env" && echo "sudo chown -R jenkins workspace && cd workspace && ./ci_build_script.sh") | docker exec -u jenkins -i "$id" bash) 2>&1' echo ${COMMAND} > ./command.sh && unbuffer bash ./command.sh | ts # Copy docs with plot to a docs dir - # docker_check=$(docker exec -it "$id" sh -c 'ls /var/lib/jenkins/workspace/docs_with_plot/docs/') - docker_check=$(docker exec -it "$id" sh -c "[ -d ./workspace/docs_with_plot/docs/] && echo 'exists' || echo 'not exists'") - if [[ "$docker_check" == "not exists" ]]; then - echo "No docs_with_plot directory. Skipping..." - else + if docker exec -it "$id" sh -c "test -d ./workspace/docs_with_plot/docs/"; then mkdir /home/circleci/project/docs docker cp "$id:/var/lib/jenkins/workspace/docs_with_plot/docs/." /home/circleci/project/docs echo "Directory copied successfully" + else + echo "No docs_with_plot directory. Skipping..." fi - exit 0 - store_artifacts: path: ./docs