Commit 9dcc7a15 authored by flyingdown's avatar flyingdown
Browse files

init v0.10.0

parent db2b0b79
Pipeline #254 failed with stages
in 0 seconds
#!/usr/bin/env bash
set -ex
# shellcheck disable=SC1091
source ./packaging/pkg_helpers.bash
export NO_CUDA_PACKAGE=1
setup_env 0.8.0
setup_wheel_python
pushd docs
pip install -r requirements.txt
make html
popd
#!/usr/bin/env bash
set -ex
if [ "$2" == "" ]; then
echo call as "$0" "<src>" "<target branch>"
echo where src is the root of the built documentation git checkout and
echo branch should be "main" or "1.7" or so
exit 1
fi
src=$1
target=$2
echo "committing docs from ${src} to ${target}"
pushd "${src}"
git checkout gh-pages
mkdir -p ./"${target}"
rm -rf ./"${target}"/*
cp -r "${src}/docs/build/html/"* ./"$target"
if [ "${target}" == "main" ]; then
mkdir -p ./_static
rm -rf ./_static/*
cp -r "${src}/docs/build/html/_static/"* ./_static
git add --all ./_static || true
fi
git add --all ./"${target}" || true
git config user.email "soumith+bot@pytorch.org"
git config user.name "pytorchbot"
# If there aren't changes, don't make a commit; push is no-op
git commit -m "auto-generating sphinx docs" || true
git remote add https https://github.com/pytorch/audio.git
git push -u https gh-pages
#!/usr/bin/env bash
set -ex
# shellcheck disable=SC1091
source ./packaging/pkg_helpers.bash
export NO_CUDA_PACKAGE=1
setup_env 0.8.0
setup_wheel_python
setup_pip_pytorch_version
# pytorch is already installed
pip install --no-deps ~/workspace/torchaudio*
version: 2.1
# How to test the Linux jobs:
# - Install CircleCI local CLI: https://circleci.com/docs/2.0/local-cli/
# - circleci config process .circleci/config.yml > gen.yml && circleci local execute -c gen.yml --job binary_linux_wheel_py3.8
# - Replace binary_linux_wheel_py3.8 with the name of the job you want to test.
# Job names are 'name:' key.
executors:
windows-cpu:
machine:
resource_class: windows.xlarge
image: windows-server-2019-vs2019:stable
shell: bash.exe
windows-gpu:
machine:
resource_class: windows.gpu.nvidia.medium
image: windows-server-2019-nvidia:stable
shell: bash.exe
commands:
generate_cache_key:
description: "Generates a cache key file that changes daily"
steps:
- run:
name: Generate cache key
command: echo "$(date +"%Y-%m-%d")" > .cachekey
designate_upload_channel:
description: "inserts the correct upload channel into ${BASH_ENV}"
steps:
- run:
name: adding UPLOAD_CHANNEL to BASH_ENV
command: |
# Hardcoded for release branch
echo "export UPLOAD_CHANNEL=test" >> ${BASH_ENV}
install_build_tools_macos:
description: "installs tools required to build torchaudio"
steps:
- run:
name: Install build tools
command: HOMEBREW_NO_AUTO_UPDATE=1 brew install pkg-config wget
# Disable brew auto update which is very slow
load_conda_channel_flags:
description: "Determines whether we need extra conda channels"
steps:
- run:
name: Adding CONDA_CHANNEL_FLAGS to BASH_ENV
command: |
CONDA_CHANNEL_FLAGS=""
# formerly used to add conda-forge flags for Python 3.9, reserving the mechanism for future python upgrades
windows_install_cuda:
description: "Install desired CUDA version on Windows runners"
steps:
- run:
name: Install CUDA
command: |
packaging/windows/internal/cuda_install.bat
binary_common: &binary_common
parameters:
# Edit these defaults to do a release
build_version:
description: "version number of release binary; by default, build a nightly"
type: string
default: "0.10.0"
pytorch_version:
description: "PyTorch version to build against; by default, use a nightly"
type: string
default: "1.10.0"
# Don't edit these
python_version:
description: "Python version to build against (e.g., 3.8)"
type: string
cuda_version:
description: "CUDA version to build against (e.g., cpu, cu101)"
type: string
default: "cpu"
wheel_docker_image:
description: "Wheel only: what docker image to use"
type: string
default: "pytorch/manylinux-cuda102"
conda_docker_image:
description: "Conda only: what docker image to use"
type: string
default: "pytorch/conda-builder:cuda102"
environment: &environment
PYTHON_VERSION: << parameters.python_version >>
BUILD_VERSION: << parameters.build_version >>
PYTORCH_VERSION: << parameters.pytorch_version >>
CU_VERSION: << parameters.cuda_version >>
smoke_test_common: &smoke_test_common
<<: *binary_common
docker:
- image: pytorch/torchaudio_unittest_base:smoke_test-20211019
resource_class: large
jobs:
circleci_consistency:
docker:
- image: cimg/python:3.8
steps:
- checkout
- run:
command: |
pip install --user --progress-bar off jinja2 pyyaml
python .circleci/regenerate.py
git diff --exit-code || (echo ".circleci/config.yml not in sync with config.yml.in! Run .circleci/regenerate.py to update config"; exit 1)
download_third_parties_nix:
docker:
- image: "pytorch/torchaudio_unittest_base:manylinux"
resource_class: small
steps:
- checkout
- generate_cache_key
- restore_cache:
keys:
- tp-nix-v2-{{ checksum ".cachekey" }}
- run:
command: |
mkdir -p third_party/sox/archives/
wget --no-clobber --directory-prefix=third_party/sox/archives/ $(awk '/URL /{print $2}' third_party/sox/CMakeLists.txt)
- save_cache:
key: tp-nix-v2-{{ checksum ".cachekey" }}
paths:
- third_party/sox/archives
- persist_to_workspace:
root: third_party
paths:
- sox/archives
binary_linux_wheel:
<<: *binary_common
docker:
- image: << parameters.wheel_docker_image >>
resource_class: 2xlarge+
steps:
- checkout
- designate_upload_channel
- attach_workspace:
at: third_party
- run: packaging/build_wheel.sh
- store_artifacts:
path: dist
- persist_to_workspace:
root: dist
paths:
- "*"
binary_linux_conda:
<<: *binary_common
docker:
- image: "<< parameters.conda_docker_image >>"
resource_class: 2xlarge+
steps:
- checkout
- load_conda_channel_flags
- attach_workspace:
at: third_party
- run: packaging/build_conda.sh
- store_artifacts:
path: /opt/conda/conda-bld/linux-64
- persist_to_workspace:
root: /opt/conda
paths:
- "conda-bld/*"
binary_macos_wheel:
<<: *binary_common
macos:
xcode: "12.0"
steps:
- checkout
- install_build_tools_macos
- designate_upload_channel
- load_conda_channel_flags
- attach_workspace:
at: third_party
- run:
# Cannot easily deduplicate this as source'ing activate
# will set environment variables which we need to propagate
# to build_wheel.sh
command: |
curl -o conda.sh https://repo.anaconda.com/miniconda/Miniconda3-latest-MacOSX-x86_64.sh
sh conda.sh -b
source $HOME/miniconda3/bin/activate
packaging/build_wheel.sh
- store_artifacts:
path: dist
- persist_to_workspace:
root: dist
paths:
- "*"
binary_macos_conda:
<<: *binary_common
macos:
xcode: "12.0"
steps:
- checkout
- install_build_tools_macos
- load_conda_channel_flags
- attach_workspace:
at: third_party
- run:
command: |
curl -o conda.sh https://repo.anaconda.com/miniconda/Miniconda3-latest-MacOSX-x86_64.sh
sh conda.sh -b
source $HOME/miniconda3/bin/activate
conda install -yq conda-build
packaging/build_conda.sh
- store_artifacts:
path: /Users/distiller/miniconda3/conda-bld/osx-64
- persist_to_workspace:
root: /Users/distiller/miniconda3
paths:
- "conda-bld/*"
binary_windows_wheel:
<<: *binary_common
executor:
name: windows-cpu
steps:
- checkout
- designate_upload_channel
- load_conda_channel_flags
- windows_install_cuda
- run:
name: Build wheel packages
command: |
set -ex
eval "$('/C/tools/miniconda3/Scripts/conda.exe' 'shell.bash' 'hook')"
conda activate base
bash packaging/build_wheel.sh
- store_artifacts:
path: dist
- persist_to_workspace:
root: dist
paths:
- "*"
binary_windows_conda:
<<: *binary_common
executor:
name: windows-cpu
steps:
- checkout
- load_conda_channel_flags
- windows_install_cuda
- run:
name: Build conda packages
no_output_timeout: 20m
command: |
set -ex
eval "$('/C/tools/miniconda3/Scripts/conda.exe' 'shell.bash' 'hook')"
conda activate base
conda install -yq conda-build "conda-package-handling!=1.5.0"
# cudatoolkit >= 11 isn't available for windows in the nvidia channel
if [[ "${CU_VERSION}" =~ cu11.* ]]; then
export CONDA_CHANNEL_FLAGS="-c conda-forge"
fi
bash packaging/build_conda.sh
- store_artifacts:
path: C:/tools/miniconda3/conda-bld/win-64
- persist_to_workspace:
root: C:/tools/miniconda3
paths:
- "conda-bld/*"
# Requires org-member context
binary_conda_upload:
docker:
- image: continuumio/miniconda
steps:
- attach_workspace:
at: ~/workspace
- designate_upload_channel
- run:
command: |
# Prevent credential from leaking
conda install -yq anaconda-client
set -x
anaconda -t "${CONDA_PYTORCHBOT_TOKEN}" upload ~/workspace/conda-bld/*/*.tar.bz2 -u "pytorch-${UPLOAD_CHANNEL}" --label main --no-progress --force
# Requires org-member context
binary_wheel_upload:
parameters:
subfolder:
description: "What whl subfolder to upload to, e.g., blank or cu100/ (trailing slash is important)"
type: string
docker:
- image: cimg/python:3.8
steps:
- attach_workspace:
at: ~/workspace
- checkout
- designate_upload_channel
- run:
command: |
pip install --user awscli
export PATH="$HOME/.local/bin:$PATH"
# Prevent credential from leaking
set +x
export AWS_ACCESS_KEY_ID="${PYTORCH_BINARY_AWS_ACCESS_KEY_ID}"
export AWS_SECRET_ACCESS_KEY="${PYTORCH_BINARY_AWS_SECRET_ACCESS_KEY}"
set -x
for pkg in ~/workspace/*.whl; do
aws s3 cp "$pkg" "s3://pytorch/whl/${UPLOAD_CHANNEL}/<< parameters.subfolder >>" --acl public-read
done
smoke_test_linux_conda:
<<: *smoke_test_common
steps:
- attach_workspace:
at: ~/workspace
- designate_upload_channel
- load_conda_channel_flags
- run:
name: install binaries
command: |
set -x
source /usr/local/etc/profile.d/conda.sh && conda activate python${PYTHON_VERSION}
conda install -v -y -c pytorch-${UPLOAD_CHANNEL} pytorch cpuonly
conda install -v -y -c file://$HOME/workspace/conda-bld torchaudio
- run:
name: smoke test
command: |
source /usr/local/etc/profile.d/conda.sh && conda activate python${PYTHON_VERSION}
python -c "import torchaudio"
smoke_test_linux_conda_gpu:
<<: *smoke_test_common
steps:
- attach_workspace:
at: ~/workspace
- designate_upload_channel
- load_conda_channel_flags
- run:
name: install binaries
command: |
set -x
source /usr/local/etc/profile.d/conda.sh && conda activate python${PYTHON_VERSION}
conda install -v -y -c pytorch-${UPLOAD_CHANNEL} pytorch cudatoolkit=${CU_VERSION:2:2}.${CU_VERSION:4} -c conda-forge
conda install -v -y -c file://$HOME/workspace/conda-bld torchaudio
- run:
name: smoke test
command: |
source /usr/local/etc/profile.d/conda.sh && conda activate python${PYTHON_VERSION}
python -c "import torchaudio"
smoke_test_linux_pip:
<<: *smoke_test_common
steps:
- attach_workspace:
at: ~/workspace
- designate_upload_channel
- load_conda_channel_flags
- run:
name: install binaries
command: |
set -x
source /usr/local/etc/profile.d/conda.sh && conda activate python${PYTHON_VERSION}
pip install $(ls ~/workspace/torchaudio*.whl) -f "https://download.pytorch.org/whl/${UPLOAD_CHANNEL}/${CU_VERSION}/torch_${UPLOAD_CHANNEL}.html"
- run:
name: smoke test
command: |
source /usr/local/etc/profile.d/conda.sh && conda activate python${PYTHON_VERSION}
python -c "import torchaudio"
smoke_test_windows_conda:
<<: *binary_common
executor:
name: windows-cpu
steps:
- attach_workspace:
at: ~/workspace
- designate_upload_channel
- load_conda_channel_flags
- run:
name: install binaries
command: |
set -x
eval "$('/C/tools/miniconda3/Scripts/conda.exe' 'shell.bash' 'hook')"
conda env remove -n python${PYTHON_VERSION} || true
conda create -yn python${PYTHON_VERSION} python=${PYTHON_VERSION}
conda activate python${PYTHON_VERSION}
conda install -v -y -c pytorch-${UPLOAD_CHANNEL} pytorch cpuonly
conda install -v -y $(ls ~/workspace/torchaudio*.tar.bz2)
- run:
name: smoke test
command: |
eval "$('/C/tools/miniconda3/Scripts/conda.exe' 'shell.bash' 'hook')"
conda activate python${PYTHON_VERSION}
python -c "import torchaudio"
smoke_test_windows_pip:
<<: *binary_common
executor:
name: windows-cpu
steps:
- attach_workspace:
at: ~/workspace
- designate_upload_channel
- load_conda_channel_flags
- run:
name: install binaries
command: |
set -x
eval "$('/C/tools/miniconda3/Scripts/conda.exe' 'shell.bash' 'hook')"
conda env remove -n python${PYTHON_VERSION} || true
conda create -yn python${PYTHON_VERSION} python=${PYTHON_VERSION}
conda activate python${PYTHON_VERSION}
pip install $(ls ~/workspace/torchaudio*.whl) -f "https://download.pytorch.org/whl/${UPLOAD_CHANNEL}/torch_${UPLOAD_CHANNEL}.html"
- run:
name: smoke test
command: |
eval "$('/C/tools/miniconda3/Scripts/conda.exe' 'shell.bash' 'hook')"
conda activate python${PYTHON_VERSION}
python -c "import torchaudio"
smoke_test_docker_image_build:
machine:
image: ubuntu-1604:201903-01
resource_class: large
environment:
image_name: torchaudio/smoke_test
steps:
- checkout
- run:
name: build_docker image
no_output_timeout: "1h"
command: |
cd .circleci/smoke_test/docker && docker build . -t ${image_name}:${CIRCLE_WORKFLOW_ID}
- run:
name: upload docker image
no_output_timeout: "1h"
command: |
set +x
export AWS_ACCESS_KEY_ID=${ECR_AWS_ACCESS_KEY}
export AWS_SECRET_ACCESS_KEY=${ECR_AWS_SECRET_ACCESS_KEY}
eval $(aws ecr get-login --region us-east-1 --no-include-email)
set -x
docker tag ${image_name}:${CIRCLE_WORKFLOW_ID} 308535385114.dkr.ecr.us-east-1.amazonaws.com/${image_name}:${CIRCLE_WORKFLOW_ID}
docker tag ${image_name}:${CIRCLE_WORKFLOW_ID} 308535385114.dkr.ecr.us-east-1.amazonaws.com/${image_name}:latest
docker push 308535385114.dkr.ecr.us-east-1.amazonaws.com/${image_name}:${CIRCLE_WORKFLOW_ID}
docker push 308535385114.dkr.ecr.us-east-1.amazonaws.com/${image_name}:latest
unittest_linux_cpu:
<<: *binary_common
docker:
- image: pytorch/torchaudio_unittest_base:manylinux-20210121
resource_class: 2xlarge+
steps:
- checkout
- attach_workspace:
at: third_party
- designate_upload_channel
- load_conda_channel_flags
- run:
name: Setup
command: .circleci/unittest/linux/scripts/setup_env.sh
- run:
name: Install torchaudio
command: .circleci/unittest/linux/scripts/install.sh
- run:
name: Run tests
command: .circleci/unittest/linux/scripts/run_test.sh
- store_test_results:
path: test-results
- store_artifacts:
path: test/htmlcov
unittest_linux_gpu:
<<: *binary_common
machine:
image: ubuntu-1604-cuda-10.1:201909-23
resource_class: gpu.small
environment:
<<: *environment
image_name: pytorch/torchaudio_unittest_base:manylinux-cuda10.2-cudnn8-20210623
steps:
- checkout
- attach_workspace:
at: third_party
- designate_upload_channel
- load_conda_channel_flags
- run:
name: Pull Docker image
command: docker pull --quiet "${image_name}"
- run:
name: Setup
command: docker run -t --gpus all -e PYTHON_VERSION -v $PWD:$PWD -w $PWD "${image_name}" .circleci/unittest/linux/scripts/setup_env.sh
- run:
name: Install torchaudio
command: docker run -t --gpus all -e UPLOAD_CHANNEL -e CONDA_CHANNEL_FLAGS -v $PWD:$PWD -w $PWD "${image_name}" .circleci/unittest/linux/scripts/install.sh
- run:
name: Run tests
command: docker run -t --gpus all -v $PWD:$PWD -w $PWD -e "TORCHAUDIO_TEST_FORCE_CUDA=1" "${image_name}" .circleci/unittest/linux/scripts/run_test.sh
- store_test_results:
path: test-results
- store_artifacts:
path: test/htmlcov
unittest_windows_cpu:
<<: *binary_common
executor:
name: windows-cpu
steps:
- checkout
- designate_upload_channel
- load_conda_channel_flags
- run:
name: Setup
command: .circleci/unittest/windows/scripts/setup_env.sh
- run:
name: Install torchaudio
command: .circleci/unittest/windows/scripts/install.sh
- run:
name: Run tests
command: .circleci/unittest/windows/scripts/run_test.sh
- store_test_results:
path: test-results
- store_artifacts:
path: test/htmlcov
unittest_windows_gpu:
<<: *binary_common
executor:
name: windows-gpu
environment:
<<: *environment
CUDA_VERSION: "10.2"
TORCHAUDIO_TEST_FORCE_CUDA: 1
steps:
- checkout
- designate_upload_channel
- load_conda_channel_flags
- run:
name: Setup
command: .circleci/unittest/windows/scripts/setup_env.sh
- run:
name: Install CUDA
command: packaging/windows/internal/cuda_install.bat
- run:
name: Update CUDA driver
command: packaging/windows/internal/driver_update.bat
- run:
name: Install torchaudio
command: .circleci/unittest/windows/scripts/install.sh
- run:
name: Run tests
command: .circleci/unittest/windows/scripts/run_test.sh
- store_test_results:
path: test-results
- store_artifacts:
path: test/htmlcov
unittest_macos_cpu:
<<: *binary_common
macos:
xcode: "12.0"
resource_class: large
steps:
- checkout
- install_build_tools_macos
- load_conda_channel_flags
- attach_workspace:
at: third_party
- designate_upload_channel
- run:
name: Setup
command: .circleci/unittest/linux/scripts/setup_env.sh
- run:
name: Install torchaudio
command: .circleci/unittest/linux/scripts/install.sh
- run:
name: Run tests
command: .circleci/unittest/linux/scripts/run_test.sh
- store_test_results:
path: test-results
- store_artifacts:
path: test/htmlcov
stylecheck:
<<: *binary_common
docker:
- image: "pytorch/torchaudio_unittest_base:manylinux"
resource_class: medium
steps:
- checkout
- designate_upload_channel
- load_conda_channel_flags
- run:
name: Setup
command: .circleci/unittest/linux/scripts/setup_env.sh
- run:
name: Run style check
command: .circleci/unittest/linux/scripts/run_style_checks.sh
build_docs:
<<: *binary_common
docker:
- image: "pytorch/manylinux-cuda100"
resource_class: 2xlarge+
steps:
- attach_workspace:
at: ~/workspace
- checkout
- designate_upload_channel
- load_conda_channel_flags
- run:
name: Install pytorch-audio
command: .circleci/build_docs/install_wheels.sh
- run:
name: Build docs
command: .circleci/build_docs/build_docs.sh
- persist_to_workspace:
root: ./
paths:
- "*"
- store_artifacts:
path: ./docs/build/html
destination: docs
upload_docs:
<<: *binary_common
docker:
- image: "pytorch/manylinux-cuda100"
resource_class: 2xlarge+
steps:
- attach_workspace:
at: ~/workspace
- run:
name: Generate netrc
command: |
# set credentials for https pushing
# requires the org-member context
cat > ~/.netrc \<<DONE
machine github.com
login pytorchbot
password ${GITHUB_PYTORCHBOT_TOKEN}
DONE
- run:
name: Upload docs
command: |
# Don't use "checkout" step since it uses ssh, which cannot git push
# https://circleci.com/docs/2.0/configuration-reference/#checkout
set -ex
tag=${CIRCLE_TAG:1:5}
target=${tag:-main}
~/workspace/.circleci/build_docs/commit_docs.sh ~/workspace $target
docstring_parameters_sync:
<<: *binary_common
docker:
- image: cimg/python:3.8
steps:
- checkout
- run:
name: Check parameters docstring sync
command: |
pip install --user pydocstyle
pydocstyle torchaudio
workflows:
build:
jobs:
- circleci_consistency
- download_third_parties_nix:
name: download_third_parties_nix
- binary_linux_wheel:
cuda_version: cpu
name: binary_linux_wheel_py3.6_cpu
python_version: '3.6'
requires:
- download_third_parties_nix
- binary_linux_wheel:
cuda_version: cu102
name: binary_linux_wheel_py3.6_cu102
python_version: '3.6'
requires:
- download_third_parties_nix
wheel_docker_image: pytorch/manylinux-cuda102
- binary_linux_wheel:
cuda_version: cu111
name: binary_linux_wheel_py3.6_cu111
python_version: '3.6'
requires:
- download_third_parties_nix
wheel_docker_image: pytorch/manylinux-cuda111
- binary_linux_wheel:
cuda_version: cu113
name: binary_linux_wheel_py3.6_cu113
python_version: '3.6'
requires:
- download_third_parties_nix
wheel_docker_image: pytorch/manylinux-cuda113
- binary_linux_wheel:
cuda_version: rocm4.1
name: binary_linux_wheel_py3.6_rocm4.1
python_version: '3.6'
requires:
- download_third_parties_nix
wheel_docker_image: pytorch/manylinux-rocm:4.1
- binary_linux_wheel:
cuda_version: cpu
name: binary_linux_wheel_py3.7_cpu
python_version: '3.7'
requires:
- download_third_parties_nix
- binary_linux_wheel:
cuda_version: cu102
name: binary_linux_wheel_py3.7_cu102
python_version: '3.7'
requires:
- download_third_parties_nix
wheel_docker_image: pytorch/manylinux-cuda102
- binary_linux_wheel:
cuda_version: cu111
name: binary_linux_wheel_py3.7_cu111
python_version: '3.7'
requires:
- download_third_parties_nix
wheel_docker_image: pytorch/manylinux-cuda111
- binary_linux_wheel:
cuda_version: cu113
name: binary_linux_wheel_py3.7_cu113
python_version: '3.7'
requires:
- download_third_parties_nix
wheel_docker_image: pytorch/manylinux-cuda113
- binary_linux_wheel:
cuda_version: rocm4.1
name: binary_linux_wheel_py3.7_rocm4.1
python_version: '3.7'
requires:
- download_third_parties_nix
wheel_docker_image: pytorch/manylinux-rocm:4.1
- binary_linux_wheel:
cuda_version: cpu
filters:
branches:
only:
- /.*/
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: binary_linux_wheel_py3.8_cpu
python_version: '3.8'
requires:
- download_third_parties_nix
- binary_linux_wheel:
cuda_version: cu102
name: binary_linux_wheel_py3.8_cu102
python_version: '3.8'
requires:
- download_third_parties_nix
wheel_docker_image: pytorch/manylinux-cuda102
- binary_linux_wheel:
cuda_version: cu111
name: binary_linux_wheel_py3.8_cu111
python_version: '3.8'
requires:
- download_third_parties_nix
wheel_docker_image: pytorch/manylinux-cuda111
- binary_linux_wheel:
cuda_version: cu113
name: binary_linux_wheel_py3.8_cu113
python_version: '3.8'
requires:
- download_third_parties_nix
wheel_docker_image: pytorch/manylinux-cuda113
- binary_linux_wheel:
cuda_version: rocm4.1
name: binary_linux_wheel_py3.8_rocm4.1
python_version: '3.8'
requires:
- download_third_parties_nix
wheel_docker_image: pytorch/manylinux-rocm:4.1
- binary_linux_wheel:
cuda_version: cpu
name: binary_linux_wheel_py3.9_cpu
python_version: '3.9'
requires:
- download_third_parties_nix
- binary_linux_wheel:
cuda_version: cu102
name: binary_linux_wheel_py3.9_cu102
python_version: '3.9'
requires:
- download_third_parties_nix
wheel_docker_image: pytorch/manylinux-cuda102
- binary_linux_wheel:
cuda_version: cu111
name: binary_linux_wheel_py3.9_cu111
python_version: '3.9'
requires:
- download_third_parties_nix
wheel_docker_image: pytorch/manylinux-cuda111
- binary_linux_wheel:
cuda_version: cu113
name: binary_linux_wheel_py3.9_cu113
python_version: '3.9'
requires:
- download_third_parties_nix
wheel_docker_image: pytorch/manylinux-cuda113
- binary_linux_wheel:
cuda_version: rocm4.1
name: binary_linux_wheel_py3.9_rocm4.1
python_version: '3.9'
requires:
- download_third_parties_nix
wheel_docker_image: pytorch/manylinux-rocm:4.1
- binary_macos_wheel:
cuda_version: cpu
name: binary_macos_wheel_py3.6_cpu
python_version: '3.6'
requires:
- download_third_parties_nix
- binary_macos_wheel:
cuda_version: cpu
name: binary_macos_wheel_py3.7_cpu
python_version: '3.7'
requires:
- download_third_parties_nix
- binary_macos_wheel:
cuda_version: cpu
name: binary_macos_wheel_py3.8_cpu
python_version: '3.8'
requires:
- download_third_parties_nix
- binary_macos_wheel:
cuda_version: cpu
name: binary_macos_wheel_py3.9_cpu
python_version: '3.9'
requires:
- download_third_parties_nix
- binary_windows_wheel:
cuda_version: cpu
name: binary_windows_wheel_py3.6_cpu
python_version: '3.6'
- binary_windows_wheel:
cuda_version: cu102
name: binary_windows_wheel_py3.6_cu102
python_version: '3.6'
wheel_docker_image: pytorch/manylinux-cuda102
- binary_windows_wheel:
cuda_version: cu111
name: binary_windows_wheel_py3.6_cu111
python_version: '3.6'
wheel_docker_image: pytorch/manylinux-cuda111
- binary_windows_wheel:
cuda_version: cpu
name: binary_windows_wheel_py3.7_cpu
python_version: '3.7'
- binary_windows_wheel:
cuda_version: cu102
name: binary_windows_wheel_py3.7_cu102
python_version: '3.7'
wheel_docker_image: pytorch/manylinux-cuda102
- binary_windows_wheel:
cuda_version: cu111
name: binary_windows_wheel_py3.7_cu111
python_version: '3.7'
wheel_docker_image: pytorch/manylinux-cuda111
- binary_windows_wheel:
cuda_version: cpu
name: binary_windows_wheel_py3.8_cpu
python_version: '3.8'
- binary_windows_wheel:
cuda_version: cu102
name: binary_windows_wheel_py3.8_cu102
python_version: '3.8'
wheel_docker_image: pytorch/manylinux-cuda102
- binary_windows_wheel:
cuda_version: cu111
name: binary_windows_wheel_py3.8_cu111
python_version: '3.8'
wheel_docker_image: pytorch/manylinux-cuda111
- binary_windows_wheel:
cuda_version: cpu
name: binary_windows_wheel_py3.9_cpu
python_version: '3.9'
- binary_windows_wheel:
cuda_version: cu102
name: binary_windows_wheel_py3.9_cu102
python_version: '3.9'
wheel_docker_image: pytorch/manylinux-cuda102
- binary_windows_wheel:
cuda_version: cu111
name: binary_windows_wheel_py3.9_cu111
python_version: '3.9'
wheel_docker_image: pytorch/manylinux-cuda111
- binary_linux_conda:
conda_docker_image: pytorch/conda-builder:cpu
cuda_version: cpu
name: binary_linux_conda_py3.6_cpu
python_version: '3.6'
requires:
- download_third_parties_nix
- binary_linux_conda:
conda_docker_image: pytorch/conda-builder:cuda102
cuda_version: cu102
name: binary_linux_conda_py3.6_cu102
python_version: '3.6'
requires:
- download_third_parties_nix
- binary_linux_conda:
conda_docker_image: pytorch/conda-builder:cuda111
cuda_version: cu111
name: binary_linux_conda_py3.6_cu111
python_version: '3.6'
requires:
- download_third_parties_nix
- binary_linux_conda:
conda_docker_image: pytorch/conda-builder:cuda113
cuda_version: cu113
name: binary_linux_conda_py3.6_cu113
python_version: '3.6'
requires:
- download_third_parties_nix
- binary_linux_conda:
conda_docker_image: pytorch/conda-builder:cpu
cuda_version: cpu
name: binary_linux_conda_py3.7_cpu
python_version: '3.7'
requires:
- download_third_parties_nix
- binary_linux_conda:
conda_docker_image: pytorch/conda-builder:cuda102
cuda_version: cu102
name: binary_linux_conda_py3.7_cu102
python_version: '3.7'
requires:
- download_third_parties_nix
- binary_linux_conda:
conda_docker_image: pytorch/conda-builder:cuda111
cuda_version: cu111
name: binary_linux_conda_py3.7_cu111
python_version: '3.7'
requires:
- download_third_parties_nix
- binary_linux_conda:
conda_docker_image: pytorch/conda-builder:cuda113
cuda_version: cu113
name: binary_linux_conda_py3.7_cu113
python_version: '3.7'
requires:
- download_third_parties_nix
- binary_linux_conda:
conda_docker_image: pytorch/conda-builder:cpu
cuda_version: cpu
name: binary_linux_conda_py3.8_cpu
python_version: '3.8'
requires:
- download_third_parties_nix
- binary_linux_conda:
conda_docker_image: pytorch/conda-builder:cuda102
cuda_version: cu102
name: binary_linux_conda_py3.8_cu102
python_version: '3.8'
requires:
- download_third_parties_nix
- binary_linux_conda:
conda_docker_image: pytorch/conda-builder:cuda111
cuda_version: cu111
name: binary_linux_conda_py3.8_cu111
python_version: '3.8'
requires:
- download_third_parties_nix
- binary_linux_conda:
conda_docker_image: pytorch/conda-builder:cuda113
cuda_version: cu113
name: binary_linux_conda_py3.8_cu113
python_version: '3.8'
requires:
- download_third_parties_nix
- binary_linux_conda:
conda_docker_image: pytorch/conda-builder:cpu
cuda_version: cpu
name: binary_linux_conda_py3.9_cpu
python_version: '3.9'
requires:
- download_third_parties_nix
- binary_linux_conda:
conda_docker_image: pytorch/conda-builder:cuda102
cuda_version: cu102
name: binary_linux_conda_py3.9_cu102
python_version: '3.9'
requires:
- download_third_parties_nix
- binary_linux_conda:
conda_docker_image: pytorch/conda-builder:cuda111
cuda_version: cu111
name: binary_linux_conda_py3.9_cu111
python_version: '3.9'
requires:
- download_third_parties_nix
- binary_linux_conda:
conda_docker_image: pytorch/conda-builder:cuda113
cuda_version: cu113
name: binary_linux_conda_py3.9_cu113
python_version: '3.9'
requires:
- download_third_parties_nix
- binary_macos_conda:
conda_docker_image: pytorch/conda-builder:cpu
cuda_version: cpu
name: binary_macos_conda_py3.6_cpu
python_version: '3.6'
requires:
- download_third_parties_nix
- binary_macos_conda:
conda_docker_image: pytorch/conda-builder:cpu
cuda_version: cpu
name: binary_macos_conda_py3.7_cpu
python_version: '3.7'
requires:
- download_third_parties_nix
- binary_macos_conda:
conda_docker_image: pytorch/conda-builder:cpu
cuda_version: cpu
name: binary_macos_conda_py3.8_cpu
python_version: '3.8'
requires:
- download_third_parties_nix
- binary_macos_conda:
conda_docker_image: pytorch/conda-builder:cpu
cuda_version: cpu
name: binary_macos_conda_py3.9_cpu
python_version: '3.9'
requires:
- download_third_parties_nix
- binary_windows_conda:
conda_docker_image: pytorch/conda-builder:cpu
cuda_version: cpu
name: binary_windows_conda_py3.6_cpu
python_version: '3.6'
- binary_windows_conda:
conda_docker_image: pytorch/conda-builder:cuda102
cuda_version: cu102
name: binary_windows_conda_py3.6_cu102
python_version: '3.6'
- binary_windows_conda:
conda_docker_image: pytorch/conda-builder:cuda111
cuda_version: cu111
name: binary_windows_conda_py3.6_cu111
python_version: '3.6'
- binary_windows_conda:
conda_docker_image: pytorch/conda-builder:cpu
cuda_version: cpu
name: binary_windows_conda_py3.7_cpu
python_version: '3.7'
- binary_windows_conda:
conda_docker_image: pytorch/conda-builder:cuda102
cuda_version: cu102
name: binary_windows_conda_py3.7_cu102
python_version: '3.7'
- binary_windows_conda:
conda_docker_image: pytorch/conda-builder:cuda111
cuda_version: cu111
name: binary_windows_conda_py3.7_cu111
python_version: '3.7'
- binary_windows_conda:
conda_docker_image: pytorch/conda-builder:cpu
cuda_version: cpu
name: binary_windows_conda_py3.8_cpu
python_version: '3.8'
- binary_windows_conda:
conda_docker_image: pytorch/conda-builder:cuda102
cuda_version: cu102
name: binary_windows_conda_py3.8_cu102
python_version: '3.8'
- binary_windows_conda:
conda_docker_image: pytorch/conda-builder:cuda111
cuda_version: cu111
name: binary_windows_conda_py3.8_cu111
python_version: '3.8'
- binary_windows_conda:
conda_docker_image: pytorch/conda-builder:cpu
cuda_version: cpu
name: binary_windows_conda_py3.9_cpu
python_version: '3.9'
- binary_windows_conda:
conda_docker_image: pytorch/conda-builder:cuda102
cuda_version: cu102
name: binary_windows_conda_py3.9_cu102
python_version: '3.9'
- binary_windows_conda:
conda_docker_image: pytorch/conda-builder:cuda111
cuda_version: cu111
name: binary_windows_conda_py3.9_cu111
python_version: '3.9'
- build_docs:
filters:
branches:
only:
- /.*/
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: build_docs
python_version: '3.8'
requires:
- binary_linux_wheel_py3.8_cpu
- upload_docs:
context: org-member
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: upload_docs
python_version: '3.8'
requires:
- build_docs
- docstring_parameters_sync:
name: docstring_parameters_sync
python_version: '3.8'
requires:
- binary_linux_wheel_py3.8_cpu
unittest:
jobs:
- download_third_parties_nix:
name: download_third_parties_nix
- unittest_linux_cpu:
cuda_version: cpu
name: unittest_linux_cpu_py3.6
python_version: '3.6'
requires:
- download_third_parties_nix
- stylecheck:
cuda_version: cpu
name: stylecheck_py3.6
python_version: '3.6'
- unittest_linux_cpu:
cuda_version: cpu
name: unittest_linux_cpu_py3.7
python_version: '3.7'
requires:
- download_third_parties_nix
- unittest_linux_cpu:
cuda_version: cpu
name: unittest_linux_cpu_py3.8
python_version: '3.8'
requires:
- download_third_parties_nix
- unittest_linux_cpu:
cuda_version: cpu
name: unittest_linux_cpu_py3.9
python_version: '3.9'
requires:
- download_third_parties_nix
- unittest_linux_gpu:
cuda_version: cu102
name: unittest_linux_gpu_py3.6
python_version: '3.6'
requires:
- download_third_parties_nix
- unittest_linux_gpu:
cuda_version: cu102
name: unittest_linux_gpu_py3.7
python_version: '3.7'
requires:
- download_third_parties_nix
- unittest_linux_gpu:
cuda_version: cu102
name: unittest_linux_gpu_py3.8
python_version: '3.8'
requires:
- download_third_parties_nix
- unittest_linux_gpu:
cuda_version: cu102
name: unittest_linux_gpu_py3.9
python_version: '3.9'
requires:
- download_third_parties_nix
- unittest_windows_cpu:
cuda_version: cpu
name: unittest_windows_cpu_py3.6
python_version: '3.6'
- unittest_windows_cpu:
cuda_version: cpu
name: unittest_windows_cpu_py3.7
python_version: '3.7'
- unittest_windows_cpu:
cuda_version: cpu
name: unittest_windows_cpu_py3.8
python_version: '3.8'
- unittest_windows_cpu:
cuda_version: cpu
name: unittest_windows_cpu_py3.9
python_version: '3.9'
- unittest_windows_gpu:
cuda_version: cu102
name: unittest_windows_gpu_py3.6
python_version: '3.6'
- unittest_windows_gpu:
cuda_version: cu102
name: unittest_windows_gpu_py3.7
python_version: '3.7'
- unittest_windows_gpu:
cuda_version: cu102
name: unittest_windows_gpu_py3.8
python_version: '3.8'
- unittest_windows_gpu:
cuda_version: cu102
name: unittest_windows_gpu_py3.9
python_version: '3.9'
- unittest_macos_cpu:
cuda_version: cpu
name: unittest_macos_cpu_py3.6
python_version: '3.6'
requires:
- download_third_parties_nix
- unittest_macos_cpu:
cuda_version: cpu
name: unittest_macos_cpu_py3.7
python_version: '3.7'
requires:
- download_third_parties_nix
- unittest_macos_cpu:
cuda_version: cpu
name: unittest_macos_cpu_py3.8
python_version: '3.8'
requires:
- download_third_parties_nix
- unittest_macos_cpu:
cuda_version: cpu
name: unittest_macos_cpu_py3.9
python_version: '3.9'
requires:
- download_third_parties_nix
nightly:
jobs:
- circleci_consistency:
filters:
branches:
only: nightly
- download_third_parties_nix:
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: download_third_parties_nix
- binary_linux_wheel:
cuda_version: cpu
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_wheel_py3.6_cpu
python_version: '3.6'
requires:
- download_third_parties_nix
- binary_wheel_upload:
context: org-member
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_wheel_py3.6_cpu_upload
requires:
- nightly_binary_linux_wheel_py3.6_cpu
subfolder: cpu/
- smoke_test_linux_pip:
cuda_version: cpu
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_wheel_py3.6_cpu_smoke_test_pip
python_version: '3.6'
requires:
- nightly_binary_linux_wheel_py3.6_cpu_upload
- binary_linux_wheel:
cuda_version: cu102
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_wheel_py3.6_cu102
python_version: '3.6'
requires:
- download_third_parties_nix
wheel_docker_image: pytorch/manylinux-cuda102
- binary_wheel_upload:
context: org-member
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_wheel_py3.6_cu102_upload
requires:
- nightly_binary_linux_wheel_py3.6_cu102
subfolder: cu102/
- smoke_test_linux_pip:
cuda_version: cu102
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_wheel_py3.6_cu102_smoke_test_pip
python_version: '3.6'
requires:
- nightly_binary_linux_wheel_py3.6_cu102_upload
- binary_linux_wheel:
cuda_version: cu111
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_wheel_py3.6_cu111
python_version: '3.6'
requires:
- download_third_parties_nix
wheel_docker_image: pytorch/manylinux-cuda111
- binary_wheel_upload:
context: org-member
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_wheel_py3.6_cu111_upload
requires:
- nightly_binary_linux_wheel_py3.6_cu111
subfolder: cu111/
- smoke_test_linux_pip:
cuda_version: cu111
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_wheel_py3.6_cu111_smoke_test_pip
python_version: '3.6'
requires:
- nightly_binary_linux_wheel_py3.6_cu111_upload
- binary_linux_wheel:
cuda_version: cu113
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_wheel_py3.6_cu113
python_version: '3.6'
requires:
- download_third_parties_nix
wheel_docker_image: pytorch/manylinux-cuda113
- binary_wheel_upload:
context: org-member
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_wheel_py3.6_cu113_upload
requires:
- nightly_binary_linux_wheel_py3.6_cu113
subfolder: cu113/
- smoke_test_linux_pip:
cuda_version: cu113
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_wheel_py3.6_cu113_smoke_test_pip
python_version: '3.6'
requires:
- nightly_binary_linux_wheel_py3.6_cu113_upload
- binary_linux_wheel:
cuda_version: rocm4.1
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_wheel_py3.6_rocm4.1
python_version: '3.6'
requires:
- download_third_parties_nix
wheel_docker_image: pytorch/manylinux-rocm:4.1
- binary_wheel_upload:
context: org-member
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_wheel_py3.6_rocm4.1_upload
requires:
- nightly_binary_linux_wheel_py3.6_rocm4.1
subfolder: rocm4.1/
- smoke_test_linux_pip:
cuda_version: rocm4.1
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_wheel_py3.6_rocm4.1_smoke_test_pip
python_version: '3.6'
requires:
- nightly_binary_linux_wheel_py3.6_rocm4.1_upload
- binary_linux_wheel:
cuda_version: cpu
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_wheel_py3.7_cpu
python_version: '3.7'
requires:
- download_third_parties_nix
- binary_wheel_upload:
context: org-member
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_wheel_py3.7_cpu_upload
requires:
- nightly_binary_linux_wheel_py3.7_cpu
subfolder: cpu/
- smoke_test_linux_pip:
cuda_version: cpu
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_wheel_py3.7_cpu_smoke_test_pip
python_version: '3.7'
requires:
- nightly_binary_linux_wheel_py3.7_cpu_upload
- binary_linux_wheel:
cuda_version: cu102
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_wheel_py3.7_cu102
python_version: '3.7'
requires:
- download_third_parties_nix
wheel_docker_image: pytorch/manylinux-cuda102
- binary_wheel_upload:
context: org-member
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_wheel_py3.7_cu102_upload
requires:
- nightly_binary_linux_wheel_py3.7_cu102
subfolder: cu102/
- smoke_test_linux_pip:
cuda_version: cu102
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_wheel_py3.7_cu102_smoke_test_pip
python_version: '3.7'
requires:
- nightly_binary_linux_wheel_py3.7_cu102_upload
- binary_linux_wheel:
cuda_version: cu111
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_wheel_py3.7_cu111
python_version: '3.7'
requires:
- download_third_parties_nix
wheel_docker_image: pytorch/manylinux-cuda111
- binary_wheel_upload:
context: org-member
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_wheel_py3.7_cu111_upload
requires:
- nightly_binary_linux_wheel_py3.7_cu111
subfolder: cu111/
- smoke_test_linux_pip:
cuda_version: cu111
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_wheel_py3.7_cu111_smoke_test_pip
python_version: '3.7'
requires:
- nightly_binary_linux_wheel_py3.7_cu111_upload
- binary_linux_wheel:
cuda_version: cu113
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_wheel_py3.7_cu113
python_version: '3.7'
requires:
- download_third_parties_nix
wheel_docker_image: pytorch/manylinux-cuda113
- binary_wheel_upload:
context: org-member
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_wheel_py3.7_cu113_upload
requires:
- nightly_binary_linux_wheel_py3.7_cu113
subfolder: cu113/
- smoke_test_linux_pip:
cuda_version: cu113
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_wheel_py3.7_cu113_smoke_test_pip
python_version: '3.7'
requires:
- nightly_binary_linux_wheel_py3.7_cu113_upload
- binary_linux_wheel:
cuda_version: rocm4.1
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_wheel_py3.7_rocm4.1
python_version: '3.7'
requires:
- download_third_parties_nix
wheel_docker_image: pytorch/manylinux-rocm:4.1
- binary_wheel_upload:
context: org-member
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_wheel_py3.7_rocm4.1_upload
requires:
- nightly_binary_linux_wheel_py3.7_rocm4.1
subfolder: rocm4.1/
- smoke_test_linux_pip:
cuda_version: rocm4.1
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_wheel_py3.7_rocm4.1_smoke_test_pip
python_version: '3.7'
requires:
- nightly_binary_linux_wheel_py3.7_rocm4.1_upload
- binary_linux_wheel:
cuda_version: cpu
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_wheel_py3.8_cpu
python_version: '3.8'
requires:
- download_third_parties_nix
- binary_wheel_upload:
context: org-member
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_wheel_py3.8_cpu_upload
requires:
- nightly_binary_linux_wheel_py3.8_cpu
subfolder: cpu/
- smoke_test_linux_pip:
cuda_version: cpu
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_wheel_py3.8_cpu_smoke_test_pip
python_version: '3.8'
requires:
- nightly_binary_linux_wheel_py3.8_cpu_upload
- binary_linux_wheel:
cuda_version: cu102
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_wheel_py3.8_cu102
python_version: '3.8'
requires:
- download_third_parties_nix
wheel_docker_image: pytorch/manylinux-cuda102
- binary_wheel_upload:
context: org-member
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_wheel_py3.8_cu102_upload
requires:
- nightly_binary_linux_wheel_py3.8_cu102
subfolder: cu102/
- smoke_test_linux_pip:
cuda_version: cu102
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_wheel_py3.8_cu102_smoke_test_pip
python_version: '3.8'
requires:
- nightly_binary_linux_wheel_py3.8_cu102_upload
- binary_linux_wheel:
cuda_version: cu111
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_wheel_py3.8_cu111
python_version: '3.8'
requires:
- download_third_parties_nix
wheel_docker_image: pytorch/manylinux-cuda111
- binary_wheel_upload:
context: org-member
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_wheel_py3.8_cu111_upload
requires:
- nightly_binary_linux_wheel_py3.8_cu111
subfolder: cu111/
- smoke_test_linux_pip:
cuda_version: cu111
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_wheel_py3.8_cu111_smoke_test_pip
python_version: '3.8'
requires:
- nightly_binary_linux_wheel_py3.8_cu111_upload
- binary_linux_wheel:
cuda_version: cu113
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_wheel_py3.8_cu113
python_version: '3.8'
requires:
- download_third_parties_nix
wheel_docker_image: pytorch/manylinux-cuda113
- binary_wheel_upload:
context: org-member
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_wheel_py3.8_cu113_upload
requires:
- nightly_binary_linux_wheel_py3.8_cu113
subfolder: cu113/
- smoke_test_linux_pip:
cuda_version: cu113
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_wheel_py3.8_cu113_smoke_test_pip
python_version: '3.8'
requires:
- nightly_binary_linux_wheel_py3.8_cu113_upload
- binary_linux_wheel:
cuda_version: rocm4.1
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_wheel_py3.8_rocm4.1
python_version: '3.8'
requires:
- download_third_parties_nix
wheel_docker_image: pytorch/manylinux-rocm:4.1
- binary_wheel_upload:
context: org-member
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_wheel_py3.8_rocm4.1_upload
requires:
- nightly_binary_linux_wheel_py3.8_rocm4.1
subfolder: rocm4.1/
- smoke_test_linux_pip:
cuda_version: rocm4.1
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_wheel_py3.8_rocm4.1_smoke_test_pip
python_version: '3.8'
requires:
- nightly_binary_linux_wheel_py3.8_rocm4.1_upload
- binary_linux_wheel:
cuda_version: cpu
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_wheel_py3.9_cpu
python_version: '3.9'
requires:
- download_third_parties_nix
- binary_wheel_upload:
context: org-member
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_wheel_py3.9_cpu_upload
requires:
- nightly_binary_linux_wheel_py3.9_cpu
subfolder: cpu/
- smoke_test_linux_pip:
cuda_version: cpu
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_wheel_py3.9_cpu_smoke_test_pip
python_version: '3.9'
requires:
- nightly_binary_linux_wheel_py3.9_cpu_upload
- binary_linux_wheel:
cuda_version: cu102
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_wheel_py3.9_cu102
python_version: '3.9'
requires:
- download_third_parties_nix
wheel_docker_image: pytorch/manylinux-cuda102
- binary_wheel_upload:
context: org-member
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_wheel_py3.9_cu102_upload
requires:
- nightly_binary_linux_wheel_py3.9_cu102
subfolder: cu102/
- smoke_test_linux_pip:
cuda_version: cu102
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_wheel_py3.9_cu102_smoke_test_pip
python_version: '3.9'
requires:
- nightly_binary_linux_wheel_py3.9_cu102_upload
- binary_linux_wheel:
cuda_version: cu111
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_wheel_py3.9_cu111
python_version: '3.9'
requires:
- download_third_parties_nix
wheel_docker_image: pytorch/manylinux-cuda111
- binary_wheel_upload:
context: org-member
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_wheel_py3.9_cu111_upload
requires:
- nightly_binary_linux_wheel_py3.9_cu111
subfolder: cu111/
- smoke_test_linux_pip:
cuda_version: cu111
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_wheel_py3.9_cu111_smoke_test_pip
python_version: '3.9'
requires:
- nightly_binary_linux_wheel_py3.9_cu111_upload
- binary_linux_wheel:
cuda_version: cu113
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_wheel_py3.9_cu113
python_version: '3.9'
requires:
- download_third_parties_nix
wheel_docker_image: pytorch/manylinux-cuda113
- binary_wheel_upload:
context: org-member
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_wheel_py3.9_cu113_upload
requires:
- nightly_binary_linux_wheel_py3.9_cu113
subfolder: cu113/
- smoke_test_linux_pip:
cuda_version: cu113
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_wheel_py3.9_cu113_smoke_test_pip
python_version: '3.9'
requires:
- nightly_binary_linux_wheel_py3.9_cu113_upload
- binary_linux_wheel:
cuda_version: rocm4.1
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_wheel_py3.9_rocm4.1
python_version: '3.9'
requires:
- download_third_parties_nix
wheel_docker_image: pytorch/manylinux-rocm:4.1
- binary_wheel_upload:
context: org-member
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_wheel_py3.9_rocm4.1_upload
requires:
- nightly_binary_linux_wheel_py3.9_rocm4.1
subfolder: rocm4.1/
- smoke_test_linux_pip:
cuda_version: rocm4.1
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_wheel_py3.9_rocm4.1_smoke_test_pip
python_version: '3.9'
requires:
- nightly_binary_linux_wheel_py3.9_rocm4.1_upload
- binary_macos_wheel:
cuda_version: cpu
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_macos_wheel_py3.6_cpu
python_version: '3.6'
requires:
- download_third_parties_nix
- binary_wheel_upload:
context: org-member
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_macos_wheel_py3.6_cpu_upload
requires:
- nightly_binary_macos_wheel_py3.6_cpu
subfolder: ''
- binary_macos_wheel:
cuda_version: cpu
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_macos_wheel_py3.7_cpu
python_version: '3.7'
requires:
- download_third_parties_nix
- binary_wheel_upload:
context: org-member
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_macos_wheel_py3.7_cpu_upload
requires:
- nightly_binary_macos_wheel_py3.7_cpu
subfolder: ''
- binary_macos_wheel:
cuda_version: cpu
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_macos_wheel_py3.8_cpu
python_version: '3.8'
requires:
- download_third_parties_nix
- binary_wheel_upload:
context: org-member
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_macos_wheel_py3.8_cpu_upload
requires:
- nightly_binary_macos_wheel_py3.8_cpu
subfolder: ''
- binary_macos_wheel:
cuda_version: cpu
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_macos_wheel_py3.9_cpu
python_version: '3.9'
requires:
- download_third_parties_nix
- binary_wheel_upload:
context: org-member
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_macos_wheel_py3.9_cpu_upload
requires:
- nightly_binary_macos_wheel_py3.9_cpu
subfolder: ''
- binary_windows_wheel:
cuda_version: cpu
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_windows_wheel_py3.6_cpu
python_version: '3.6'
- binary_wheel_upload:
context: org-member
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_windows_wheel_py3.6_cpu_upload
requires:
- nightly_binary_windows_wheel_py3.6_cpu
subfolder: cpu/
- smoke_test_windows_pip:
cuda_version: cpu
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_windows_wheel_py3.6_cpu_smoke_test_pip
python_version: '3.6'
requires:
- nightly_binary_windows_wheel_py3.6_cpu_upload
- binary_windows_wheel:
cuda_version: cu102
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_windows_wheel_py3.6_cu102
python_version: '3.6'
wheel_docker_image: pytorch/manylinux-cuda102
- binary_wheel_upload:
context: org-member
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_windows_wheel_py3.6_cu102_upload
requires:
- nightly_binary_windows_wheel_py3.6_cu102
subfolder: cu102/
- smoke_test_windows_pip:
cuda_version: cu102
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_windows_wheel_py3.6_cu102_smoke_test_pip
python_version: '3.6'
requires:
- nightly_binary_windows_wheel_py3.6_cu102_upload
- binary_windows_wheel:
cuda_version: cu111
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_windows_wheel_py3.6_cu111
python_version: '3.6'
wheel_docker_image: pytorch/manylinux-cuda111
- binary_wheel_upload:
context: org-member
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_windows_wheel_py3.6_cu111_upload
requires:
- nightly_binary_windows_wheel_py3.6_cu111
subfolder: cu111/
- smoke_test_windows_pip:
cuda_version: cu111
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_windows_wheel_py3.6_cu111_smoke_test_pip
python_version: '3.6'
requires:
- nightly_binary_windows_wheel_py3.6_cu111_upload
- binary_windows_wheel:
cuda_version: cpu
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_windows_wheel_py3.7_cpu
python_version: '3.7'
- binary_wheel_upload:
context: org-member
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_windows_wheel_py3.7_cpu_upload
requires:
- nightly_binary_windows_wheel_py3.7_cpu
subfolder: cpu/
- smoke_test_windows_pip:
cuda_version: cpu
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_windows_wheel_py3.7_cpu_smoke_test_pip
python_version: '3.7'
requires:
- nightly_binary_windows_wheel_py3.7_cpu_upload
- binary_windows_wheel:
cuda_version: cu102
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_windows_wheel_py3.7_cu102
python_version: '3.7'
wheel_docker_image: pytorch/manylinux-cuda102
- binary_wheel_upload:
context: org-member
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_windows_wheel_py3.7_cu102_upload
requires:
- nightly_binary_windows_wheel_py3.7_cu102
subfolder: cu102/
- smoke_test_windows_pip:
cuda_version: cu102
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_windows_wheel_py3.7_cu102_smoke_test_pip
python_version: '3.7'
requires:
- nightly_binary_windows_wheel_py3.7_cu102_upload
- binary_windows_wheel:
cuda_version: cu111
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_windows_wheel_py3.7_cu111
python_version: '3.7'
wheel_docker_image: pytorch/manylinux-cuda111
- binary_wheel_upload:
context: org-member
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_windows_wheel_py3.7_cu111_upload
requires:
- nightly_binary_windows_wheel_py3.7_cu111
subfolder: cu111/
- smoke_test_windows_pip:
cuda_version: cu111
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_windows_wheel_py3.7_cu111_smoke_test_pip
python_version: '3.7'
requires:
- nightly_binary_windows_wheel_py3.7_cu111_upload
- binary_windows_wheel:
cuda_version: cpu
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_windows_wheel_py3.8_cpu
python_version: '3.8'
- binary_wheel_upload:
context: org-member
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_windows_wheel_py3.8_cpu_upload
requires:
- nightly_binary_windows_wheel_py3.8_cpu
subfolder: cpu/
- smoke_test_windows_pip:
cuda_version: cpu
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_windows_wheel_py3.8_cpu_smoke_test_pip
python_version: '3.8'
requires:
- nightly_binary_windows_wheel_py3.8_cpu_upload
- binary_windows_wheel:
cuda_version: cu102
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_windows_wheel_py3.8_cu102
python_version: '3.8'
wheel_docker_image: pytorch/manylinux-cuda102
- binary_wheel_upload:
context: org-member
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_windows_wheel_py3.8_cu102_upload
requires:
- nightly_binary_windows_wheel_py3.8_cu102
subfolder: cu102/
- smoke_test_windows_pip:
cuda_version: cu102
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_windows_wheel_py3.8_cu102_smoke_test_pip
python_version: '3.8'
requires:
- nightly_binary_windows_wheel_py3.8_cu102_upload
- binary_windows_wheel:
cuda_version: cu111
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_windows_wheel_py3.8_cu111
python_version: '3.8'
wheel_docker_image: pytorch/manylinux-cuda111
- binary_wheel_upload:
context: org-member
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_windows_wheel_py3.8_cu111_upload
requires:
- nightly_binary_windows_wheel_py3.8_cu111
subfolder: cu111/
- smoke_test_windows_pip:
cuda_version: cu111
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_windows_wheel_py3.8_cu111_smoke_test_pip
python_version: '3.8'
requires:
- nightly_binary_windows_wheel_py3.8_cu111_upload
- binary_windows_wheel:
cuda_version: cpu
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_windows_wheel_py3.9_cpu
python_version: '3.9'
- binary_wheel_upload:
context: org-member
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_windows_wheel_py3.9_cpu_upload
requires:
- nightly_binary_windows_wheel_py3.9_cpu
subfolder: cpu/
- smoke_test_windows_pip:
cuda_version: cpu
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_windows_wheel_py3.9_cpu_smoke_test_pip
python_version: '3.9'
requires:
- nightly_binary_windows_wheel_py3.9_cpu_upload
- binary_windows_wheel:
cuda_version: cu102
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_windows_wheel_py3.9_cu102
python_version: '3.9'
wheel_docker_image: pytorch/manylinux-cuda102
- binary_wheel_upload:
context: org-member
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_windows_wheel_py3.9_cu102_upload
requires:
- nightly_binary_windows_wheel_py3.9_cu102
subfolder: cu102/
- smoke_test_windows_pip:
cuda_version: cu102
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_windows_wheel_py3.9_cu102_smoke_test_pip
python_version: '3.9'
requires:
- nightly_binary_windows_wheel_py3.9_cu102_upload
- binary_windows_wheel:
cuda_version: cu111
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_windows_wheel_py3.9_cu111
python_version: '3.9'
wheel_docker_image: pytorch/manylinux-cuda111
- binary_wheel_upload:
context: org-member
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_windows_wheel_py3.9_cu111_upload
requires:
- nightly_binary_windows_wheel_py3.9_cu111
subfolder: cu111/
- smoke_test_windows_pip:
cuda_version: cu111
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_windows_wheel_py3.9_cu111_smoke_test_pip
python_version: '3.9'
requires:
- nightly_binary_windows_wheel_py3.9_cu111_upload
- binary_linux_conda:
conda_docker_image: pytorch/conda-builder:cpu
cuda_version: cpu
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_conda_py3.6_cpu
python_version: '3.6'
requires:
- download_third_parties_nix
- binary_conda_upload:
context: org-member
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_conda_py3.6_cpu_upload
requires:
- nightly_binary_linux_conda_py3.6_cpu
- smoke_test_linux_conda:
cuda_version: cpu
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_conda_py3.6_cpu_smoke_test_conda
python_version: '3.6'
requires:
- nightly_binary_linux_conda_py3.6_cpu_upload
- binary_linux_conda:
conda_docker_image: pytorch/conda-builder:cuda102
cuda_version: cu102
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_conda_py3.6_cu102
python_version: '3.6'
requires:
- download_third_parties_nix
- binary_conda_upload:
context: org-member
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_conda_py3.6_cu102_upload
requires:
- nightly_binary_linux_conda_py3.6_cu102
- smoke_test_linux_conda_gpu:
cuda_version: cu102
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_conda_py3.6_cu102_smoke_test_conda
python_version: '3.6'
requires:
- nightly_binary_linux_conda_py3.6_cu102_upload
- binary_linux_conda:
conda_docker_image: pytorch/conda-builder:cuda111
cuda_version: cu111
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_conda_py3.6_cu111
python_version: '3.6'
requires:
- download_third_parties_nix
- binary_conda_upload:
context: org-member
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_conda_py3.6_cu111_upload
requires:
- nightly_binary_linux_conda_py3.6_cu111
- smoke_test_linux_conda_gpu:
cuda_version: cu111
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_conda_py3.6_cu111_smoke_test_conda
python_version: '3.6'
requires:
- nightly_binary_linux_conda_py3.6_cu111_upload
- binary_linux_conda:
conda_docker_image: pytorch/conda-builder:cuda113
cuda_version: cu113
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_conda_py3.6_cu113
python_version: '3.6'
requires:
- download_third_parties_nix
- binary_conda_upload:
context: org-member
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_conda_py3.6_cu113_upload
requires:
- nightly_binary_linux_conda_py3.6_cu113
- smoke_test_linux_conda_gpu:
cuda_version: cu113
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_conda_py3.6_cu113_smoke_test_conda
python_version: '3.6'
requires:
- nightly_binary_linux_conda_py3.6_cu113_upload
- binary_linux_conda:
conda_docker_image: pytorch/conda-builder:cpu
cuda_version: cpu
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_conda_py3.7_cpu
python_version: '3.7'
requires:
- download_third_parties_nix
- binary_conda_upload:
context: org-member
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_conda_py3.7_cpu_upload
requires:
- nightly_binary_linux_conda_py3.7_cpu
- smoke_test_linux_conda:
cuda_version: cpu
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_conda_py3.7_cpu_smoke_test_conda
python_version: '3.7'
requires:
- nightly_binary_linux_conda_py3.7_cpu_upload
- binary_linux_conda:
conda_docker_image: pytorch/conda-builder:cuda102
cuda_version: cu102
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_conda_py3.7_cu102
python_version: '3.7'
requires:
- download_third_parties_nix
- binary_conda_upload:
context: org-member
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_conda_py3.7_cu102_upload
requires:
- nightly_binary_linux_conda_py3.7_cu102
- smoke_test_linux_conda_gpu:
cuda_version: cu102
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_conda_py3.7_cu102_smoke_test_conda
python_version: '3.7'
requires:
- nightly_binary_linux_conda_py3.7_cu102_upload
- binary_linux_conda:
conda_docker_image: pytorch/conda-builder:cuda111
cuda_version: cu111
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_conda_py3.7_cu111
python_version: '3.7'
requires:
- download_third_parties_nix
- binary_conda_upload:
context: org-member
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_conda_py3.7_cu111_upload
requires:
- nightly_binary_linux_conda_py3.7_cu111
- smoke_test_linux_conda_gpu:
cuda_version: cu111
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_conda_py3.7_cu111_smoke_test_conda
python_version: '3.7'
requires:
- nightly_binary_linux_conda_py3.7_cu111_upload
- binary_linux_conda:
conda_docker_image: pytorch/conda-builder:cuda113
cuda_version: cu113
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_conda_py3.7_cu113
python_version: '3.7'
requires:
- download_third_parties_nix
- binary_conda_upload:
context: org-member
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_conda_py3.7_cu113_upload
requires:
- nightly_binary_linux_conda_py3.7_cu113
- smoke_test_linux_conda_gpu:
cuda_version: cu113
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_conda_py3.7_cu113_smoke_test_conda
python_version: '3.7'
requires:
- nightly_binary_linux_conda_py3.7_cu113_upload
- binary_linux_conda:
conda_docker_image: pytorch/conda-builder:cpu
cuda_version: cpu
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_conda_py3.8_cpu
python_version: '3.8'
requires:
- download_third_parties_nix
- binary_conda_upload:
context: org-member
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_conda_py3.8_cpu_upload
requires:
- nightly_binary_linux_conda_py3.8_cpu
- smoke_test_linux_conda:
cuda_version: cpu
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_conda_py3.8_cpu_smoke_test_conda
python_version: '3.8'
requires:
- nightly_binary_linux_conda_py3.8_cpu_upload
- binary_linux_conda:
conda_docker_image: pytorch/conda-builder:cuda102
cuda_version: cu102
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_conda_py3.8_cu102
python_version: '3.8'
requires:
- download_third_parties_nix
- binary_conda_upload:
context: org-member
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_conda_py3.8_cu102_upload
requires:
- nightly_binary_linux_conda_py3.8_cu102
- smoke_test_linux_conda_gpu:
cuda_version: cu102
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_conda_py3.8_cu102_smoke_test_conda
python_version: '3.8'
requires:
- nightly_binary_linux_conda_py3.8_cu102_upload
- binary_linux_conda:
conda_docker_image: pytorch/conda-builder:cuda111
cuda_version: cu111
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_conda_py3.8_cu111
python_version: '3.8'
requires:
- download_third_parties_nix
- binary_conda_upload:
context: org-member
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_conda_py3.8_cu111_upload
requires:
- nightly_binary_linux_conda_py3.8_cu111
- smoke_test_linux_conda_gpu:
cuda_version: cu111
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_conda_py3.8_cu111_smoke_test_conda
python_version: '3.8'
requires:
- nightly_binary_linux_conda_py3.8_cu111_upload
- binary_linux_conda:
conda_docker_image: pytorch/conda-builder:cuda113
cuda_version: cu113
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_conda_py3.8_cu113
python_version: '3.8'
requires:
- download_third_parties_nix
- binary_conda_upload:
context: org-member
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_conda_py3.8_cu113_upload
requires:
- nightly_binary_linux_conda_py3.8_cu113
- smoke_test_linux_conda_gpu:
cuda_version: cu113
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_conda_py3.8_cu113_smoke_test_conda
python_version: '3.8'
requires:
- nightly_binary_linux_conda_py3.8_cu113_upload
- binary_linux_conda:
conda_docker_image: pytorch/conda-builder:cpu
cuda_version: cpu
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_conda_py3.9_cpu
python_version: '3.9'
requires:
- download_third_parties_nix
- binary_conda_upload:
context: org-member
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_conda_py3.9_cpu_upload
requires:
- nightly_binary_linux_conda_py3.9_cpu
- smoke_test_linux_conda:
cuda_version: cpu
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_conda_py3.9_cpu_smoke_test_conda
python_version: '3.9'
requires:
- nightly_binary_linux_conda_py3.9_cpu_upload
- binary_linux_conda:
conda_docker_image: pytorch/conda-builder:cuda102
cuda_version: cu102
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_conda_py3.9_cu102
python_version: '3.9'
requires:
- download_third_parties_nix
- binary_conda_upload:
context: org-member
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_conda_py3.9_cu102_upload
requires:
- nightly_binary_linux_conda_py3.9_cu102
- smoke_test_linux_conda_gpu:
cuda_version: cu102
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_conda_py3.9_cu102_smoke_test_conda
python_version: '3.9'
requires:
- nightly_binary_linux_conda_py3.9_cu102_upload
- binary_linux_conda:
conda_docker_image: pytorch/conda-builder:cuda111
cuda_version: cu111
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_conda_py3.9_cu111
python_version: '3.9'
requires:
- download_third_parties_nix
- binary_conda_upload:
context: org-member
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_conda_py3.9_cu111_upload
requires:
- nightly_binary_linux_conda_py3.9_cu111
- smoke_test_linux_conda_gpu:
cuda_version: cu111
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_conda_py3.9_cu111_smoke_test_conda
python_version: '3.9'
requires:
- nightly_binary_linux_conda_py3.9_cu111_upload
- binary_linux_conda:
conda_docker_image: pytorch/conda-builder:cuda113
cuda_version: cu113
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_conda_py3.9_cu113
python_version: '3.9'
requires:
- download_third_parties_nix
- binary_conda_upload:
context: org-member
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_conda_py3.9_cu113_upload
requires:
- nightly_binary_linux_conda_py3.9_cu113
- smoke_test_linux_conda_gpu:
cuda_version: cu113
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_conda_py3.9_cu113_smoke_test_conda
python_version: '3.9'
requires:
- nightly_binary_linux_conda_py3.9_cu113_upload
- binary_macos_conda:
conda_docker_image: pytorch/conda-builder:cpu
cuda_version: cpu
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_macos_conda_py3.6_cpu
python_version: '3.6'
requires:
- download_third_parties_nix
- binary_conda_upload:
context: org-member
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_macos_conda_py3.6_cpu_upload
requires:
- nightly_binary_macos_conda_py3.6_cpu
- binary_macos_conda:
conda_docker_image: pytorch/conda-builder:cpu
cuda_version: cpu
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_macos_conda_py3.7_cpu
python_version: '3.7'
requires:
- download_third_parties_nix
- binary_conda_upload:
context: org-member
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_macos_conda_py3.7_cpu_upload
requires:
- nightly_binary_macos_conda_py3.7_cpu
- binary_macos_conda:
conda_docker_image: pytorch/conda-builder:cpu
cuda_version: cpu
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_macos_conda_py3.8_cpu
python_version: '3.8'
requires:
- download_third_parties_nix
- binary_conda_upload:
context: org-member
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_macos_conda_py3.8_cpu_upload
requires:
- nightly_binary_macos_conda_py3.8_cpu
- binary_macos_conda:
conda_docker_image: pytorch/conda-builder:cpu
cuda_version: cpu
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_macos_conda_py3.9_cpu
python_version: '3.9'
requires:
- download_third_parties_nix
- binary_conda_upload:
context: org-member
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_macos_conda_py3.9_cpu_upload
requires:
- nightly_binary_macos_conda_py3.9_cpu
- binary_windows_conda:
conda_docker_image: pytorch/conda-builder:cpu
cuda_version: cpu
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_windows_conda_py3.6_cpu
python_version: '3.6'
- binary_conda_upload:
context: org-member
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_windows_conda_py3.6_cpu_upload
requires:
- nightly_binary_windows_conda_py3.6_cpu
- smoke_test_windows_conda:
cuda_version: cpu
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_windows_conda_py3.6_cpu_smoke_test_conda
python_version: '3.6'
requires:
- nightly_binary_windows_conda_py3.6_cpu_upload
- binary_windows_conda:
conda_docker_image: pytorch/conda-builder:cuda102
cuda_version: cu102
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_windows_conda_py3.6_cu102
python_version: '3.6'
- binary_conda_upload:
context: org-member
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_windows_conda_py3.6_cu102_upload
requires:
- nightly_binary_windows_conda_py3.6_cu102
- smoke_test_windows_conda:
cuda_version: cu102
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_windows_conda_py3.6_cu102_smoke_test_conda
python_version: '3.6'
requires:
- nightly_binary_windows_conda_py3.6_cu102_upload
- binary_windows_conda:
conda_docker_image: pytorch/conda-builder:cuda111
cuda_version: cu111
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_windows_conda_py3.6_cu111
python_version: '3.6'
- binary_conda_upload:
context: org-member
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_windows_conda_py3.6_cu111_upload
requires:
- nightly_binary_windows_conda_py3.6_cu111
- smoke_test_windows_conda:
cuda_version: cu111
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_windows_conda_py3.6_cu111_smoke_test_conda
python_version: '3.6'
requires:
- nightly_binary_windows_conda_py3.6_cu111_upload
- binary_windows_conda:
conda_docker_image: pytorch/conda-builder:cpu
cuda_version: cpu
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_windows_conda_py3.7_cpu
python_version: '3.7'
- binary_conda_upload:
context: org-member
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_windows_conda_py3.7_cpu_upload
requires:
- nightly_binary_windows_conda_py3.7_cpu
- smoke_test_windows_conda:
cuda_version: cpu
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_windows_conda_py3.7_cpu_smoke_test_conda
python_version: '3.7'
requires:
- nightly_binary_windows_conda_py3.7_cpu_upload
- binary_windows_conda:
conda_docker_image: pytorch/conda-builder:cuda102
cuda_version: cu102
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_windows_conda_py3.7_cu102
python_version: '3.7'
- binary_conda_upload:
context: org-member
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_windows_conda_py3.7_cu102_upload
requires:
- nightly_binary_windows_conda_py3.7_cu102
- smoke_test_windows_conda:
cuda_version: cu102
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_windows_conda_py3.7_cu102_smoke_test_conda
python_version: '3.7'
requires:
- nightly_binary_windows_conda_py3.7_cu102_upload
- binary_windows_conda:
conda_docker_image: pytorch/conda-builder:cuda111
cuda_version: cu111
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_windows_conda_py3.7_cu111
python_version: '3.7'
- binary_conda_upload:
context: org-member
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_windows_conda_py3.7_cu111_upload
requires:
- nightly_binary_windows_conda_py3.7_cu111
- smoke_test_windows_conda:
cuda_version: cu111
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_windows_conda_py3.7_cu111_smoke_test_conda
python_version: '3.7'
requires:
- nightly_binary_windows_conda_py3.7_cu111_upload
- binary_windows_conda:
conda_docker_image: pytorch/conda-builder:cpu
cuda_version: cpu
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_windows_conda_py3.8_cpu
python_version: '3.8'
- binary_conda_upload:
context: org-member
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_windows_conda_py3.8_cpu_upload
requires:
- nightly_binary_windows_conda_py3.8_cpu
- smoke_test_windows_conda:
cuda_version: cpu
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_windows_conda_py3.8_cpu_smoke_test_conda
python_version: '3.8'
requires:
- nightly_binary_windows_conda_py3.8_cpu_upload
- binary_windows_conda:
conda_docker_image: pytorch/conda-builder:cuda102
cuda_version: cu102
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_windows_conda_py3.8_cu102
python_version: '3.8'
- binary_conda_upload:
context: org-member
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_windows_conda_py3.8_cu102_upload
requires:
- nightly_binary_windows_conda_py3.8_cu102
- smoke_test_windows_conda:
cuda_version: cu102
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_windows_conda_py3.8_cu102_smoke_test_conda
python_version: '3.8'
requires:
- nightly_binary_windows_conda_py3.8_cu102_upload
- binary_windows_conda:
conda_docker_image: pytorch/conda-builder:cuda111
cuda_version: cu111
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_windows_conda_py3.8_cu111
python_version: '3.8'
- binary_conda_upload:
context: org-member
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_windows_conda_py3.8_cu111_upload
requires:
- nightly_binary_windows_conda_py3.8_cu111
- smoke_test_windows_conda:
cuda_version: cu111
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_windows_conda_py3.8_cu111_smoke_test_conda
python_version: '3.8'
requires:
- nightly_binary_windows_conda_py3.8_cu111_upload
- binary_windows_conda:
conda_docker_image: pytorch/conda-builder:cpu
cuda_version: cpu
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_windows_conda_py3.9_cpu
python_version: '3.9'
- binary_conda_upload:
context: org-member
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_windows_conda_py3.9_cpu_upload
requires:
- nightly_binary_windows_conda_py3.9_cpu
- smoke_test_windows_conda:
cuda_version: cpu
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_windows_conda_py3.9_cpu_smoke_test_conda
python_version: '3.9'
requires:
- nightly_binary_windows_conda_py3.9_cpu_upload
- binary_windows_conda:
conda_docker_image: pytorch/conda-builder:cuda102
cuda_version: cu102
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_windows_conda_py3.9_cu102
python_version: '3.9'
- binary_conda_upload:
context: org-member
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_windows_conda_py3.9_cu102_upload
requires:
- nightly_binary_windows_conda_py3.9_cu102
- smoke_test_windows_conda:
cuda_version: cu102
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_windows_conda_py3.9_cu102_smoke_test_conda
python_version: '3.9'
requires:
- nightly_binary_windows_conda_py3.9_cu102_upload
- binary_windows_conda:
conda_docker_image: pytorch/conda-builder:cuda111
cuda_version: cu111
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_windows_conda_py3.9_cu111
python_version: '3.9'
- binary_conda_upload:
context: org-member
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_windows_conda_py3.9_cu111_upload
requires:
- nightly_binary_windows_conda_py3.9_cu111
- smoke_test_windows_conda:
cuda_version: cu111
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_windows_conda_py3.9_cu111_smoke_test_conda
python_version: '3.9'
requires:
- nightly_binary_windows_conda_py3.9_cu111_upload
docker_build:
triggers:
- schedule:
cron: "0 10 * * 0"
filters:
branches:
only:
- main
jobs:
- smoke_test_docker_image_build
version: 2.1
# How to test the Linux jobs:
# - Install CircleCI local CLI: https://circleci.com/docs/2.0/local-cli/
# - circleci config process .circleci/config.yml > gen.yml && circleci local execute -c gen.yml --job binary_linux_wheel_py3.8
# - Replace binary_linux_wheel_py3.8 with the name of the job you want to test.
# Job names are 'name:' key.
executors:
windows-cpu:
machine:
resource_class: windows.xlarge
image: windows-server-2019-vs2019:stable
shell: bash.exe
windows-gpu:
machine:
resource_class: windows.gpu.nvidia.medium
image: windows-server-2019-nvidia:stable
shell: bash.exe
commands:
generate_cache_key:
description: "Generates a cache key file that changes daily"
steps:
- run:
name: Generate cache key
command: echo "$(date +"%Y-%m-%d")" > .cachekey
designate_upload_channel:
description: "inserts the correct upload channel into ${BASH_ENV}"
steps:
- run:
name: adding UPLOAD_CHANNEL to BASH_ENV
command: |
# Hardcoded for release branch
echo "export UPLOAD_CHANNEL=test" >> ${BASH_ENV}
install_build_tools_macos:
description: "installs tools required to build torchaudio"
steps:
- run:
name: Install build tools
command: HOMEBREW_NO_AUTO_UPDATE=1 brew install pkg-config wget
# Disable brew auto update which is very slow
load_conda_channel_flags:
description: "Determines whether we need extra conda channels"
steps:
- run:
name: Adding CONDA_CHANNEL_FLAGS to BASH_ENV
command: |
CONDA_CHANNEL_FLAGS=""
# formerly used to add conda-forge flags for Python 3.9, reserving the mechanism for future python upgrades
windows_install_cuda:
description: "Install desired CUDA version on Windows runners"
steps:
- run:
name: Install CUDA
command: |
packaging/windows/internal/cuda_install.bat
binary_common: &binary_common
parameters:
# Edit these defaults to do a release
build_version:
description: "version number of release binary; by default, build a nightly"
type: string
default: "0.10.0"
pytorch_version:
description: "PyTorch version to build against; by default, use a nightly"
type: string
default: "1.10.0"
# Don't edit these
python_version:
description: "Python version to build against (e.g., 3.8)"
type: string
cuda_version:
description: "CUDA version to build against (e.g., cpu, cu101)"
type: string
default: "cpu"
wheel_docker_image:
description: "Wheel only: what docker image to use"
type: string
default: "pytorch/manylinux-cuda102"
conda_docker_image:
description: "Conda only: what docker image to use"
type: string
default: "pytorch/conda-builder:cuda102"
environment: &environment
PYTHON_VERSION: << parameters.python_version >>
BUILD_VERSION: << parameters.build_version >>
PYTORCH_VERSION: << parameters.pytorch_version >>
CU_VERSION: << parameters.cuda_version >>
smoke_test_common: &smoke_test_common
<<: *binary_common
docker:
- image: pytorch/torchaudio_unittest_base:smoke_test-20211019
resource_class: large
jobs:
circleci_consistency:
docker:
- image: cimg/python:3.8
steps:
- checkout
- run:
command: |
pip install --user --progress-bar off jinja2 pyyaml
python .circleci/regenerate.py
git diff --exit-code || (echo ".circleci/config.yml not in sync with config.yml.in! Run .circleci/regenerate.py to update config"; exit 1)
download_third_parties_nix:
docker:
- image: "pytorch/torchaudio_unittest_base:manylinux"
resource_class: small
steps:
- checkout
- generate_cache_key
- restore_cache:
{% raw %}
keys:
- tp-nix-v2-{{ checksum ".cachekey" }}
{% endraw %}
- run:
command: |
mkdir -p third_party/sox/archives/
wget --no-clobber --directory-prefix=third_party/sox/archives/ $(awk '/URL /{print $2}' third_party/sox/CMakeLists.txt)
- save_cache:
{% raw %}
key: tp-nix-v2-{{ checksum ".cachekey" }}
{% endraw %}
paths:
- third_party/sox/archives
- persist_to_workspace:
root: third_party
paths:
- sox/archives
binary_linux_wheel:
<<: *binary_common
docker:
- image: << parameters.wheel_docker_image >>
resource_class: 2xlarge+
steps:
- checkout
- designate_upload_channel
- attach_workspace:
at: third_party
- run: packaging/build_wheel.sh
- store_artifacts:
path: dist
- persist_to_workspace:
root: dist
paths:
- "*"
binary_linux_conda:
<<: *binary_common
docker:
- image: "<< parameters.conda_docker_image >>"
resource_class: 2xlarge+
steps:
- checkout
- load_conda_channel_flags
- attach_workspace:
at: third_party
- run: packaging/build_conda.sh
- store_artifacts:
path: /opt/conda/conda-bld/linux-64
- persist_to_workspace:
root: /opt/conda
paths:
- "conda-bld/*"
binary_macos_wheel:
<<: *binary_common
macos:
xcode: "12.0"
steps:
- checkout
- install_build_tools_macos
- designate_upload_channel
- load_conda_channel_flags
- attach_workspace:
at: third_party
- run:
# Cannot easily deduplicate this as source'ing activate
# will set environment variables which we need to propagate
# to build_wheel.sh
command: |
curl -o conda.sh https://repo.anaconda.com/miniconda/Miniconda3-latest-MacOSX-x86_64.sh
sh conda.sh -b
source $HOME/miniconda3/bin/activate
packaging/build_wheel.sh
- store_artifacts:
path: dist
- persist_to_workspace:
root: dist
paths:
- "*"
binary_macos_conda:
<<: *binary_common
macos:
xcode: "12.0"
steps:
- checkout
- install_build_tools_macos
- load_conda_channel_flags
- attach_workspace:
at: third_party
- run:
command: |
curl -o conda.sh https://repo.anaconda.com/miniconda/Miniconda3-latest-MacOSX-x86_64.sh
sh conda.sh -b
source $HOME/miniconda3/bin/activate
conda install -yq conda-build
packaging/build_conda.sh
- store_artifacts:
path: /Users/distiller/miniconda3/conda-bld/osx-64
- persist_to_workspace:
root: /Users/distiller/miniconda3
paths:
- "conda-bld/*"
binary_windows_wheel:
<<: *binary_common
executor:
name: windows-cpu
steps:
- checkout
- designate_upload_channel
- load_conda_channel_flags
- windows_install_cuda
- run:
name: Build wheel packages
command: |
set -ex
eval "$('/C/tools/miniconda3/Scripts/conda.exe' 'shell.bash' 'hook')"
conda activate base
bash packaging/build_wheel.sh
- store_artifacts:
path: dist
- persist_to_workspace:
root: dist
paths:
- "*"
binary_windows_conda:
<<: *binary_common
executor:
name: windows-cpu
steps:
- checkout
- load_conda_channel_flags
- windows_install_cuda
- run:
name: Build conda packages
no_output_timeout: 20m
command: |
set -ex
eval "$('/C/tools/miniconda3/Scripts/conda.exe' 'shell.bash' 'hook')"
conda activate base
conda install -yq conda-build "conda-package-handling!=1.5.0"
# cudatoolkit >= 11 isn't available for windows in the nvidia channel
if [[ "${CU_VERSION}" =~ cu11.* ]]; then
export CONDA_CHANNEL_FLAGS="-c conda-forge"
fi
bash packaging/build_conda.sh
- store_artifacts:
path: C:/tools/miniconda3/conda-bld/win-64
- persist_to_workspace:
root: C:/tools/miniconda3
paths:
- "conda-bld/*"
# Requires org-member context
binary_conda_upload:
docker:
- image: continuumio/miniconda
steps:
- attach_workspace:
at: ~/workspace
- designate_upload_channel
- run:
command: |
# Prevent credential from leaking
conda install -yq anaconda-client
set -x
anaconda -t "${CONDA_PYTORCHBOT_TOKEN}" upload ~/workspace/conda-bld/*/*.tar.bz2 -u "pytorch-${UPLOAD_CHANNEL}" --label main --no-progress --force
# Requires org-member context
binary_wheel_upload:
parameters:
subfolder:
description: "What whl subfolder to upload to, e.g., blank or cu100/ (trailing slash is important)"
type: string
docker:
- image: cimg/python:3.8
steps:
- attach_workspace:
at: ~/workspace
- checkout
- designate_upload_channel
- run:
command: |
pip install --user awscli
export PATH="$HOME/.local/bin:$PATH"
# Prevent credential from leaking
set +x
export AWS_ACCESS_KEY_ID="${PYTORCH_BINARY_AWS_ACCESS_KEY_ID}"
export AWS_SECRET_ACCESS_KEY="${PYTORCH_BINARY_AWS_SECRET_ACCESS_KEY}"
set -x
for pkg in ~/workspace/*.whl; do
aws s3 cp "$pkg" "s3://pytorch/whl/${UPLOAD_CHANNEL}/<< parameters.subfolder >>" --acl public-read
done
smoke_test_linux_conda:
<<: *smoke_test_common
steps:
- attach_workspace:
at: ~/workspace
- designate_upload_channel
- load_conda_channel_flags
- run:
name: install binaries
command: |
set -x
source /usr/local/etc/profile.d/conda.sh && conda activate python${PYTHON_VERSION}
conda install -v -y -c pytorch-${UPLOAD_CHANNEL} pytorch cpuonly
conda install -v -y -c file://$HOME/workspace/conda-bld torchaudio
- run:
name: smoke test
command: |
source /usr/local/etc/profile.d/conda.sh && conda activate python${PYTHON_VERSION}
python -c "import torchaudio"
smoke_test_linux_conda_gpu:
<<: *smoke_test_common
steps:
- attach_workspace:
at: ~/workspace
- designate_upload_channel
- load_conda_channel_flags
- run:
name: install binaries
command: |
set -x
source /usr/local/etc/profile.d/conda.sh && conda activate python${PYTHON_VERSION}
conda install -v -y -c pytorch-${UPLOAD_CHANNEL} pytorch cudatoolkit=${CU_VERSION:2:2}.${CU_VERSION:4} -c conda-forge
conda install -v -y -c file://$HOME/workspace/conda-bld torchaudio
- run:
name: smoke test
command: |
source /usr/local/etc/profile.d/conda.sh && conda activate python${PYTHON_VERSION}
python -c "import torchaudio"
smoke_test_linux_pip:
<<: *smoke_test_common
steps:
- attach_workspace:
at: ~/workspace
- designate_upload_channel
- load_conda_channel_flags
- run:
name: install binaries
command: |
set -x
source /usr/local/etc/profile.d/conda.sh && conda activate python${PYTHON_VERSION}
pip install $(ls ~/workspace/torchaudio*.whl) -f "https://download.pytorch.org/whl/${UPLOAD_CHANNEL}/${CU_VERSION}/torch_${UPLOAD_CHANNEL}.html"
- run:
name: smoke test
command: |
source /usr/local/etc/profile.d/conda.sh && conda activate python${PYTHON_VERSION}
python -c "import torchaudio"
smoke_test_windows_conda:
<<: *binary_common
executor:
name: windows-cpu
steps:
- attach_workspace:
at: ~/workspace
- designate_upload_channel
- load_conda_channel_flags
- run:
name: install binaries
command: |
set -x
eval "$('/C/tools/miniconda3/Scripts/conda.exe' 'shell.bash' 'hook')"
conda env remove -n python${PYTHON_VERSION} || true
conda create -yn python${PYTHON_VERSION} python=${PYTHON_VERSION}
conda activate python${PYTHON_VERSION}
conda install -v -y -c pytorch-${UPLOAD_CHANNEL} pytorch cpuonly
conda install -v -y $(ls ~/workspace/torchaudio*.tar.bz2)
- run:
name: smoke test
command: |
eval "$('/C/tools/miniconda3/Scripts/conda.exe' 'shell.bash' 'hook')"
conda activate python${PYTHON_VERSION}
python -c "import torchaudio"
smoke_test_windows_pip:
<<: *binary_common
executor:
name: windows-cpu
steps:
- attach_workspace:
at: ~/workspace
- designate_upload_channel
- load_conda_channel_flags
- run:
name: install binaries
command: |
set -x
eval "$('/C/tools/miniconda3/Scripts/conda.exe' 'shell.bash' 'hook')"
conda env remove -n python${PYTHON_VERSION} || true
conda create -yn python${PYTHON_VERSION} python=${PYTHON_VERSION}
conda activate python${PYTHON_VERSION}
pip install $(ls ~/workspace/torchaudio*.whl) -f "https://download.pytorch.org/whl/${UPLOAD_CHANNEL}/torch_${UPLOAD_CHANNEL}.html"
- run:
name: smoke test
command: |
eval "$('/C/tools/miniconda3/Scripts/conda.exe' 'shell.bash' 'hook')"
conda activate python${PYTHON_VERSION}
python -c "import torchaudio"
smoke_test_docker_image_build:
machine:
image: ubuntu-1604:201903-01
resource_class: large
environment:
image_name: torchaudio/smoke_test
steps:
- checkout
- run:
name: build_docker image
no_output_timeout: "1h"
command: |
cd .circleci/smoke_test/docker && docker build . -t ${image_name}:${CIRCLE_WORKFLOW_ID}
- run:
name: upload docker image
no_output_timeout: "1h"
command: |
set +x
export AWS_ACCESS_KEY_ID=${ECR_AWS_ACCESS_KEY}
export AWS_SECRET_ACCESS_KEY=${ECR_AWS_SECRET_ACCESS_KEY}
eval $(aws ecr get-login --region us-east-1 --no-include-email)
set -x
docker tag ${image_name}:${CIRCLE_WORKFLOW_ID} 308535385114.dkr.ecr.us-east-1.amazonaws.com/${image_name}:${CIRCLE_WORKFLOW_ID}
docker tag ${image_name}:${CIRCLE_WORKFLOW_ID} 308535385114.dkr.ecr.us-east-1.amazonaws.com/${image_name}:latest
docker push 308535385114.dkr.ecr.us-east-1.amazonaws.com/${image_name}:${CIRCLE_WORKFLOW_ID}
docker push 308535385114.dkr.ecr.us-east-1.amazonaws.com/${image_name}:latest
unittest_linux_cpu:
<<: *binary_common
docker:
- image: pytorch/torchaudio_unittest_base:manylinux-20210121
resource_class: 2xlarge+
steps:
- checkout
- attach_workspace:
at: third_party
- designate_upload_channel
- load_conda_channel_flags
- run:
name: Setup
command: .circleci/unittest/linux/scripts/setup_env.sh
- run:
name: Install torchaudio
command: .circleci/unittest/linux/scripts/install.sh
- run:
name: Run tests
command: .circleci/unittest/linux/scripts/run_test.sh
- store_test_results:
path: test-results
- store_artifacts:
path: test/htmlcov
unittest_linux_gpu:
<<: *binary_common
machine:
image: ubuntu-1604-cuda-10.1:201909-23
resource_class: gpu.small
environment:
<<: *environment
image_name: pytorch/torchaudio_unittest_base:manylinux-cuda10.2-cudnn8-20210623
steps:
- checkout
- attach_workspace:
at: third_party
- designate_upload_channel
- load_conda_channel_flags
- run:
name: Pull Docker image
command: docker pull --quiet "${image_name}"
- run:
name: Setup
command: docker run -t --gpus all -e PYTHON_VERSION -v $PWD:$PWD -w $PWD "${image_name}" .circleci/unittest/linux/scripts/setup_env.sh
- run:
name: Install torchaudio
command: docker run -t --gpus all -e UPLOAD_CHANNEL -e CONDA_CHANNEL_FLAGS -v $PWD:$PWD -w $PWD "${image_name}" .circleci/unittest/linux/scripts/install.sh
- run:
name: Run tests
command: docker run -t --gpus all -v $PWD:$PWD -w $PWD -e "TORCHAUDIO_TEST_FORCE_CUDA=1" "${image_name}" .circleci/unittest/linux/scripts/run_test.sh
- store_test_results:
path: test-results
- store_artifacts:
path: test/htmlcov
unittest_windows_cpu:
<<: *binary_common
executor:
name: windows-cpu
steps:
- checkout
- designate_upload_channel
- load_conda_channel_flags
- run:
name: Setup
command: .circleci/unittest/windows/scripts/setup_env.sh
- run:
name: Install torchaudio
command: .circleci/unittest/windows/scripts/install.sh
- run:
name: Run tests
command: .circleci/unittest/windows/scripts/run_test.sh
- store_test_results:
path: test-results
- store_artifacts:
path: test/htmlcov
unittest_windows_gpu:
<<: *binary_common
executor:
name: windows-gpu
environment:
<<: *environment
CUDA_VERSION: "10.2"
TORCHAUDIO_TEST_FORCE_CUDA: 1
steps:
- checkout
- designate_upload_channel
- load_conda_channel_flags
- run:
name: Setup
command: .circleci/unittest/windows/scripts/setup_env.sh
- run:
name: Install CUDA
command: packaging/windows/internal/cuda_install.bat
- run:
name: Update CUDA driver
command: packaging/windows/internal/driver_update.bat
- run:
name: Install torchaudio
command: .circleci/unittest/windows/scripts/install.sh
- run:
name: Run tests
command: .circleci/unittest/windows/scripts/run_test.sh
- store_test_results:
path: test-results
- store_artifacts:
path: test/htmlcov
unittest_macos_cpu:
<<: *binary_common
macos:
xcode: "12.0"
resource_class: large
steps:
- checkout
- install_build_tools_macos
- load_conda_channel_flags
- attach_workspace:
at: third_party
- designate_upload_channel
- run:
name: Setup
command: .circleci/unittest/linux/scripts/setup_env.sh
- run:
name: Install torchaudio
command: .circleci/unittest/linux/scripts/install.sh
- run:
name: Run tests
command: .circleci/unittest/linux/scripts/run_test.sh
- store_test_results:
path: test-results
- store_artifacts:
path: test/htmlcov
stylecheck:
<<: *binary_common
docker:
- image: "pytorch/torchaudio_unittest_base:manylinux"
resource_class: medium
steps:
- checkout
- designate_upload_channel
- load_conda_channel_flags
- run:
name: Setup
command: .circleci/unittest/linux/scripts/setup_env.sh
- run:
name: Run style check
command: .circleci/unittest/linux/scripts/run_style_checks.sh
build_docs:
<<: *binary_common
docker:
- image: "pytorch/manylinux-cuda100"
resource_class: 2xlarge+
steps:
- attach_workspace:
at: ~/workspace
- checkout
- designate_upload_channel
- load_conda_channel_flags
- run:
name: Install pytorch-audio
command: .circleci/build_docs/install_wheels.sh
- run:
name: Build docs
command: .circleci/build_docs/build_docs.sh
- persist_to_workspace:
root: ./
paths:
- "*"
- store_artifacts:
path: ./docs/build/html
destination: docs
upload_docs:
<<: *binary_common
docker:
- image: "pytorch/manylinux-cuda100"
resource_class: 2xlarge+
steps:
- attach_workspace:
at: ~/workspace
- run:
name: Generate netrc
command: |
# set credentials for https pushing
# requires the org-member context
cat > ~/.netrc \<<DONE
machine github.com
login pytorchbot
password ${GITHUB_PYTORCHBOT_TOKEN}
DONE
- run:
name: Upload docs
command: |
# Don't use "checkout" step since it uses ssh, which cannot git push
# https://circleci.com/docs/2.0/configuration-reference/#checkout
set -ex
tag=${CIRCLE_TAG:1:5}
target=${tag:-main}
~/workspace/.circleci/build_docs/commit_docs.sh ~/workspace $target
docstring_parameters_sync:
<<: *binary_common
docker:
- image: cimg/python:3.8
steps:
- checkout
- run:
name: Check parameters docstring sync
command: |
pip install --user pydocstyle
pydocstyle torchaudio
workflows:
build:
jobs:
- circleci_consistency
{{ build_workflows() }}
unittest:
jobs:
{{ unittest_workflows() }}
nightly:
jobs:
- circleci_consistency:
filters:
branches:
only: nightly
{{ build_workflows(prefix="nightly_", filter_branch="nightly", upload=True) }}
docker_build:
triggers:
- schedule:
cron: "0 10 * * 0"
filters:
branches:
only:
- main
jobs:
- smoke_test_docker_image_build
#!/usr/bin/env python3
"""
This script should use a very simple, functional programming style.
Avoid Jinja macros in favor of native Python functions.
Don't go overboard on code generation; use Python only to generate
content that can't be easily declared statically using CircleCI's YAML API.
Data declarations (e.g. the nested loops for defining the configuration matrix)
should be at the top of the file for easy updating.
See this comment for design rationale:
https://github.com/pytorch/vision/pull/1321#issuecomment-531033978
"""
import jinja2
from jinja2 import select_autoescape
import yaml
import os.path
PYTHON_VERSIONS = ["3.6", "3.7", "3.8", "3.9"]
CU_VERSIONS_DICT = {"linux": ["cpu", "cu102", "cu111","cu113", "rocm4.1"],
"windows": ["cpu", "cu102", "cu111"],
"macos": ["cpu"]}
DOC_VERSION = ('linux', '3.8')
def build_workflows(prefix='', upload=False, filter_branch=None, indentation=6):
w = []
w += build_download_job(filter_branch)
for btype in ["wheel", "conda"]:
for os_type in ["linux", "macos", "windows"]:
for python_version in PYTHON_VERSIONS:
for cu_version in CU_VERSIONS_DICT[os_type]:
fb = filter_branch
if cu_version.startswith("rocm") and btype=="conda":
continue
if not fb and (os_type == 'linux' and
btype == 'wheel' and
python_version == '3.8' and
cu_version == 'cpu'):
# the fields must match the build_docs "requires" dependency
fb = '/.*/'
w += build_workflow_pair(btype, os_type, python_version, cu_version, fb, prefix, upload)
if not filter_branch:
# Build on every pull request, but upload only on nightly and tags
w += build_doc_job('/.*/')
w += upload_doc_job('nightly')
w += docstring_parameters_sync_job(None)
return indent(indentation, w)
def build_download_job(filter_branch):
job = {
"name": "download_third_parties_nix",
}
if filter_branch:
job["filters"] = gen_filter_branch_tree(filter_branch)
return [{"download_third_parties_nix": job}]
def build_workflow_pair(btype, os_type, python_version, cu_version, filter_branch, prefix='', upload=False):
w = []
base_workflow_name = f"{prefix}binary_{os_type}_{btype}_py{python_version}_{cu_version}"
w.append(generate_base_workflow(base_workflow_name, python_version, cu_version, filter_branch, os_type, btype))
if upload:
w.append(generate_upload_workflow(base_workflow_name, filter_branch, os_type, btype, cu_version))
if filter_branch == 'nightly' and os_type != 'macos':
pydistro = 'pip' if btype == 'wheel' else 'conda'
w.append(generate_smoketest_workflow(pydistro, base_workflow_name, filter_branch, python_version, cu_version, os_type))
return w
def build_doc_job(filter_branch):
job = {
"name": "build_docs",
"python_version": "3.8",
"requires": ["binary_linux_wheel_py3.8_cpu", ],
}
if filter_branch:
job["filters"] = gen_filter_branch_tree(filter_branch)
return [{"build_docs": job}]
def upload_doc_job(filter_branch):
job = {
"name": "upload_docs",
"context": "org-member",
"python_version": "3.8",
"requires": ["build_docs", ],
}
if filter_branch:
job["filters"] = gen_filter_branch_tree(filter_branch)
return [{"upload_docs": job}]
def docstring_parameters_sync_job(filter_branch):
job = {
"name": "docstring_parameters_sync",
"python_version": "3.8",
"requires": ["binary_linux_wheel_py3.8_cpu", ],
}
if filter_branch:
job["filters"] = gen_filter_branch_tree(filter_branch)
return [{"docstring_parameters_sync": job}]
def generate_base_workflow(base_workflow_name, python_version, cu_version, filter_branch, os_type, btype):
d = {
"name": base_workflow_name,
"python_version": python_version,
"cuda_version": cu_version,
}
if os_type in ['linux', 'macos']:
d['requires'] = ['download_third_parties_nix']
if btype == 'conda':
d['conda_docker_image'] = f'pytorch/conda-builder:{cu_version.replace("cu1","cuda1")}'
elif cu_version.startswith('cu'):
d['wheel_docker_image'] = f'pytorch/manylinux-{cu_version.replace("cu1","cuda1")}'
elif cu_version.startswith('rocm'):
d["wheel_docker_image"] = f"pytorch/manylinux-rocm:{cu_version[len('rocm'):]}"
if filter_branch:
d["filters"] = gen_filter_branch_tree(filter_branch)
return {f"binary_{os_type}_{btype}": d}
def gen_filter_branch_tree(*branches):
return {
"branches": {
"only": list(branches),
},
"tags": {
# Using a raw string here to avoid having to escape
# anything
"only": r"/v[0-9]+(\.[0-9]+)*-rc[0-9]+/"
}
}
def generate_upload_workflow(base_workflow_name, filter_branch, os_type, btype, cu_version):
d = {
"name": "{base_workflow_name}_upload".format(base_workflow_name=base_workflow_name),
"context": "org-member",
"requires": [base_workflow_name],
}
if btype == 'wheel':
d["subfolder"] = "" if os_type == 'macos' else cu_version + "/"
if filter_branch:
d["filters"] = gen_filter_branch_tree(filter_branch)
return {"binary_{btype}_upload".format(btype=btype): d}
def generate_smoketest_workflow(pydistro, base_workflow_name, filter_branch, python_version, cu_version, os_type):
required_build_suffix = "_upload"
required_build_name = base_workflow_name + required_build_suffix
smoke_suffix = f"smoke_test_{pydistro}".format(pydistro=pydistro)
d = {
"name": f"{base_workflow_name}_{smoke_suffix}",
"requires": [required_build_name],
"python_version": python_version,
"cuda_version": cu_version,
}
if filter_branch:
d["filters"] = gen_filter_branch_tree(filter_branch)
smoke_name = f"smoke_test_{os_type}_{pydistro}"
if pydistro == "conda" and os_type == "linux" and cu_version != "cpu":
smoke_name += "_gpu"
return {smoke_name: d}
def indent(indentation, data_list):
return ("\n" + " " * indentation).join(yaml.dump(data_list).splitlines())
def unittest_workflows(indentation=6):
jobs = []
jobs += build_download_job(None)
for os_type in ["linux", "windows", "macos"]:
for device_type in ["cpu", "gpu"]:
if os_type == "macos" and device_type == "gpu":
continue
for i, python_version in enumerate(PYTHON_VERSIONS):
job = {
"name": f"unittest_{os_type}_{device_type}_py{python_version}",
"python_version": python_version,
"cuda_version": 'cpu' if device_type=="cpu" else "cu102",
}
if os_type != "windows":
job['requires'] = ['download_third_parties_nix']
jobs.append({f"unittest_{os_type}_{device_type}": job})
if i == 0 and os_type == "linux" and device_type == "cpu":
jobs.append({
"stylecheck": {
"name": f"stylecheck_py{python_version}",
"python_version": python_version,
"cuda_version": 'cpu' if device_type=="cpu" else "cu102",
}
})
return indent(indentation, jobs)
if __name__ == "__main__":
d = os.path.dirname(__file__)
env = jinja2.Environment(
loader=jinja2.FileSystemLoader(d),
lstrip_blocks=True,
autoescape=select_autoescape(enabled_extensions=('html', 'xml')),
)
with open(os.path.join(d, 'config.yml'), 'w') as f:
f.write(env.get_template('config.yml.in').render(
build_workflows=build_workflows,
unittest_workflows=unittest_workflows,
))
f.write("\n")
# this Dockerfile is for torchaudio smoke test, it will be created periodically via CI system
# if you need to do it locally, follow below steps once you have Docker installed
# assuming you're within the directory where this Dockerfile located
# $ docker build . -t torchaudio/smoketest
# if you want to push to aws ecr, make sure you have the rights to write to ECR, then run
# $ eval $(aws ecr get-login --region us-east-1 --no-include-email)
# $ export MYTAG=localbuild ## you can choose whatever tag you like
# $ docker tag torchaudio/smoketest 308535385114.dkr.ecr.us-east-1.amazonaws.com/torchaudio/smoke_test:${MYTAG}
# $ docker push 308535385114.dkr.ecr.us-east-1.amazonaws.com/torchaudio/smoke_test:${MYTAG}
FROM ubuntu:latest
RUN apt-get -qq update && apt-get -qq -y install curl bzip2 sox libsox-dev libsox-fmt-all \
&& curl -sSL https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh -o /tmp/miniconda.sh \
&& bash /tmp/miniconda.sh -bfp /usr/local \
&& rm -rf /tmp/miniconda.sh \
&& conda install -y python=3 \
&& conda update conda \
&& apt-get -qq -y remove curl bzip2 \
&& apt-get -qq -y autoremove \
&& apt-get autoclean \
&& rm -rf /var/lib/apt/lists/* /var/log/dpkg.log \
&& conda clean --all --yes
ENV PATH /opt/conda/bin:$PATH
RUN conda create -y --name python3.6 python=3.6
RUN conda create -y --name python3.7 python=3.7
RUN conda create -y --name python3.8 python=3.8
SHELL [ "/bin/bash", "-c" ]
RUN echo "source /usr/local/etc/profile.d/conda.sh" >> ~/.bashrc
RUN source /usr/local/etc/profile.d/conda.sh && conda activate python3.6 && conda install -y -c conda-forge sox && conda install -y numpy
RUN source /usr/local/etc/profile.d/conda.sh && conda activate python3.7 && conda install -y -c conda-forge sox && conda install -y numpy
RUN source /usr/local/etc/profile.d/conda.sh && conda activate python3.8 && conda install -y -c conda-forge sox && conda install -y numpy
CMD [ "/bin/bash"]
This directory contains;
- docker
Docker image definition and scripts to build and update Docker image for unittest.
- scripts
Scripts used by CircleCI to run unit tests.
scripts/build_third_parties.sh
Dockerfile.tmp
FROM ubuntu:18.04 as builder
RUN apt update -q
################################################################################
# Build Kaldi
################################################################################
RUN apt install -q -y \
autoconf \
automake \
bzip2 \
g++ \
gfortran \
git \
libatlas-base-dev \
libtool \
make \
python2.7 \
python3 \
sox \
subversion \
unzip \
wget \
zlib1g-dev
# KALDI uses MKL as a default math library, but we are going to copy featbin binaries and dependent
# shared libraries to the final image, so we use ATLAS, which is easy to reinstall in the final image.
RUN git clone --depth 1 https://github.com/kaldi-asr/kaldi.git /opt/kaldi && \
cd /opt/kaldi/tools && \
make -j $(nproc) && \
cd /opt/kaldi/src && \
./configure --shared --mathlib=ATLAS --use-cuda=no && \
make featbin -j $(nproc)
# Copy featbins and dependent libraries
ADD ./scripts /scripts
RUN bash /scripts/copy_kaldi_executables.sh /opt/kaldi /kaldi
################################################################################
# Build the final image
################################################################################
FROM BASE_IMAGE
RUN apt update && apt install -y \
g++ \
gfortran \
git \
libatlas3-base \
libsndfile1 \
wget \
curl \
make \
file \
pkg-config \
&& rm -rf /var/lib/apt/lists/*
COPY --from=builder /kaldi /kaldi
ENV PATH="${PATH}:/kaldi/bin" LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:/kaldi/lib"
#!/usr/bin/env bash
set -euo pipefail
if [ $# -ne 1 ]; then
printf "Usage %s <CUDA_VERSION>\n\n" "$0"
exit 1
fi
datestr="$(date "+%Y%m%d")"
if [ "$1" = "cpu" ]; then
base_image="ubuntu:18.04"
image="pytorch/torchaudio_unittest_base:manylinux-${datestr}"
else
base_image="nvidia/cuda:$1-devel-ubuntu18.04"
docker pull "${base_image}"
image="pytorch/torchaudio_unittest_base:manylinux-cuda$1-${datestr}"
fi
cd "$( dirname "${BASH_SOURCE[0]}" )"
# docker build also accepts reading from STDIN
# but in that case, no context (other files) can be passed, so we write out Dockerfile
sed "s|BASE_IMAGE|${base_image}|g" Dockerfile > Dockerfile.tmp
docker build -t "${image}" -f Dockerfile.tmp .
docker push "${image}"
#!/usr/bin/env bash
list_executables() {
# List up executables in the given directory
find "$1" -type f -executable
}
list_kaldi_libraries() {
# List up shared libraries used by executables found in the given directory ($1)
# that reside in Kaldi directory ($2)
while read file; do
ldd "${file}" | grep -o "${2}.* ";
done < <(list_executables "$1") | sort -u
}
set -euo pipefail
kaldi_root="$(realpath "$1")"
target_dir="$(realpath "$2")"
bin_dir="${target_dir}/bin"
lib_dir="${target_dir}/lib"
mkdir -p "${bin_dir}" "${lib_dir}"
# 1. Copy featbins
printf "Copying executables to %s\n" "${bin_dir}"
while read file; do
printf " %s\n" "${file}"
cp "${file}" "${bin_dir}"
done < <(list_executables "${kaldi_root}/src/featbin")
# 2. Copy dependent libraries from Kaldi
printf "Copying libraries to %s\n" "${lib_dir}"
while read file; do
printf " %s\n" "$file"
# If it is not symlink, just copy to the target directory
if [ ! -L "${file}" ]; then
cp "${file}" "${lib_dir}"
continue
fi
# If it is symlink,
# 1. Copy the actual library to the target directory.
library="$(realpath "${file}")"
cp "${library}" "${lib_dir}"
# 2. then if the name of the symlink is different from the actual library name,
# create the symlink in the target directory.
lib_name="$(basename "${library}")"
link_name="$(basename "${file}")"
if [ "${lib_name}" != "${link_name}" ]; then
printf " Linking %s -> %s\n" "${lib_name}" "${link_name}"
(
cd "${lib_dir}"
ln -sf "${lib_name}" "${link_name}"
)
fi
done < <(list_kaldi_libraries "${bin_dir}" "${kaldi_root}")
#!/usr/bin/env bash
unset PYTORCH_VERSION
# For unittest, nightly PyTorch is used as the following section,
# so no need to set PYTORCH_VERSION.
# In fact, keeping PYTORCH_VERSION forces us to hardcode PyTorch version in config.
set -e
root_dir="$(git rev-parse --show-toplevel)"
conda_dir="${root_dir}/conda"
env_dir="${root_dir}/env"
cd "${root_dir}"
case "$(uname -s)" in
Darwin*) os=MacOSX;;
*) os=Linux
esac
# 0. Activate conda env
eval "$("${conda_dir}/bin/conda" shell.bash hook)"
conda activate "${env_dir}"
# 1. Install PyTorch
if [ -z "${CUDA_VERSION:-}" ] ; then
if [ "${os}" == MacOSX ] ; then
cudatoolkit=''
else
cudatoolkit="cpuonly"
fi
else
version="$(python -c "print('.'.join(\"${CUDA_VERSION}\".split('.')[:2]))")"
cudatoolkit="cudatoolkit=${version}"
fi
printf "Installing PyTorch with %s\n" "${cudatoolkit}"
(
if [ "${os}" == MacOSX ] ; then
# TODO: this can be removed as soon as linking issue could be resolved
# see https://github.com/pytorch/pytorch/issues/62424 from details
MKL_CONSTRAINT='mkl==2021.2.0'
else
MKL_CONSTRAINT=''
fi
set -x
conda install ${CONDA_CHANNEL_FLAGS:-} -y -c "pytorch-${UPLOAD_CHANNEL}" $MKL_CONSTRAINT "pytorch-${UPLOAD_CHANNEL}::pytorch" ${cudatoolkit}
)
# 2. Install torchaudio
printf "* Installing torchaudio\n"
git submodule update --init --recursive
python setup.py install
# 3. Install Test tools
printf "* Installing test tools\n"
NUMBA_DEV_CHANNEL=""
if [[ "$(python --version)" = *3.9* ]]; then
# Numba isn't available for Python 3.9 except on the numba dev channel and building from source fails
# See https://github.com/librosa/librosa/issues/1270#issuecomment-759065048
NUMBA_DEV_CHANNEL="-c numba/label/dev"
fi
# Note: installing librosa via pip fail because it will try to compile numba.
(
set -x
conda install -y -c conda-forge ${NUMBA_DEV_CHANNEL} 'librosa>=0.8.0' parameterized 'requests>=2.20'
pip install kaldi-io SoundFile coverage pytest pytest-cov scipy transformers expecttest unidecode inflect
)
# Install fairseq
git clone https://github.com/pytorch/fairseq
cd fairseq
git checkout e47a4c8
pip install .
#!/usr/bin/env python
"""A wrapper script around clang-format, suitable for linting multiple files
and to use for continuous integration.
This is an alternative API for the clang-format command line.
It runs over multiple files and directories in parallel.
A diff output is produced and a sensible exit code is returned.
"""
import argparse
import codecs
import difflib
import fnmatch
import io
import multiprocessing
import os
import signal
import subprocess
import sys
import traceback
from functools import partial
try:
from subprocess import DEVNULL # py3k
except ImportError:
DEVNULL = open(os.devnull, "wb")
DEFAULT_EXTENSIONS = 'c,h,C,H,cpp,hpp,cc,hh,c++,h++,cxx,hxx,cu'
class ExitStatus:
SUCCESS = 0
DIFF = 1
TROUBLE = 2
def list_files(files, recursive=False, extensions=None, exclude=None):
if extensions is None:
extensions = []
if exclude is None:
exclude = []
out = []
for file in files:
if recursive and os.path.isdir(file):
for dirpath, dnames, fnames in os.walk(file):
fpaths = [os.path.join(dirpath, fname) for fname in fnames]
for pattern in exclude:
# os.walk() supports trimming down the dnames list
# by modifying it in-place,
# to avoid unnecessary directory listings.
dnames[:] = [
x for x in dnames
if
not fnmatch.fnmatch(os.path.join(dirpath, x), pattern)
]
fpaths = [
x for x in fpaths if not fnmatch.fnmatch(x, pattern)
]
for f in fpaths:
ext = os.path.splitext(f)[1][1:]
if ext in extensions:
out.append(f)
else:
out.append(file)
return out
def make_diff(file, original, reformatted):
return list(
difflib.unified_diff(
original,
reformatted,
fromfile='{}\t(original)'.format(file),
tofile='{}\t(reformatted)'.format(file),
n=3))
class DiffError(Exception):
def __init__(self, message, errs=None):
super(DiffError, self).__init__(message)
self.errs = errs or []
class UnexpectedError(Exception):
def __init__(self, message, exc=None):
super(UnexpectedError, self).__init__(message)
self.formatted_traceback = traceback.format_exc()
self.exc = exc
def run_clang_format_diff_wrapper(args, file):
try:
ret = run_clang_format_diff(args, file)
return ret
except DiffError:
raise
except Exception as e:
raise UnexpectedError('{}: {}: {}'.format(file, e.__class__.__name__,
e), e)
def run_clang_format_diff(args, file):
try:
with io.open(file, 'r', encoding='utf-8') as f:
original = f.readlines()
except IOError as exc:
raise DiffError(str(exc))
invocation = [args.clang_format_executable, file]
# Use of utf-8 to decode the process output.
#
# Hopefully, this is the correct thing to do.
#
# It's done due to the following assumptions (which may be incorrect):
# - clang-format will returns the bytes read from the files as-is,
# without conversion, and it is already assumed that the files use utf-8.
# - if the diagnostics were internationalized, they would use utf-8:
# > Adding Translations to Clang
# >
# > Not possible yet!
# > Diagnostic strings should be written in UTF-8,
# > the client can translate to the relevant code page if needed.
# > Each translation completely replaces the format string
# > for the diagnostic.
# > -- http://clang.llvm.org/docs/InternalsManual.html#internals-diag-translation
try:
proc = subprocess.Popen(
invocation,
stdout=subprocess.PIPE,
stderr=subprocess.PIPE,
universal_newlines=True,
encoding='utf-8')
except OSError as exc:
raise DiffError(
"Command '{}' failed to start: {}".format(
subprocess.list2cmdline(invocation), exc
)
)
proc_stdout = proc.stdout
proc_stderr = proc.stderr
# hopefully the stderr pipe won't get full and block the process
outs = list(proc_stdout.readlines())
errs = list(proc_stderr.readlines())
proc.wait()
if proc.returncode:
raise DiffError(
"Command '{}' returned non-zero exit status {}".format(
subprocess.list2cmdline(invocation), proc.returncode
),
errs,
)
return make_diff(file, original, outs), errs
def bold_red(s):
return '\x1b[1m\x1b[31m' + s + '\x1b[0m'
def colorize(diff_lines):
def bold(s):
return '\x1b[1m' + s + '\x1b[0m'
def cyan(s):
return '\x1b[36m' + s + '\x1b[0m'
def green(s):
return '\x1b[32m' + s + '\x1b[0m'
def red(s):
return '\x1b[31m' + s + '\x1b[0m'
for line in diff_lines:
if line[:4] in ['--- ', '+++ ']:
yield bold(line)
elif line.startswith('@@ '):
yield cyan(line)
elif line.startswith('+'):
yield green(line)
elif line.startswith('-'):
yield red(line)
else:
yield line
def print_diff(diff_lines, use_color):
if use_color:
diff_lines = colorize(diff_lines)
sys.stdout.writelines(diff_lines)
def print_trouble(prog, message, use_colors):
error_text = 'error:'
if use_colors:
error_text = bold_red(error_text)
print("{}: {} {}".format(prog, error_text, message), file=sys.stderr)
def main():
parser = argparse.ArgumentParser(description=__doc__)
parser.add_argument(
'--clang-format-executable',
metavar='EXECUTABLE',
help='path to the clang-format executable',
default='clang-format')
parser.add_argument(
'--extensions',
help='comma separated list of file extensions (default: {})'.format(
DEFAULT_EXTENSIONS),
default=DEFAULT_EXTENSIONS)
parser.add_argument(
'-r',
'--recursive',
action='store_true',
help='run recursively over directories')
parser.add_argument('files', metavar='file', nargs='+')
parser.add_argument(
'-q',
'--quiet',
action='store_true')
parser.add_argument(
'-j',
metavar='N',
type=int,
default=0,
help='run N clang-format jobs in parallel'
' (default number of cpus + 1)')
parser.add_argument(
'--color',
default='auto',
choices=['auto', 'always', 'never'],
help='show colored diff (default: auto)')
parser.add_argument(
'-e',
'--exclude',
metavar='PATTERN',
action='append',
default=[],
help='exclude paths matching the given glob-like pattern(s)'
' from recursive search')
args = parser.parse_args()
# use default signal handling, like diff return SIGINT value on ^C
# https://bugs.python.org/issue14229#msg156446
signal.signal(signal.SIGINT, signal.SIG_DFL)
try:
signal.SIGPIPE
except AttributeError:
# compatibility, SIGPIPE does not exist on Windows
pass
else:
signal.signal(signal.SIGPIPE, signal.SIG_DFL)
colored_stdout = False
colored_stderr = False
if args.color == 'always':
colored_stdout = True
colored_stderr = True
elif args.color == 'auto':
colored_stdout = sys.stdout.isatty()
colored_stderr = sys.stderr.isatty()
version_invocation = [args.clang_format_executable, str("--version")]
try:
subprocess.check_call(version_invocation, stdout=DEVNULL)
except subprocess.CalledProcessError as e:
print_trouble(parser.prog, str(e), use_colors=colored_stderr)
return ExitStatus.TROUBLE
except OSError as e:
print_trouble(
parser.prog,
"Command '{}' failed to start: {}".format(
subprocess.list2cmdline(version_invocation), e
),
use_colors=colored_stderr,
)
return ExitStatus.TROUBLE
retcode = ExitStatus.SUCCESS
files = list_files(
args.files,
recursive=args.recursive,
exclude=args.exclude,
extensions=args.extensions.split(','))
if not files:
return
njobs = args.j
if njobs == 0:
njobs = multiprocessing.cpu_count() + 1
njobs = min(len(files), njobs)
if njobs == 1:
# execute directly instead of in a pool,
# less overhead, simpler stacktraces
it = (run_clang_format_diff_wrapper(args, file) for file in files)
pool = None
else:
pool = multiprocessing.Pool(njobs)
it = pool.imap_unordered(
partial(run_clang_format_diff_wrapper, args), files)
while True:
try:
outs, errs = next(it)
except StopIteration:
break
except DiffError as e:
print_trouble(parser.prog, str(e), use_colors=colored_stderr)
retcode = ExitStatus.TROUBLE
sys.stderr.writelines(e.errs)
except UnexpectedError as e:
print_trouble(parser.prog, str(e), use_colors=colored_stderr)
sys.stderr.write(e.formatted_traceback)
retcode = ExitStatus.TROUBLE
# stop at the first unexpected error,
# something could be very wrong,
# don't process all files unnecessarily
if pool:
pool.terminate()
break
else:
sys.stderr.writelines(errs)
if outs == []:
continue
if not args.quiet:
print_diff(outs, use_color=colored_stdout)
if retcode == ExitStatus.SUCCESS:
retcode = ExitStatus.DIFF
return retcode
if __name__ == '__main__':
sys.exit(main())
#!/usr/bin/env bash
set -eux
root_dir="$(git rev-parse --show-toplevel)"
conda_dir="${root_dir}/conda"
env_dir="${root_dir}/env"
this_dir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
eval "$("${conda_dir}/bin/conda" shell.bash hook)"
conda activate "${env_dir}"
# 1. Install tools
conda install flake8
printf "Installed flake8: "
flake8 --version
clangformat_path="${root_dir}/clang-format"
curl https://oss-clang-format.s3.us-east-2.amazonaws.com/linux64/clang-format-linux64 -o "${clangformat_path}"
chmod +x "${clangformat_path}"
printf "Installed clang-fortmat"
"${clangformat_path}" --version
# 2. Run style checks
# We want to run all the style checks even if one of them fail.
set +e
exit_status=0
printf "\x1b[34mRunning flake8:\x1b[0m\n"
flake8 torchaudio test build_tools/setup_helpers docs/source/conf.py examples
status=$?
exit_status="$((exit_status+status))"
if [ "${status}" -ne 0 ]; then
printf "\x1b[31mflake8 failed. Check the format of Python files.\x1b[0m\n"
fi
printf "\x1b[34mRunning clang-format:\x1b[0m\n"
"${this_dir}"/run_clang_format.py \
-r torchaudio/csrc third_party/kaldi/src \
--clang-format-executable "${clangformat_path}" \
&& git diff --exit-code
status=$?
exit_status="$((exit_status+status))"
if [ "${status}" -ne 0 ]; then
printf "\x1b[31mC++ files are not formatted. Please use clang-format to format CPP files.\x1b[0m\n"
fi
exit $exit_status
#!/usr/bin/env bash
set -e
eval "$(./conda/bin/conda shell.bash hook)"
conda activate ./env
case "$(uname -s)" in
Darwin*) os=MacOSX;;
*) os=Linux
esac
python -m torch.utils.collect_env
export TORCHAUDIO_TEST_FAIL_IF_NO_EXTENSION=1
export PATH="${PWD}/third_party/install/bin/:${PATH}"
declare -a args=(
'-v'
'--cov=torchaudio'
"--junitxml=${PWD}/test-results/junit.xml"
'--durations' '20'
)
cd test
pytest "${args[@]}" torchaudio_unittest
coverage html
#!/usr/bin/env bash
# This script is for setting up environment in which unit test is ran.
# To speed up the CI time, the resulting environment is cached.
#
# Do not install PyTorch and torchaudio here, otherwise they also get cached.
set -ex
root_dir="$(git rev-parse --show-toplevel)"
conda_dir="${root_dir}/conda"
env_dir="${root_dir}/env"
cd "${root_dir}"
case "$(uname -s)" in
Darwin*) os=MacOSX;;
*) os=Linux
esac
# 1. Install conda at ./conda
if [ ! -d "${conda_dir}" ]; then
printf "* Installing conda\n"
wget --quiet -O miniconda.sh "http://repo.continuum.io/miniconda/Miniconda3-latest-${os}-x86_64.sh"
bash ./miniconda.sh -b -f -p "${conda_dir}"
eval "$("${conda_dir}/bin/conda" shell.bash hook)"
conda update --quiet -y conda
printf "* Updating the base Python version to %s\n" "${PYTHON_VERSION}"
conda install --quiet -y python="${PYTHON_VERSION}"
else
eval "$("${conda_dir}/bin/conda" shell.bash hook)"
fi
# 2. Create test environment at ./env
if [ ! -d "${env_dir}" ]; then
printf "* Creating a test environment with PYTHON_VERSION=%s\n" "${PYTHON_VERSION}\n"
conda create --prefix "${env_dir}" -y python="${PYTHON_VERSION}"
fi
conda activate "${env_dir}"
# 3. Install minimal build tools
pip --quiet install cmake ninja
This directory contains;
- scripts
Scripts used by CircleCI to run unit tests.
channels:
- defaults
dependencies:
- flake8
- pytest
- pytest-cov
- codecov
- scipy >= 1.4.1
- pip
- pip:
- kaldi-io
- PySoundFile
- future
- parameterized
- dataclasses
- expecttest
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment