Commit ffeba11a authored by mayp777's avatar mayp777
Browse files

UPDATE

parent 29deb085
#!/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
if [[ -z "$PYTORCH_VERSION" ]]; then
# Nightly build
pip install --progress-bar off --pre torch -f "https://download.pytorch.org/whl/nightly/cpu/torch_nightly.html"
else
# Release branch
pip install --progress-bar off "torch==${PYTORCH_VERSION}+cpu" \
-f https://download.pytorch.org/whl/torch_stable.html \
-f "https://download.pytorch.org/whl/${UPLOAD_CHANNEL}/torch_${UPLOAD_CHANNEL}.html"
fi
pip install --progress-bar off --no-deps ~/workspace/torchaudio*
pip install --progress-bar off -r docs/requirements.txt -r docs/requirements-tutorials.txt
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}
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.13.1"
pytorch_version:
description: "PyTorch version to build against; by default, use a nightly"
type: string
default: "1.13.1"
# 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-cuda116"
conda_docker_image:
description: "Conda only: what docker image to use"
type: string
default: "pytorch/conda-builder:cuda116"
environment: &environment
PYTHON_VERSION: << parameters.python_version >>
BUILD_VERSION: << parameters.build_version >>
PYTORCH_VERSION: << parameters.pytorch_version >>
CU_VERSION: << parameters.cuda_version >>
MACOSX_DEPLOYMENT_TARGET: 10.9
smoke_test_common: &smoke_test_common
<<: *binary_common
docker:
- image: pytorch/torchaudio_unittest_base:smoke_test-20220425
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)
lint_python_and_config:
docker:
- image: circleci/python:3.7
steps:
- checkout
- run:
name: Install pre-commit
command: pip install --user --progress-bar off pre-commit
- run:
name: Install pre-commit hooks
command: pre-commit install-hooks
- run:
name: Lint Python code and config files
command: pre-commit run --all-files
- run:
name: Required lint modifications
when: always
command: git --no-pager diff --color=always
download_third_parties:
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/archives/
wget --no-clobber --directory-prefix=third_party/archives/ $(awk '/URL /{print $2}' third_party/*/CMakeLists.txt)
- save_cache:
key: tp-nix-v2-{{ checksum ".cachekey" }}
paths:
- third_party/archives
- persist_to_workspace:
root: third_party
paths:
- archives
build_ffmpeg_linux:
<<: *binary_common
docker:
- image: << parameters.wheel_docker_image >>
resource_class: 2xlarge+
steps:
- checkout
- generate_cache_key
- restore_cache:
keys:
- ffmpeg-linux-v0-{{ checksum ".cachekey" }}
- run:
command: |
export FFMPEG_ROOT=${PWD}/third_party/ffmpeg
if [[ ! -d ${FFMPEG_ROOT} ]]; then
packaging/ffmpeg/build.sh
fi
- save_cache:
key: ffmpeg-linux-v0-{{ checksum ".cachekey" }}
paths:
- third_party/ffmpeg
- persist_to_workspace:
root: third_party
paths:
- ffmpeg
build_ffmpeg_macos:
<<: *binary_common
macos:
xcode: "14.0"
steps:
- checkout
- generate_cache_key
- restore_cache:
keys:
- ffmpeg-macos-v0-{{ checksum ".cachekey" }}
- run:
command: |
export FFMPEG_ROOT=${PWD}/third_party/ffmpeg
if [[ ! -d ${FFMPEG_ROOT} ]]; then
packaging/ffmpeg/build.sh
fi
- save_cache:
key: ffmpeg-macos-v0-{{ checksum ".cachekey" }}
paths:
- third_party/ffmpeg
- persist_to_workspace:
root: third_party
paths:
- ffmpeg
build_ffmpeg_windows:
<<: *binary_common
machine:
resource_class: windows.xlarge
image: windows-server-2019-vs2019:stable
# Note:
# Unlike other Windows job, this job uses cmd.exe as shell because
# we need to invoke bash.exe from msys2 in ffmpeg build process, and doing so
# from different installation of bash.exe (the one from the VM) cause issue
shell: cmd.exe
steps:
- checkout
- run: date /t > .cachekey
- restore_cache:
keys:
- ffmpeg-windows-{{ checksum ".cachekey" }}
- run: packaging\ffmpeg\build.bat
- save_cache:
key: ffmpeg-windows-{{ checksum ".cachekey" }}
paths:
- third_party/ffmpeg
- persist_to_workspace:
root: third_party
paths:
- ffmpeg
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:
command: |
export FFMPEG_ROOT=${PWD}/third_party/ffmpeg
packaging/build_wheel.sh
environment:
USE_FFMPEG: true
- 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:
name: Build conda packages
no_output_timeout: 30m
command: |
export FFMPEG_ROOT=${PWD}/third_party/ffmpeg
packaging/build_conda.sh
environment:
USE_FFMPEG: true
- 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: "14.0"
steps:
- checkout
- 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
export FFMPEG_ROOT="${PWD}/third_party/ffmpeg"
packaging/build_wheel.sh
environment:
USE_FFMPEG: true
USE_OPENMP: false
- store_artifacts:
path: dist
- persist_to_workspace:
root: dist
paths:
- "*"
binary_macos_conda:
<<: *binary_common
macos:
xcode: "14.0"
steps:
- checkout
- 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
export FFMPEG_ROOT="${PWD}/third_party/ffmpeg"
packaging/build_conda.sh
environment:
USE_FFMPEG: true
USE_OPENMP: false
- 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
- attach_workspace:
at: third_party
- run:
name: Build wheel packages
no_output_timeout: 30m
command: |
set -ex
eval "$('/C/tools/miniconda3/Scripts/conda.exe' 'shell.bash' 'hook')"
conda activate base
export FFMPEG_ROOT="${PWD}/third_party/ffmpeg"
bash packaging/build_wheel.sh
environment:
USE_FFMPEG: true
- 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
- attach_workspace:
at: third_party
- run:
name: Build conda packages
no_output_timeout: 30m
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"
export FFMPEG_ROOT="${PWD}/third_party/ffmpeg"
bash packaging/build_conda.sh
environment:
USE_FFMPEG: true
- 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
no_output_timeout: 30m
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
- checkout
- run:
name: smoke test
command: |
source /usr/local/etc/profile.d/conda.sh && conda activate python${PYTHON_VERSION}
conda install 'ffmpeg<5'
./test/smoke_test/run_smoke_test.sh
smoke_test_linux_conda_gpu:
<<: *smoke_test_common
steps:
- attach_workspace:
at: ~/workspace
- designate_upload_channel
- load_conda_channel_flags
- run:
name: install binaries
no_output_timeout: 30m
command: |
set -x
source /usr/local/etc/profile.d/conda.sh && conda activate python${PYTHON_VERSION}
if [[ "$CU_VERSION" == cu116 || "$CU_VERSION" == cu117 ]]; then
conda install -v -y -c pytorch-${UPLOAD_CHANNEL} -c nvidia pytorch pytorch-cuda=${CU_VERSION:2:2}.${CU_VERSION:4}
else
conda install -v -y -c pytorch-${UPLOAD_CHANNEL} pytorch cudatoolkit=${CU_VERSION:2:2}.${CU_VERSION:4}
fi
conda install -v -y -c file://$HOME/workspace/conda-bld torchaudio
- checkout
- run:
name: smoke test
command: |
source /usr/local/etc/profile.d/conda.sh && conda activate python${PYTHON_VERSION}
conda install 'ffmpeg<5'
./test/smoke_test/run_smoke_test.sh
smoke_test_linux_pip:
<<: *smoke_test_common
steps:
- attach_workspace:
at: ~/workspace
- designate_upload_channel
- load_conda_channel_flags
- run:
name: install binaries
no_output_timeout: 30m
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"
- checkout
- run:
name: smoke test
command: |
source /usr/local/etc/profile.d/conda.sh && conda activate python${PYTHON_VERSION}
export LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:${HOME}/workspace/ffmpeg/lib"
./test/smoke_test/run_smoke_test.sh
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
no_output_timeout: 30m
command: |
set -x
eval "$('/C/tools/miniconda3/Scripts/conda.exe' 'shell.bash' 'hook')"
conda update -y conda
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/conda-bld/win-64/torchaudio*.tar.bz2)
- checkout
- run:
name: smoke test
command: |
eval "$('/C/tools/miniconda3/Scripts/conda.exe' 'shell.bash' 'hook')"
conda activate python${PYTHON_VERSION}
conda install 'ffmpeg<5'
./test/smoke_test/run_smoke_test.sh
smoke_test_windows_conda_gpu:
<<: *binary_common
executor:
name: windows-gpu
steps:
- checkout
- attach_workspace:
at: ~/workspace
- designate_upload_channel
- load_conda_channel_flags
- windows_install_cuda
- run:
name: Update CUDA driver
command: packaging/windows/internal/driver_update.bat
- run:
name: install binaries
no_output_timeout: 30m
command: |
set -x
eval "$('/C/tools/miniconda3/Scripts/conda.exe' 'shell.bash' 'hook')"
conda update -y conda
conda env remove -n python${PYTHON_VERSION} || true
conda create -yn python${PYTHON_VERSION} python=${PYTHON_VERSION}
conda activate python${PYTHON_VERSION}
# Include numpy and cudatoolkit in the install conda-forge chanell is used for cudatoolkit
if [[ "$CU_VERSION" == cu116 || "$CU_VERSION" == cu117 ]]; then
conda install -v -y -c pytorch-${UPLOAD_CHANNEL} -c nvidia pytorch numpy ffmpeg pytorch-cuda=${CU_VERSION:2:2}.${CU_VERSION:4}
else
conda install -v -y -c pytorch-${UPLOAD_CHANNEL} pytorch numpy ffmpeg cudatoolkit=${CU_VERSION:2:2}.${CU_VERSION:4}
fi
# Install from torchaudio file
conda install -v -y $(ls ~/workspace/conda-bld/win-64/torchaudio*.tar.bz2)
- run:
name: smoke test
command: |
eval "$('/C/tools/miniconda3/Scripts/conda.exe' 'shell.bash' 'hook')"
conda activate python${PYTHON_VERSION}
# Install sound backend
pip install PySoundFile
# conda install 'ffmpeg<5'
./test/smoke_test/run_smoke_test.sh
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
no_output_timeout: 30m
command: |
set -x
eval "$('/C/tools/miniconda3/Scripts/conda.exe' 'shell.bash' 'hook')"
conda update -y conda
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}/${CU_VERSION}/torch_${UPLOAD_CHANNEL}.html"
- checkout
- run:
name: smoke test
command: |
eval "$('/C/tools/miniconda3/Scripts/conda.exe' 'shell.bash' 'hook')"
conda activate python${PYTHON_VERSION}
# Hack to load FFmpeg libraries
# Note: Depending on Python version, they search different paths.
# For 3.7 and 3.9, copying them in CWD works.
cp ~/workspace/ffmpeg/bin/* test/smoke_test/
# For 3.8 and 3.10, they must be in the same directory as the entrypoint lib
cp ~/workspace/ffmpeg/bin/* /C/tools/miniconda3/envs/python${PYTHON_VERSION}/lib/site-packages/torchaudio/lib/
./test/smoke_test/run_smoke_test.sh
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
environment:
USE_FFMPEG: true
- run:
name: Run tests
command: .circleci/unittest/linux/scripts/run_test.sh
environment:
TORCHAUDIO_TEST_ALLOW_SKIP_IF_NO_CUDA: true
TORCHAUDIO_TEST_ALLOW_SKIP_IF_ON_PYTHON_310: true
- store_test_results:
path: test-results
- store_artifacts:
path: test/htmlcov
unittest_linux_gpu:
<<: *binary_common
machine:
image: ubuntu-2004-cuda-11.4:202110-01
resource_class: gpu.nvidia.medium
environment:
<<: *environment
CUDA_VERSION: 11.6
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 -e CUDA_VERSION -e USE_FFMPEG=1 -v $PWD:$PWD -w $PWD "${image_name}" .circleci/unittest/linux/scripts/install.sh
- run:
name: Run tests
environment:
TORCHAUDIO_TEST_ALLOW_SKIP_IF_ON_PYTHON_310: true
command: |
docker run -t --gpus all -v $PWD:$PWD -w $PWD -e "CI=${CI}" -e TORCHAUDIO_TEST_ALLOW_SKIP_IF_ON_PYTHON_310 "${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
environment:
USE_FFMPEG: true
- run:
name: Run tests
command: .circleci/unittest/windows/scripts/run_test.sh
environment:
TORCHAUDIO_TEST_ALLOW_SKIP_IF_NO_CMD_APPLY_CMVN_SLIDING: true
TORCHAUDIO_TEST_ALLOW_SKIP_IF_NO_CMD_COMPUTE_FBANK_FEATS: true
TORCHAUDIO_TEST_ALLOW_SKIP_IF_NO_CMD_COMPUTE_KALDI_PITCH_FEATS: true
TORCHAUDIO_TEST_ALLOW_SKIP_IF_NO_CMD_COMPUTE_MFCC_FEATS: true
TORCHAUDIO_TEST_ALLOW_SKIP_IF_NO_CMD_COMPUTE_SPECTROGRAM_FEATS: true
TORCHAUDIO_TEST_ALLOW_SKIP_IF_NO_CMD_SOX: true
TORCHAUDIO_TEST_ALLOW_SKIP_IF_NO_CUDA: true
TORCHAUDIO_TEST_ALLOW_SKIP_IF_NO_KALDI: true
TORCHAUDIO_TEST_ALLOW_SKIP_IF_NO_SOX: true
TORCHAUDIO_TEST_ALLOW_SKIP_IF_ON_PYTHON_310: true
TORCHAUDIO_TEST_ALLOW_SKIP_IF_NO_MOD_sentencepiece: true
- store_test_results:
path: test-results
- store_artifacts:
path: test/htmlcov
unittest_windows_gpu:
<<: *binary_common
executor:
name: windows-gpu
environment:
<<: *environment
CUDA_VERSION: "11.6"
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
environment:
USE_FFMPEG: true
- run:
name: Run tests
command: .circleci/unittest/windows/scripts/run_test.sh
environment:
TORCHAUDIO_TEST_ALLOW_SKIP_IF_NO_CMD_APPLY_CMVN_SLIDING: true
TORCHAUDIO_TEST_ALLOW_SKIP_IF_NO_CMD_COMPUTE_FBANK_FEATS: true
TORCHAUDIO_TEST_ALLOW_SKIP_IF_NO_CMD_COMPUTE_KALDI_PITCH_FEATS: true
TORCHAUDIO_TEST_ALLOW_SKIP_IF_NO_CMD_COMPUTE_MFCC_FEATS: true
TORCHAUDIO_TEST_ALLOW_SKIP_IF_NO_CMD_COMPUTE_SPECTROGRAM_FEATS: true
TORCHAUDIO_TEST_ALLOW_SKIP_IF_NO_CMD_SOX: true
TORCHAUDIO_TEST_ALLOW_SKIP_IF_NO_KALDI: true
TORCHAUDIO_TEST_ALLOW_SKIP_IF_NO_SOX: true
TORCHAUDIO_TEST_ALLOW_SKIP_IF_ON_PYTHON_310: true
TORCHAUDIO_TEST_ALLOW_SKIP_IF_NO_MOD_sentencepiece: true
- store_test_results:
path: test-results
- store_artifacts:
path: test/htmlcov
unittest_macos_cpu:
<<: *binary_common
macos:
xcode: "14.0"
resource_class: large
steps:
- checkout
- 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
environment:
USE_FFMPEG: true
USE_OPENMP: false
- run:
name: Run tests
command: .circleci/unittest/linux/scripts/run_test.sh
environment:
TORCHAUDIO_TEST_ALLOW_SKIP_IF_NO_CMD_APPLY_CMVN_SLIDING: true
TORCHAUDIO_TEST_ALLOW_SKIP_IF_NO_CMD_COMPUTE_FBANK_FEATS: true
TORCHAUDIO_TEST_ALLOW_SKIP_IF_NO_CMD_COMPUTE_KALDI_PITCH_FEATS: true
TORCHAUDIO_TEST_ALLOW_SKIP_IF_NO_CMD_COMPUTE_MFCC_FEATS: true
TORCHAUDIO_TEST_ALLOW_SKIP_IF_NO_CMD_COMPUTE_SPECTROGRAM_FEATS: true
TORCHAUDIO_TEST_ALLOW_SKIP_IF_NO_CUDA: true
TORCHAUDIO_TEST_ALLOW_SKIP_IF_NO_QUANTIZATION: true
TORCHAUDIO_TEST_ALLOW_SKIP_IF_ON_PYTHON_310: true
TORCHAUDIO_TEST_ALLOW_SKIP_IF_NO_MOD_sentencepiece: true
- 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:
<<: *smoke_test_common
resource_class: 2xlarge+
steps:
- attach_workspace:
at: ~/workspace
- checkout
- designate_upload_channel
- load_conda_channel_flags
- run:
name: Install packages
command: |
set -x
source /usr/local/etc/profile.d/conda.sh && conda activate python${PYTHON_VERSION}
if [[ "$CU_VERSION" == cu116 || "$CU_VERSION" == cu117 ]]; then
conda install -v -y -c pytorch-${UPLOAD_CHANNEL} -c nvidia pytorch pytorch-cuda=${CU_VERSION:2:2}.${CU_VERSION:4}
else
conda install -v -y -c pytorch-${UPLOAD_CHANNEL} pytorch cudatoolkit=${CU_VERSION:2:2}.${CU_VERSION:4}
fi
conda install -v -y -c file://$HOME/workspace/conda-bld torchaudio
# gxx_linux-64 is for installing pesq library that depends on cython
conda install -y pandoc 'ffmpeg<5' gxx_linux-64
apt update -qq && apt-get -qq install -y git make
pip install --progress-bar off -r docs/requirements.txt -r docs/requirements-tutorials.txt
- run:
name: Build docs
command: |
source /usr/local/etc/profile.d/conda.sh && conda activate python${PYTHON_VERSION}
cd docs
make 'SPHINXOPTS=-W' html
cd build
tar -czf artifact.tar.gz html
mv artifact.tar.gz html
environment:
BUILD_GALLERY: 1
TORCH_SHOW_CPP_STACKTRACES: 1
no_output_timeout: 30m
- 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
# turn v1.12.0rc3 into 1.12.0
tag=$(echo $CIRCLE_TAG | sed -e 's/v*\([0-9.]*\).*/\1/')
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:
lint:
jobs:
- lint_python_and_config
build:
jobs:
- circleci_consistency
- download_third_parties:
name: download_third_parties
- build_ffmpeg_linux:
name: build_ffmpeg_linux
python_version: foo
requires:
- download_third_parties
- build_ffmpeg_macos:
name: build_ffmpeg_macos
python_version: foo
requires:
- download_third_parties
- build_ffmpeg_windows:
name: build_ffmpeg_windows
python_version: foo
requires:
- download_third_parties
- binary_linux_wheel:
cuda_version: cpu
name: binary_linux_wheel_py3.7_cpu
python_version: '3.7'
requires:
- build_ffmpeg_linux
- smoke_test_linux_pip:
cuda_version: cpu
name: binary_linux_wheel_py3.7_cpu_smoke_test_pip
python_version: '3.7'
requires:
- binary_linux_wheel_py3.7_cpu
- binary_linux_wheel:
cuda_version: cu116
name: binary_linux_wheel_py3.7_cu116
python_version: '3.7'
requires:
- build_ffmpeg_linux
wheel_docker_image: pytorch/manylinux-cuda116
- smoke_test_linux_pip:
cuda_version: cu116
name: binary_linux_wheel_py3.7_cu116_smoke_test_pip
python_version: '3.7'
requires:
- binary_linux_wheel_py3.7_cu116
- binary_linux_wheel:
cuda_version: cu117
name: binary_linux_wheel_py3.7_cu117
python_version: '3.7'
requires:
- build_ffmpeg_linux
wheel_docker_image: pytorch/manylinux-cuda117
- smoke_test_linux_pip:
cuda_version: cu117
name: binary_linux_wheel_py3.7_cu117_smoke_test_pip
python_version: '3.7'
requires:
- binary_linux_wheel_py3.7_cu117
- binary_linux_wheel:
cuda_version: rocm5.1.1
name: binary_linux_wheel_py3.7_rocm5.1.1
python_version: '3.7'
requires:
- build_ffmpeg_linux
wheel_docker_image: pytorch/manylinux-rocm:5.1.1
- smoke_test_linux_pip:
cuda_version: rocm5.1.1
name: binary_linux_wheel_py3.7_rocm5.1.1_smoke_test_pip
python_version: '3.7'
requires:
- binary_linux_wheel_py3.7_rocm5.1.1
- binary_linux_wheel:
cuda_version: rocm5.2
name: binary_linux_wheel_py3.7_rocm5.2
python_version: '3.7'
requires:
- build_ffmpeg_linux
wheel_docker_image: pytorch/manylinux-rocm:5.2
- smoke_test_linux_pip:
cuda_version: rocm5.2
name: binary_linux_wheel_py3.7_rocm5.2_smoke_test_pip
python_version: '3.7'
requires:
- binary_linux_wheel_py3.7_rocm5.2
- 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:
- build_ffmpeg_linux
- smoke_test_linux_pip:
cuda_version: cpu
filters:
branches:
only:
- /.*/
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: binary_linux_wheel_py3.8_cpu_smoke_test_pip
python_version: '3.8'
requires:
- binary_linux_wheel_py3.8_cpu
- binary_linux_wheel:
cuda_version: cu116
name: binary_linux_wheel_py3.8_cu116
python_version: '3.8'
requires:
- build_ffmpeg_linux
wheel_docker_image: pytorch/manylinux-cuda116
- smoke_test_linux_pip:
cuda_version: cu116
name: binary_linux_wheel_py3.8_cu116_smoke_test_pip
python_version: '3.8'
requires:
- binary_linux_wheel_py3.8_cu116
- binary_linux_wheel:
cuda_version: cu117
name: binary_linux_wheel_py3.8_cu117
python_version: '3.8'
requires:
- build_ffmpeg_linux
wheel_docker_image: pytorch/manylinux-cuda117
- smoke_test_linux_pip:
cuda_version: cu117
name: binary_linux_wheel_py3.8_cu117_smoke_test_pip
python_version: '3.8'
requires:
- binary_linux_wheel_py3.8_cu117
- binary_linux_wheel:
cuda_version: rocm5.1.1
name: binary_linux_wheel_py3.8_rocm5.1.1
python_version: '3.8'
requires:
- build_ffmpeg_linux
wheel_docker_image: pytorch/manylinux-rocm:5.1.1
- smoke_test_linux_pip:
cuda_version: rocm5.1.1
name: binary_linux_wheel_py3.8_rocm5.1.1_smoke_test_pip
python_version: '3.8'
requires:
- binary_linux_wheel_py3.8_rocm5.1.1
- binary_linux_wheel:
cuda_version: rocm5.2
name: binary_linux_wheel_py3.8_rocm5.2
python_version: '3.8'
requires:
- build_ffmpeg_linux
wheel_docker_image: pytorch/manylinux-rocm:5.2
- smoke_test_linux_pip:
cuda_version: rocm5.2
name: binary_linux_wheel_py3.8_rocm5.2_smoke_test_pip
python_version: '3.8'
requires:
- binary_linux_wheel_py3.8_rocm5.2
- binary_linux_wheel:
cuda_version: cpu
name: binary_linux_wheel_py3.9_cpu
python_version: '3.9'
requires:
- build_ffmpeg_linux
- smoke_test_linux_pip:
cuda_version: cpu
name: binary_linux_wheel_py3.9_cpu_smoke_test_pip
python_version: '3.9'
requires:
- binary_linux_wheel_py3.9_cpu
- binary_linux_wheel:
cuda_version: cu116
name: binary_linux_wheel_py3.9_cu116
python_version: '3.9'
requires:
- build_ffmpeg_linux
wheel_docker_image: pytorch/manylinux-cuda116
- smoke_test_linux_pip:
cuda_version: cu116
name: binary_linux_wheel_py3.9_cu116_smoke_test_pip
python_version: '3.9'
requires:
- binary_linux_wheel_py3.9_cu116
- binary_linux_wheel:
cuda_version: cu117
name: binary_linux_wheel_py3.9_cu117
python_version: '3.9'
requires:
- build_ffmpeg_linux
wheel_docker_image: pytorch/manylinux-cuda117
- smoke_test_linux_pip:
cuda_version: cu117
name: binary_linux_wheel_py3.9_cu117_smoke_test_pip
python_version: '3.9'
requires:
- binary_linux_wheel_py3.9_cu117
- binary_linux_wheel:
cuda_version: rocm5.1.1
name: binary_linux_wheel_py3.9_rocm5.1.1
python_version: '3.9'
requires:
- build_ffmpeg_linux
wheel_docker_image: pytorch/manylinux-rocm:5.1.1
- smoke_test_linux_pip:
cuda_version: rocm5.1.1
name: binary_linux_wheel_py3.9_rocm5.1.1_smoke_test_pip
python_version: '3.9'
requires:
- binary_linux_wheel_py3.9_rocm5.1.1
- binary_linux_wheel:
cuda_version: rocm5.2
name: binary_linux_wheel_py3.9_rocm5.2
python_version: '3.9'
requires:
- build_ffmpeg_linux
wheel_docker_image: pytorch/manylinux-rocm:5.2
- smoke_test_linux_pip:
cuda_version: rocm5.2
name: binary_linux_wheel_py3.9_rocm5.2_smoke_test_pip
python_version: '3.9'
requires:
- binary_linux_wheel_py3.9_rocm5.2
- binary_linux_wheel:
cuda_version: cpu
name: binary_linux_wheel_py3.10_cpu
python_version: '3.10'
requires:
- build_ffmpeg_linux
- smoke_test_linux_pip:
cuda_version: cpu
name: binary_linux_wheel_py3.10_cpu_smoke_test_pip
python_version: '3.10'
requires:
- binary_linux_wheel_py3.10_cpu
- binary_linux_wheel:
cuda_version: cu116
name: binary_linux_wheel_py3.10_cu116
python_version: '3.10'
requires:
- build_ffmpeg_linux
wheel_docker_image: pytorch/manylinux-cuda116
- smoke_test_linux_pip:
cuda_version: cu116
name: binary_linux_wheel_py3.10_cu116_smoke_test_pip
python_version: '3.10'
requires:
- binary_linux_wheel_py3.10_cu116
- binary_linux_wheel:
cuda_version: cu117
name: binary_linux_wheel_py3.10_cu117
python_version: '3.10'
requires:
- build_ffmpeg_linux
wheel_docker_image: pytorch/manylinux-cuda117
- smoke_test_linux_pip:
cuda_version: cu117
name: binary_linux_wheel_py3.10_cu117_smoke_test_pip
python_version: '3.10'
requires:
- binary_linux_wheel_py3.10_cu117
- binary_linux_wheel:
cuda_version: rocm5.1.1
name: binary_linux_wheel_py3.10_rocm5.1.1
python_version: '3.10'
requires:
- build_ffmpeg_linux
wheel_docker_image: pytorch/manylinux-rocm:5.1.1
- smoke_test_linux_pip:
cuda_version: rocm5.1.1
name: binary_linux_wheel_py3.10_rocm5.1.1_smoke_test_pip
python_version: '3.10'
requires:
- binary_linux_wheel_py3.10_rocm5.1.1
- binary_linux_wheel:
cuda_version: rocm5.2
name: binary_linux_wheel_py3.10_rocm5.2
python_version: '3.10'
requires:
- build_ffmpeg_linux
wheel_docker_image: pytorch/manylinux-rocm:5.2
- smoke_test_linux_pip:
cuda_version: rocm5.2
name: binary_linux_wheel_py3.10_rocm5.2_smoke_test_pip
python_version: '3.10'
requires:
- binary_linux_wheel_py3.10_rocm5.2
- binary_macos_wheel:
cuda_version: cpu
name: binary_macos_wheel_py3.7_cpu
python_version: '3.7'
requires:
- build_ffmpeg_macos
- binary_macos_wheel:
cuda_version: cpu
name: binary_macos_wheel_py3.8_cpu
python_version: '3.8'
requires:
- build_ffmpeg_macos
- binary_macos_wheel:
cuda_version: cpu
name: binary_macos_wheel_py3.9_cpu
python_version: '3.9'
requires:
- build_ffmpeg_macos
- binary_macos_wheel:
cuda_version: cpu
name: binary_macos_wheel_py3.10_cpu
python_version: '3.10'
requires:
- build_ffmpeg_macos
- binary_windows_wheel:
cuda_version: cpu
name: binary_windows_wheel_py3.7_cpu
python_version: '3.7'
requires:
- build_ffmpeg_windows
- smoke_test_windows_pip:
cuda_version: cpu
name: binary_windows_wheel_py3.7_cpu_smoke_test_pip
python_version: '3.7'
requires:
- binary_windows_wheel_py3.7_cpu
- binary_windows_wheel:
cuda_version: cu116
name: binary_windows_wheel_py3.7_cu116
python_version: '3.7'
requires:
- build_ffmpeg_windows
wheel_docker_image: pytorch/manylinux-cuda116
- smoke_test_windows_pip:
cuda_version: cu116
name: binary_windows_wheel_py3.7_cu116_smoke_test_pip
python_version: '3.7'
requires:
- binary_windows_wheel_py3.7_cu116
- binary_windows_wheel:
cuda_version: cu117
name: binary_windows_wheel_py3.7_cu117
python_version: '3.7'
requires:
- build_ffmpeg_windows
wheel_docker_image: pytorch/manylinux-cuda117
- smoke_test_windows_pip:
cuda_version: cu117
name: binary_windows_wheel_py3.7_cu117_smoke_test_pip
python_version: '3.7'
requires:
- binary_windows_wheel_py3.7_cu117
- binary_windows_wheel:
cuda_version: cpu
name: binary_windows_wheel_py3.8_cpu
python_version: '3.8'
requires:
- build_ffmpeg_windows
- smoke_test_windows_pip:
cuda_version: cpu
name: binary_windows_wheel_py3.8_cpu_smoke_test_pip
python_version: '3.8'
requires:
- binary_windows_wheel_py3.8_cpu
- binary_windows_wheel:
cuda_version: cu116
name: binary_windows_wheel_py3.8_cu116
python_version: '3.8'
requires:
- build_ffmpeg_windows
wheel_docker_image: pytorch/manylinux-cuda116
- smoke_test_windows_pip:
cuda_version: cu116
name: binary_windows_wheel_py3.8_cu116_smoke_test_pip
python_version: '3.8'
requires:
- binary_windows_wheel_py3.8_cu116
- binary_windows_wheel:
cuda_version: cu117
name: binary_windows_wheel_py3.8_cu117
python_version: '3.8'
requires:
- build_ffmpeg_windows
wheel_docker_image: pytorch/manylinux-cuda117
- smoke_test_windows_pip:
cuda_version: cu117
name: binary_windows_wheel_py3.8_cu117_smoke_test_pip
python_version: '3.8'
requires:
- binary_windows_wheel_py3.8_cu117
- binary_windows_wheel:
cuda_version: cpu
name: binary_windows_wheel_py3.9_cpu
python_version: '3.9'
requires:
- build_ffmpeg_windows
- smoke_test_windows_pip:
cuda_version: cpu
name: binary_windows_wheel_py3.9_cpu_smoke_test_pip
python_version: '3.9'
requires:
- binary_windows_wheel_py3.9_cpu
- binary_windows_wheel:
cuda_version: cu116
name: binary_windows_wheel_py3.9_cu116
python_version: '3.9'
requires:
- build_ffmpeg_windows
wheel_docker_image: pytorch/manylinux-cuda116
- smoke_test_windows_pip:
cuda_version: cu116
name: binary_windows_wheel_py3.9_cu116_smoke_test_pip
python_version: '3.9'
requires:
- binary_windows_wheel_py3.9_cu116
- binary_windows_wheel:
cuda_version: cu117
name: binary_windows_wheel_py3.9_cu117
python_version: '3.9'
requires:
- build_ffmpeg_windows
wheel_docker_image: pytorch/manylinux-cuda117
- smoke_test_windows_pip:
cuda_version: cu117
name: binary_windows_wheel_py3.9_cu117_smoke_test_pip
python_version: '3.9'
requires:
- binary_windows_wheel_py3.9_cu117
- binary_windows_wheel:
cuda_version: cpu
name: binary_windows_wheel_py3.10_cpu
python_version: '3.10'
requires:
- build_ffmpeg_windows
- smoke_test_windows_pip:
cuda_version: cpu
name: binary_windows_wheel_py3.10_cpu_smoke_test_pip
python_version: '3.10'
requires:
- binary_windows_wheel_py3.10_cpu
- binary_windows_wheel:
cuda_version: cu116
name: binary_windows_wheel_py3.10_cu116
python_version: '3.10'
requires:
- build_ffmpeg_windows
wheel_docker_image: pytorch/manylinux-cuda116
- smoke_test_windows_pip:
cuda_version: cu116
name: binary_windows_wheel_py3.10_cu116_smoke_test_pip
python_version: '3.10'
requires:
- binary_windows_wheel_py3.10_cu116
- binary_windows_wheel:
cuda_version: cu117
name: binary_windows_wheel_py3.10_cu117
python_version: '3.10'
requires:
- build_ffmpeg_windows
wheel_docker_image: pytorch/manylinux-cuda117
- smoke_test_windows_pip:
cuda_version: cu117
name: binary_windows_wheel_py3.10_cu117_smoke_test_pip
python_version: '3.10'
requires:
- binary_windows_wheel_py3.10_cu117
- 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:
- build_ffmpeg_linux
- smoke_test_linux_conda:
cuda_version: cpu
name: binary_linux_conda_py3.7_cpu_smoke_test_conda
python_version: '3.7'
requires:
- binary_linux_conda_py3.7_cpu
- binary_linux_conda:
conda_docker_image: pytorch/conda-builder:cuda116
cuda_version: cu116
name: binary_linux_conda_py3.7_cu116
python_version: '3.7'
requires:
- build_ffmpeg_linux
- smoke_test_linux_conda_gpu:
cuda_version: cu116
name: binary_linux_conda_py3.7_cu116_smoke_test_conda
python_version: '3.7'
requires:
- binary_linux_conda_py3.7_cu116
- binary_linux_conda:
conda_docker_image: pytorch/conda-builder:cuda117
cuda_version: cu117
name: binary_linux_conda_py3.7_cu117
python_version: '3.7'
requires:
- build_ffmpeg_linux
- smoke_test_linux_conda_gpu:
cuda_version: cu117
name: binary_linux_conda_py3.7_cu117_smoke_test_conda
python_version: '3.7'
requires:
- binary_linux_conda_py3.7_cu117
- 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:
- build_ffmpeg_linux
- smoke_test_linux_conda:
cuda_version: cpu
name: binary_linux_conda_py3.8_cpu_smoke_test_conda
python_version: '3.8'
requires:
- binary_linux_conda_py3.8_cpu
- binary_linux_conda:
conda_docker_image: pytorch/conda-builder:cuda116
cuda_version: cu116
name: binary_linux_conda_py3.8_cu116
python_version: '3.8'
requires:
- build_ffmpeg_linux
- smoke_test_linux_conda_gpu:
cuda_version: cu116
name: binary_linux_conda_py3.8_cu116_smoke_test_conda
python_version: '3.8'
requires:
- binary_linux_conda_py3.8_cu116
- binary_linux_conda:
conda_docker_image: pytorch/conda-builder:cuda117
cuda_version: cu117
name: binary_linux_conda_py3.8_cu117
python_version: '3.8'
requires:
- build_ffmpeg_linux
- smoke_test_linux_conda_gpu:
cuda_version: cu117
name: binary_linux_conda_py3.8_cu117_smoke_test_conda
python_version: '3.8'
requires:
- binary_linux_conda_py3.8_cu117
- 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:
- build_ffmpeg_linux
- smoke_test_linux_conda:
cuda_version: cpu
name: binary_linux_conda_py3.9_cpu_smoke_test_conda
python_version: '3.9'
requires:
- binary_linux_conda_py3.9_cpu
- binary_linux_conda:
conda_docker_image: pytorch/conda-builder:cuda116
cuda_version: cu116
name: binary_linux_conda_py3.9_cu116
python_version: '3.9'
requires:
- build_ffmpeg_linux
- smoke_test_linux_conda_gpu:
cuda_version: cu116
name: binary_linux_conda_py3.9_cu116_smoke_test_conda
python_version: '3.9'
requires:
- binary_linux_conda_py3.9_cu116
- binary_linux_conda:
conda_docker_image: pytorch/conda-builder:cuda117
cuda_version: cu117
name: binary_linux_conda_py3.9_cu117
python_version: '3.9'
requires:
- build_ffmpeg_linux
- smoke_test_linux_conda_gpu:
cuda_version: cu117
name: binary_linux_conda_py3.9_cu117_smoke_test_conda
python_version: '3.9'
requires:
- binary_linux_conda_py3.9_cu117
- binary_linux_conda:
conda_docker_image: pytorch/conda-builder:cpu
cuda_version: cpu
name: binary_linux_conda_py3.10_cpu
python_version: '3.10'
requires:
- build_ffmpeg_linux
- smoke_test_linux_conda:
cuda_version: cpu
name: binary_linux_conda_py3.10_cpu_smoke_test_conda
python_version: '3.10'
requires:
- binary_linux_conda_py3.10_cpu
- binary_linux_conda:
conda_docker_image: pytorch/conda-builder:cuda116
cuda_version: cu116
name: binary_linux_conda_py3.10_cu116
python_version: '3.10'
requires:
- build_ffmpeg_linux
- smoke_test_linux_conda_gpu:
cuda_version: cu116
name: binary_linux_conda_py3.10_cu116_smoke_test_conda
python_version: '3.10'
requires:
- binary_linux_conda_py3.10_cu116
- binary_linux_conda:
conda_docker_image: pytorch/conda-builder:cuda117
cuda_version: cu117
name: binary_linux_conda_py3.10_cu117
python_version: '3.10'
requires:
- build_ffmpeg_linux
- smoke_test_linux_conda_gpu:
cuda_version: cu117
name: binary_linux_conda_py3.10_cu117_smoke_test_conda
python_version: '3.10'
requires:
- binary_linux_conda_py3.10_cu117
- 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:
- build_ffmpeg_macos
- 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:
- build_ffmpeg_macos
- 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:
- build_ffmpeg_macos
- binary_macos_conda:
conda_docker_image: pytorch/conda-builder:cpu
cuda_version: cpu
name: binary_macos_conda_py3.10_cpu
python_version: '3.10'
requires:
- build_ffmpeg_macos
- binary_windows_conda:
conda_docker_image: pytorch/conda-builder:cpu
cuda_version: cpu
name: binary_windows_conda_py3.7_cpu
python_version: '3.7'
requires:
- build_ffmpeg_windows
- smoke_test_windows_conda:
cuda_version: cpu
name: binary_windows_conda_py3.7_cpu_smoke_test_conda
python_version: '3.7'
requires:
- binary_windows_conda_py3.7_cpu
- binary_windows_conda:
conda_docker_image: pytorch/conda-builder:cuda116
cuda_version: cu116
name: binary_windows_conda_py3.7_cu116
python_version: '3.7'
requires:
- build_ffmpeg_windows
- smoke_test_windows_conda_gpu:
cuda_version: cu116
name: binary_windows_conda_py3.7_cu116_smoke_test_conda
python_version: '3.7'
requires:
- binary_windows_conda_py3.7_cu116
- binary_windows_conda:
conda_docker_image: pytorch/conda-builder:cuda117
cuda_version: cu117
name: binary_windows_conda_py3.7_cu117
python_version: '3.7'
requires:
- build_ffmpeg_windows
- smoke_test_windows_conda_gpu:
cuda_version: cu117
name: binary_windows_conda_py3.7_cu117_smoke_test_conda
python_version: '3.7'
requires:
- binary_windows_conda_py3.7_cu117
- binary_windows_conda:
conda_docker_image: pytorch/conda-builder:cpu
cuda_version: cpu
name: binary_windows_conda_py3.8_cpu
python_version: '3.8'
requires:
- build_ffmpeg_windows
- smoke_test_windows_conda:
cuda_version: cpu
name: binary_windows_conda_py3.8_cpu_smoke_test_conda
python_version: '3.8'
requires:
- binary_windows_conda_py3.8_cpu
- binary_windows_conda:
conda_docker_image: pytorch/conda-builder:cuda116
cuda_version: cu116
name: binary_windows_conda_py3.8_cu116
python_version: '3.8'
requires:
- build_ffmpeg_windows
- smoke_test_windows_conda_gpu:
cuda_version: cu116
name: binary_windows_conda_py3.8_cu116_smoke_test_conda
python_version: '3.8'
requires:
- binary_windows_conda_py3.8_cu116
- binary_windows_conda:
conda_docker_image: pytorch/conda-builder:cuda117
cuda_version: cu117
name: binary_windows_conda_py3.8_cu117
python_version: '3.8'
requires:
- build_ffmpeg_windows
- smoke_test_windows_conda_gpu:
cuda_version: cu117
name: binary_windows_conda_py3.8_cu117_smoke_test_conda
python_version: '3.8'
requires:
- binary_windows_conda_py3.8_cu117
- binary_windows_conda:
conda_docker_image: pytorch/conda-builder:cpu
cuda_version: cpu
name: binary_windows_conda_py3.9_cpu
python_version: '3.9'
requires:
- build_ffmpeg_windows
- smoke_test_windows_conda:
cuda_version: cpu
name: binary_windows_conda_py3.9_cpu_smoke_test_conda
python_version: '3.9'
requires:
- binary_windows_conda_py3.9_cpu
- binary_windows_conda:
conda_docker_image: pytorch/conda-builder:cuda116
cuda_version: cu116
name: binary_windows_conda_py3.9_cu116
python_version: '3.9'
requires:
- build_ffmpeg_windows
- smoke_test_windows_conda_gpu:
cuda_version: cu116
name: binary_windows_conda_py3.9_cu116_smoke_test_conda
python_version: '3.9'
requires:
- binary_windows_conda_py3.9_cu116
- binary_windows_conda:
conda_docker_image: pytorch/conda-builder:cuda117
cuda_version: cu117
name: binary_windows_conda_py3.9_cu117
python_version: '3.9'
requires:
- build_ffmpeg_windows
- smoke_test_windows_conda_gpu:
cuda_version: cu117
name: binary_windows_conda_py3.9_cu117_smoke_test_conda
python_version: '3.9'
requires:
- binary_windows_conda_py3.9_cu117
- binary_windows_conda:
conda_docker_image: pytorch/conda-builder:cpu
cuda_version: cpu
name: binary_windows_conda_py3.10_cpu
python_version: '3.10'
requires:
- build_ffmpeg_windows
- smoke_test_windows_conda:
cuda_version: cpu
name: binary_windows_conda_py3.10_cpu_smoke_test_conda
python_version: '3.10'
requires:
- binary_windows_conda_py3.10_cpu
- binary_windows_conda:
conda_docker_image: pytorch/conda-builder:cuda116
cuda_version: cu116
name: binary_windows_conda_py3.10_cu116
python_version: '3.10'
requires:
- build_ffmpeg_windows
- smoke_test_windows_conda_gpu:
cuda_version: cu116
name: binary_windows_conda_py3.10_cu116_smoke_test_conda
python_version: '3.10'
requires:
- binary_windows_conda_py3.10_cu116
- binary_windows_conda:
conda_docker_image: pytorch/conda-builder:cuda117
cuda_version: cu117
name: binary_windows_conda_py3.10_cu117
python_version: '3.10'
requires:
- build_ffmpeg_windows
- smoke_test_windows_conda_gpu:
cuda_version: cu117
name: binary_windows_conda_py3.10_cu117_smoke_test_conda
python_version: '3.10'
requires:
- binary_windows_conda_py3.10_cu117
- build_docs:
cuda_version: cu116
filters:
branches:
only:
- /.*/
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: build_docs
python_version: '3.8'
requires:
- binary_linux_conda_py3.8_cu116
- 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:
name: download_third_parties
- unittest_linux_cpu:
cuda_version: cpu
name: unittest_linux_cpu_py3.7
python_version: '3.7'
requires:
- download_third_parties
- stylecheck:
cuda_version: cpu
name: stylecheck_py3.7
python_version: '3.7'
- unittest_linux_cpu:
cuda_version: cpu
name: unittest_linux_cpu_py3.8
python_version: '3.8'
requires:
- download_third_parties
- unittest_linux_cpu:
cuda_version: cpu
name: unittest_linux_cpu_py3.9
python_version: '3.9'
requires:
- download_third_parties
- unittest_linux_cpu:
cuda_version: cpu
name: unittest_linux_cpu_py3.10
python_version: '3.10'
requires:
- download_third_parties
- unittest_linux_gpu:
cuda_version: cu116
name: unittest_linux_gpu_py3.7
python_version: '3.7'
requires:
- download_third_parties
- unittest_linux_gpu:
cuda_version: cu116
name: unittest_linux_gpu_py3.8
python_version: '3.8'
requires:
- download_third_parties
- unittest_linux_gpu:
cuda_version: cu116
name: unittest_linux_gpu_py3.9
python_version: '3.9'
requires:
- download_third_parties
- unittest_linux_gpu:
cuda_version: cu116
name: unittest_linux_gpu_py3.10
python_version: '3.10'
requires:
- download_third_parties
- unittest_windows_cpu:
cuda_version: cpu
name: unittest_windows_cpu_py3.7
python_version: '3.7'
requires:
- download_third_parties
- unittest_windows_gpu:
cuda_version: cu116
name: unittest_windows_gpu_py3.7
python_version: '3.7'
requires:
- download_third_parties
- unittest_macos_cpu:
cuda_version: cpu
name: unittest_macos_cpu_py3.7
python_version: '3.7'
requires:
- download_third_parties
nightly:
jobs:
- circleci_consistency:
filters:
branches:
only: nightly
- download_third_parties:
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: download_third_parties
- build_ffmpeg_linux:
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: build_ffmpeg_linux
python_version: foo
requires:
- download_third_parties
- build_ffmpeg_macos:
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: build_ffmpeg_macos
python_version: foo
requires:
- download_third_parties
- build_ffmpeg_windows:
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: build_ffmpeg_windows
python_version: foo
requires:
- download_third_parties
- 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:
- build_ffmpeg_linux
- 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
- binary_linux_wheel:
cuda_version: cu116
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_wheel_py3.7_cu116
python_version: '3.7'
requires:
- build_ffmpeg_linux
wheel_docker_image: pytorch/manylinux-cuda116
- 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_cu116_upload
requires:
- nightly_binary_linux_wheel_py3.7_cu116
subfolder: cu116/
- smoke_test_linux_pip:
cuda_version: cu116
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_wheel_py3.7_cu116_smoke_test_pip
python_version: '3.7'
requires:
- nightly_binary_linux_wheel_py3.7_cu116
- binary_linux_wheel:
cuda_version: cu117
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_wheel_py3.7_cu117
python_version: '3.7'
requires:
- build_ffmpeg_linux
wheel_docker_image: pytorch/manylinux-cuda117
- 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_cu117_upload
requires:
- nightly_binary_linux_wheel_py3.7_cu117
subfolder: cu117/
- smoke_test_linux_pip:
cuda_version: cu117
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_wheel_py3.7_cu117_smoke_test_pip
python_version: '3.7'
requires:
- nightly_binary_linux_wheel_py3.7_cu117
- binary_linux_wheel:
cuda_version: rocm5.1.1
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_wheel_py3.7_rocm5.1.1
python_version: '3.7'
requires:
- build_ffmpeg_linux
wheel_docker_image: pytorch/manylinux-rocm:5.1.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_rocm5.1.1_upload
requires:
- nightly_binary_linux_wheel_py3.7_rocm5.1.1
subfolder: rocm5.1.1/
- smoke_test_linux_pip:
cuda_version: rocm5.1.1
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_wheel_py3.7_rocm5.1.1_smoke_test_pip
python_version: '3.7'
requires:
- nightly_binary_linux_wheel_py3.7_rocm5.1.1
- binary_linux_wheel:
cuda_version: rocm5.2
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_wheel_py3.7_rocm5.2
python_version: '3.7'
requires:
- build_ffmpeg_linux
wheel_docker_image: pytorch/manylinux-rocm:5.2
- 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_rocm5.2_upload
requires:
- nightly_binary_linux_wheel_py3.7_rocm5.2
subfolder: rocm5.2/
- smoke_test_linux_pip:
cuda_version: rocm5.2
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_wheel_py3.7_rocm5.2_smoke_test_pip
python_version: '3.7'
requires:
- nightly_binary_linux_wheel_py3.7_rocm5.2
- 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:
- build_ffmpeg_linux
- 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
- binary_linux_wheel:
cuda_version: cu116
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_wheel_py3.8_cu116
python_version: '3.8'
requires:
- build_ffmpeg_linux
wheel_docker_image: pytorch/manylinux-cuda116
- 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_cu116_upload
requires:
- nightly_binary_linux_wheel_py3.8_cu116
subfolder: cu116/
- smoke_test_linux_pip:
cuda_version: cu116
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_wheel_py3.8_cu116_smoke_test_pip
python_version: '3.8'
requires:
- nightly_binary_linux_wheel_py3.8_cu116
- binary_linux_wheel:
cuda_version: cu117
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_wheel_py3.8_cu117
python_version: '3.8'
requires:
- build_ffmpeg_linux
wheel_docker_image: pytorch/manylinux-cuda117
- 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_cu117_upload
requires:
- nightly_binary_linux_wheel_py3.8_cu117
subfolder: cu117/
- smoke_test_linux_pip:
cuda_version: cu117
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_wheel_py3.8_cu117_smoke_test_pip
python_version: '3.8'
requires:
- nightly_binary_linux_wheel_py3.8_cu117
- binary_linux_wheel:
cuda_version: rocm5.1.1
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_wheel_py3.8_rocm5.1.1
python_version: '3.8'
requires:
- build_ffmpeg_linux
wheel_docker_image: pytorch/manylinux-rocm:5.1.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_rocm5.1.1_upload
requires:
- nightly_binary_linux_wheel_py3.8_rocm5.1.1
subfolder: rocm5.1.1/
- smoke_test_linux_pip:
cuda_version: rocm5.1.1
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_wheel_py3.8_rocm5.1.1_smoke_test_pip
python_version: '3.8'
requires:
- nightly_binary_linux_wheel_py3.8_rocm5.1.1
- binary_linux_wheel:
cuda_version: rocm5.2
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_wheel_py3.8_rocm5.2
python_version: '3.8'
requires:
- build_ffmpeg_linux
wheel_docker_image: pytorch/manylinux-rocm:5.2
- 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_rocm5.2_upload
requires:
- nightly_binary_linux_wheel_py3.8_rocm5.2
subfolder: rocm5.2/
- smoke_test_linux_pip:
cuda_version: rocm5.2
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_wheel_py3.8_rocm5.2_smoke_test_pip
python_version: '3.8'
requires:
- nightly_binary_linux_wheel_py3.8_rocm5.2
- 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:
- build_ffmpeg_linux
- 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
- binary_linux_wheel:
cuda_version: cu116
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_wheel_py3.9_cu116
python_version: '3.9'
requires:
- build_ffmpeg_linux
wheel_docker_image: pytorch/manylinux-cuda116
- 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_cu116_upload
requires:
- nightly_binary_linux_wheel_py3.9_cu116
subfolder: cu116/
- smoke_test_linux_pip:
cuda_version: cu116
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_wheel_py3.9_cu116_smoke_test_pip
python_version: '3.9'
requires:
- nightly_binary_linux_wheel_py3.9_cu116
- binary_linux_wheel:
cuda_version: cu117
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_wheel_py3.9_cu117
python_version: '3.9'
requires:
- build_ffmpeg_linux
wheel_docker_image: pytorch/manylinux-cuda117
- 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_cu117_upload
requires:
- nightly_binary_linux_wheel_py3.9_cu117
subfolder: cu117/
- smoke_test_linux_pip:
cuda_version: cu117
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_wheel_py3.9_cu117_smoke_test_pip
python_version: '3.9'
requires:
- nightly_binary_linux_wheel_py3.9_cu117
- binary_linux_wheel:
cuda_version: rocm5.1.1
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_wheel_py3.9_rocm5.1.1
python_version: '3.9'
requires:
- build_ffmpeg_linux
wheel_docker_image: pytorch/manylinux-rocm:5.1.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_rocm5.1.1_upload
requires:
- nightly_binary_linux_wheel_py3.9_rocm5.1.1
subfolder: rocm5.1.1/
- smoke_test_linux_pip:
cuda_version: rocm5.1.1
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_wheel_py3.9_rocm5.1.1_smoke_test_pip
python_version: '3.9'
requires:
- nightly_binary_linux_wheel_py3.9_rocm5.1.1
- binary_linux_wheel:
cuda_version: rocm5.2
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_wheel_py3.9_rocm5.2
python_version: '3.9'
requires:
- build_ffmpeg_linux
wheel_docker_image: pytorch/manylinux-rocm:5.2
- 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_rocm5.2_upload
requires:
- nightly_binary_linux_wheel_py3.9_rocm5.2
subfolder: rocm5.2/
- smoke_test_linux_pip:
cuda_version: rocm5.2
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_wheel_py3.9_rocm5.2_smoke_test_pip
python_version: '3.9'
requires:
- nightly_binary_linux_wheel_py3.9_rocm5.2
- 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.10_cpu
python_version: '3.10'
requires:
- build_ffmpeg_linux
- 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.10_cpu_upload
requires:
- nightly_binary_linux_wheel_py3.10_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.10_cpu_smoke_test_pip
python_version: '3.10'
requires:
- nightly_binary_linux_wheel_py3.10_cpu
- binary_linux_wheel:
cuda_version: cu116
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_wheel_py3.10_cu116
python_version: '3.10'
requires:
- build_ffmpeg_linux
wheel_docker_image: pytorch/manylinux-cuda116
- 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.10_cu116_upload
requires:
- nightly_binary_linux_wheel_py3.10_cu116
subfolder: cu116/
- smoke_test_linux_pip:
cuda_version: cu116
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_wheel_py3.10_cu116_smoke_test_pip
python_version: '3.10'
requires:
- nightly_binary_linux_wheel_py3.10_cu116
- binary_linux_wheel:
cuda_version: cu117
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_wheel_py3.10_cu117
python_version: '3.10'
requires:
- build_ffmpeg_linux
wheel_docker_image: pytorch/manylinux-cuda117
- 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.10_cu117_upload
requires:
- nightly_binary_linux_wheel_py3.10_cu117
subfolder: cu117/
- smoke_test_linux_pip:
cuda_version: cu117
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_wheel_py3.10_cu117_smoke_test_pip
python_version: '3.10'
requires:
- nightly_binary_linux_wheel_py3.10_cu117
- binary_linux_wheel:
cuda_version: rocm5.1.1
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_wheel_py3.10_rocm5.1.1
python_version: '3.10'
requires:
- build_ffmpeg_linux
wheel_docker_image: pytorch/manylinux-rocm:5.1.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.10_rocm5.1.1_upload
requires:
- nightly_binary_linux_wheel_py3.10_rocm5.1.1
subfolder: rocm5.1.1/
- smoke_test_linux_pip:
cuda_version: rocm5.1.1
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_wheel_py3.10_rocm5.1.1_smoke_test_pip
python_version: '3.10'
requires:
- nightly_binary_linux_wheel_py3.10_rocm5.1.1
- binary_linux_wheel:
cuda_version: rocm5.2
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_wheel_py3.10_rocm5.2
python_version: '3.10'
requires:
- build_ffmpeg_linux
wheel_docker_image: pytorch/manylinux-rocm:5.2
- 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.10_rocm5.2_upload
requires:
- nightly_binary_linux_wheel_py3.10_rocm5.2
subfolder: rocm5.2/
- smoke_test_linux_pip:
cuda_version: rocm5.2
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_wheel_py3.10_rocm5.2_smoke_test_pip
python_version: '3.10'
requires:
- nightly_binary_linux_wheel_py3.10_rocm5.2
- 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:
- build_ffmpeg_macos
- 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:
- build_ffmpeg_macos
- 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:
- build_ffmpeg_macos
- 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_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.10_cpu
python_version: '3.10'
requires:
- build_ffmpeg_macos
- 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.10_cpu_upload
requires:
- nightly_binary_macos_wheel_py3.10_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.7_cpu
python_version: '3.7'
requires:
- build_ffmpeg_windows
- 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
- binary_windows_wheel:
cuda_version: cu116
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_windows_wheel_py3.7_cu116
python_version: '3.7'
requires:
- build_ffmpeg_windows
wheel_docker_image: pytorch/manylinux-cuda116
- 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_cu116_upload
requires:
- nightly_binary_windows_wheel_py3.7_cu116
subfolder: cu116/
- smoke_test_windows_pip:
cuda_version: cu116
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_windows_wheel_py3.7_cu116_smoke_test_pip
python_version: '3.7'
requires:
- nightly_binary_windows_wheel_py3.7_cu116
- binary_windows_wheel:
cuda_version: cu117
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_windows_wheel_py3.7_cu117
python_version: '3.7'
requires:
- build_ffmpeg_windows
wheel_docker_image: pytorch/manylinux-cuda117
- 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_cu117_upload
requires:
- nightly_binary_windows_wheel_py3.7_cu117
subfolder: cu117/
- smoke_test_windows_pip:
cuda_version: cu117
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_windows_wheel_py3.7_cu117_smoke_test_pip
python_version: '3.7'
requires:
- nightly_binary_windows_wheel_py3.7_cu117
- 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'
requires:
- build_ffmpeg_windows
- 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
- binary_windows_wheel:
cuda_version: cu116
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_windows_wheel_py3.8_cu116
python_version: '3.8'
requires:
- build_ffmpeg_windows
wheel_docker_image: pytorch/manylinux-cuda116
- 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_cu116_upload
requires:
- nightly_binary_windows_wheel_py3.8_cu116
subfolder: cu116/
- smoke_test_windows_pip:
cuda_version: cu116
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_windows_wheel_py3.8_cu116_smoke_test_pip
python_version: '3.8'
requires:
- nightly_binary_windows_wheel_py3.8_cu116
- binary_windows_wheel:
cuda_version: cu117
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_windows_wheel_py3.8_cu117
python_version: '3.8'
requires:
- build_ffmpeg_windows
wheel_docker_image: pytorch/manylinux-cuda117
- 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_cu117_upload
requires:
- nightly_binary_windows_wheel_py3.8_cu117
subfolder: cu117/
- smoke_test_windows_pip:
cuda_version: cu117
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_windows_wheel_py3.8_cu117_smoke_test_pip
python_version: '3.8'
requires:
- nightly_binary_windows_wheel_py3.8_cu117
- 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'
requires:
- build_ffmpeg_windows
- 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
- binary_windows_wheel:
cuda_version: cu116
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_windows_wheel_py3.9_cu116
python_version: '3.9'
requires:
- build_ffmpeg_windows
wheel_docker_image: pytorch/manylinux-cuda116
- 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_cu116_upload
requires:
- nightly_binary_windows_wheel_py3.9_cu116
subfolder: cu116/
- smoke_test_windows_pip:
cuda_version: cu116
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_windows_wheel_py3.9_cu116_smoke_test_pip
python_version: '3.9'
requires:
- nightly_binary_windows_wheel_py3.9_cu116
- binary_windows_wheel:
cuda_version: cu117
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_windows_wheel_py3.9_cu117
python_version: '3.9'
requires:
- build_ffmpeg_windows
wheel_docker_image: pytorch/manylinux-cuda117
- 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_cu117_upload
requires:
- nightly_binary_windows_wheel_py3.9_cu117
subfolder: cu117/
- smoke_test_windows_pip:
cuda_version: cu117
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_windows_wheel_py3.9_cu117_smoke_test_pip
python_version: '3.9'
requires:
- nightly_binary_windows_wheel_py3.9_cu117
- 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.10_cpu
python_version: '3.10'
requires:
- build_ffmpeg_windows
- 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.10_cpu_upload
requires:
- nightly_binary_windows_wheel_py3.10_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.10_cpu_smoke_test_pip
python_version: '3.10'
requires:
- nightly_binary_windows_wheel_py3.10_cpu
- binary_windows_wheel:
cuda_version: cu116
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_windows_wheel_py3.10_cu116
python_version: '3.10'
requires:
- build_ffmpeg_windows
wheel_docker_image: pytorch/manylinux-cuda116
- 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.10_cu116_upload
requires:
- nightly_binary_windows_wheel_py3.10_cu116
subfolder: cu116/
- smoke_test_windows_pip:
cuda_version: cu116
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_windows_wheel_py3.10_cu116_smoke_test_pip
python_version: '3.10'
requires:
- nightly_binary_windows_wheel_py3.10_cu116
- binary_windows_wheel:
cuda_version: cu117
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_windows_wheel_py3.10_cu117
python_version: '3.10'
requires:
- build_ffmpeg_windows
wheel_docker_image: pytorch/manylinux-cuda117
- 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.10_cu117_upload
requires:
- nightly_binary_windows_wheel_py3.10_cu117
subfolder: cu117/
- smoke_test_windows_pip:
cuda_version: cu117
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_windows_wheel_py3.10_cu117_smoke_test_pip
python_version: '3.10'
requires:
- nightly_binary_windows_wheel_py3.10_cu117
- 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:
- build_ffmpeg_linux
- 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
- binary_linux_conda:
conda_docker_image: pytorch/conda-builder:cuda116
cuda_version: cu116
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_conda_py3.7_cu116
python_version: '3.7'
requires:
- build_ffmpeg_linux
- 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_cu116_upload
requires:
- nightly_binary_linux_conda_py3.7_cu116
- smoke_test_linux_conda_gpu:
cuda_version: cu116
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_conda_py3.7_cu116_smoke_test_conda
python_version: '3.7'
requires:
- nightly_binary_linux_conda_py3.7_cu116
- binary_linux_conda:
conda_docker_image: pytorch/conda-builder:cuda117
cuda_version: cu117
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_conda_py3.7_cu117
python_version: '3.7'
requires:
- build_ffmpeg_linux
- 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_cu117_upload
requires:
- nightly_binary_linux_conda_py3.7_cu117
- smoke_test_linux_conda_gpu:
cuda_version: cu117
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_conda_py3.7_cu117_smoke_test_conda
python_version: '3.7'
requires:
- nightly_binary_linux_conda_py3.7_cu117
- 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:
- build_ffmpeg_linux
- 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
- binary_linux_conda:
conda_docker_image: pytorch/conda-builder:cuda116
cuda_version: cu116
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_conda_py3.8_cu116
python_version: '3.8'
requires:
- build_ffmpeg_linux
- 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_cu116_upload
requires:
- nightly_binary_linux_conda_py3.8_cu116
- smoke_test_linux_conda_gpu:
cuda_version: cu116
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_conda_py3.8_cu116_smoke_test_conda
python_version: '3.8'
requires:
- nightly_binary_linux_conda_py3.8_cu116
- binary_linux_conda:
conda_docker_image: pytorch/conda-builder:cuda117
cuda_version: cu117
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_conda_py3.8_cu117
python_version: '3.8'
requires:
- build_ffmpeg_linux
- 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_cu117_upload
requires:
- nightly_binary_linux_conda_py3.8_cu117
- smoke_test_linux_conda_gpu:
cuda_version: cu117
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_conda_py3.8_cu117_smoke_test_conda
python_version: '3.8'
requires:
- nightly_binary_linux_conda_py3.8_cu117
- 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:
- build_ffmpeg_linux
- 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
- binary_linux_conda:
conda_docker_image: pytorch/conda-builder:cuda116
cuda_version: cu116
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_conda_py3.9_cu116
python_version: '3.9'
requires:
- build_ffmpeg_linux
- 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_cu116_upload
requires:
- nightly_binary_linux_conda_py3.9_cu116
- smoke_test_linux_conda_gpu:
cuda_version: cu116
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_conda_py3.9_cu116_smoke_test_conda
python_version: '3.9'
requires:
- nightly_binary_linux_conda_py3.9_cu116
- binary_linux_conda:
conda_docker_image: pytorch/conda-builder:cuda117
cuda_version: cu117
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_conda_py3.9_cu117
python_version: '3.9'
requires:
- build_ffmpeg_linux
- 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_cu117_upload
requires:
- nightly_binary_linux_conda_py3.9_cu117
- smoke_test_linux_conda_gpu:
cuda_version: cu117
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_conda_py3.9_cu117_smoke_test_conda
python_version: '3.9'
requires:
- nightly_binary_linux_conda_py3.9_cu117
- 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.10_cpu
python_version: '3.10'
requires:
- build_ffmpeg_linux
- 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.10_cpu_upload
requires:
- nightly_binary_linux_conda_py3.10_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.10_cpu_smoke_test_conda
python_version: '3.10'
requires:
- nightly_binary_linux_conda_py3.10_cpu
- binary_linux_conda:
conda_docker_image: pytorch/conda-builder:cuda116
cuda_version: cu116
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_conda_py3.10_cu116
python_version: '3.10'
requires:
- build_ffmpeg_linux
- 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.10_cu116_upload
requires:
- nightly_binary_linux_conda_py3.10_cu116
- smoke_test_linux_conda_gpu:
cuda_version: cu116
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_conda_py3.10_cu116_smoke_test_conda
python_version: '3.10'
requires:
- nightly_binary_linux_conda_py3.10_cu116
- binary_linux_conda:
conda_docker_image: pytorch/conda-builder:cuda117
cuda_version: cu117
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_conda_py3.10_cu117
python_version: '3.10'
requires:
- build_ffmpeg_linux
- 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.10_cu117_upload
requires:
- nightly_binary_linux_conda_py3.10_cu117
- smoke_test_linux_conda_gpu:
cuda_version: cu117
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_conda_py3.10_cu117_smoke_test_conda
python_version: '3.10'
requires:
- nightly_binary_linux_conda_py3.10_cu117
- 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:
- build_ffmpeg_macos
- 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:
- build_ffmpeg_macos
- 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:
- build_ffmpeg_macos
- 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_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.10_cpu
python_version: '3.10'
requires:
- build_ffmpeg_macos
- 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.10_cpu_upload
requires:
- nightly_binary_macos_conda_py3.10_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.7_cpu
python_version: '3.7'
requires:
- build_ffmpeg_windows
- 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
- binary_windows_conda:
conda_docker_image: pytorch/conda-builder:cuda116
cuda_version: cu116
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_windows_conda_py3.7_cu116
python_version: '3.7'
requires:
- build_ffmpeg_windows
- 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_cu116_upload
requires:
- nightly_binary_windows_conda_py3.7_cu116
- smoke_test_windows_conda_gpu:
cuda_version: cu116
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_windows_conda_py3.7_cu116_smoke_test_conda
python_version: '3.7'
requires:
- nightly_binary_windows_conda_py3.7_cu116
- binary_windows_conda:
conda_docker_image: pytorch/conda-builder:cuda117
cuda_version: cu117
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_windows_conda_py3.7_cu117
python_version: '3.7'
requires:
- build_ffmpeg_windows
- 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_cu117_upload
requires:
- nightly_binary_windows_conda_py3.7_cu117
- smoke_test_windows_conda_gpu:
cuda_version: cu117
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_windows_conda_py3.7_cu117_smoke_test_conda
python_version: '3.7'
requires:
- nightly_binary_windows_conda_py3.7_cu117
- 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'
requires:
- build_ffmpeg_windows
- 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
- binary_windows_conda:
conda_docker_image: pytorch/conda-builder:cuda116
cuda_version: cu116
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_windows_conda_py3.8_cu116
python_version: '3.8'
requires:
- build_ffmpeg_windows
- 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_cu116_upload
requires:
- nightly_binary_windows_conda_py3.8_cu116
- smoke_test_windows_conda_gpu:
cuda_version: cu116
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_windows_conda_py3.8_cu116_smoke_test_conda
python_version: '3.8'
requires:
- nightly_binary_windows_conda_py3.8_cu116
- binary_windows_conda:
conda_docker_image: pytorch/conda-builder:cuda117
cuda_version: cu117
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_windows_conda_py3.8_cu117
python_version: '3.8'
requires:
- build_ffmpeg_windows
- 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_cu117_upload
requires:
- nightly_binary_windows_conda_py3.8_cu117
- smoke_test_windows_conda_gpu:
cuda_version: cu117
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_windows_conda_py3.8_cu117_smoke_test_conda
python_version: '3.8'
requires:
- nightly_binary_windows_conda_py3.8_cu117
- 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'
requires:
- build_ffmpeg_windows
- 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
- binary_windows_conda:
conda_docker_image: pytorch/conda-builder:cuda116
cuda_version: cu116
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_windows_conda_py3.9_cu116
python_version: '3.9'
requires:
- build_ffmpeg_windows
- 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_cu116_upload
requires:
- nightly_binary_windows_conda_py3.9_cu116
- smoke_test_windows_conda_gpu:
cuda_version: cu116
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_windows_conda_py3.9_cu116_smoke_test_conda
python_version: '3.9'
requires:
- nightly_binary_windows_conda_py3.9_cu116
- binary_windows_conda:
conda_docker_image: pytorch/conda-builder:cuda117
cuda_version: cu117
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_windows_conda_py3.9_cu117
python_version: '3.9'
requires:
- build_ffmpeg_windows
- 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_cu117_upload
requires:
- nightly_binary_windows_conda_py3.9_cu117
- smoke_test_windows_conda_gpu:
cuda_version: cu117
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_windows_conda_py3.9_cu117_smoke_test_conda
python_version: '3.9'
requires:
- nightly_binary_windows_conda_py3.9_cu117
- 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.10_cpu
python_version: '3.10'
requires:
- build_ffmpeg_windows
- 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.10_cpu_upload
requires:
- nightly_binary_windows_conda_py3.10_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.10_cpu_smoke_test_conda
python_version: '3.10'
requires:
- nightly_binary_windows_conda_py3.10_cpu
- binary_windows_conda:
conda_docker_image: pytorch/conda-builder:cuda116
cuda_version: cu116
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_windows_conda_py3.10_cu116
python_version: '3.10'
requires:
- build_ffmpeg_windows
- 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.10_cu116_upload
requires:
- nightly_binary_windows_conda_py3.10_cu116
- smoke_test_windows_conda_gpu:
cuda_version: cu116
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_windows_conda_py3.10_cu116_smoke_test_conda
python_version: '3.10'
requires:
- nightly_binary_windows_conda_py3.10_cu116
- binary_windows_conda:
conda_docker_image: pytorch/conda-builder:cuda117
cuda_version: cu117
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_windows_conda_py3.10_cu117
python_version: '3.10'
requires:
- build_ffmpeg_windows
- 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.10_cu117_upload
requires:
- nightly_binary_windows_conda_py3.10_cu117
- smoke_test_windows_conda_gpu:
cuda_version: cu117
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_windows_conda_py3.10_cu117_smoke_test_conda
python_version: '3.10'
requires:
- nightly_binary_windows_conda_py3.10_cu117
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}
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.13.1"
pytorch_version:
description: "PyTorch version to build against; by default, use a nightly"
type: string
default: "1.13.1"
# 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-cuda116"
conda_docker_image:
description: "Conda only: what docker image to use"
type: string
default: "pytorch/conda-builder:cuda116"
environment: &environment
PYTHON_VERSION: << parameters.python_version >>
BUILD_VERSION: << parameters.build_version >>
PYTORCH_VERSION: << parameters.pytorch_version >>
CU_VERSION: << parameters.cuda_version >>
MACOSX_DEPLOYMENT_TARGET: 10.9
smoke_test_common: &smoke_test_common
<<: *binary_common
docker:
- image: pytorch/torchaudio_unittest_base:smoke_test-20220425
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)
lint_python_and_config:
docker:
- image: circleci/python:3.7
steps:
- checkout
- run:
name: Install pre-commit
command: pip install --user --progress-bar off pre-commit
- run:
name: Install pre-commit hooks
command: pre-commit install-hooks
- run:
name: Lint Python code and config files
command: pre-commit run --all-files
- run:
name: Required lint modifications
when: always
command: git --no-pager diff --color=always
download_third_parties:
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/archives/
wget --no-clobber --directory-prefix=third_party/archives/ $(awk '/URL /{print $2}' third_party/*/CMakeLists.txt)
- save_cache:
{% raw %}
key: tp-nix-v2-{{ checksum ".cachekey" }}
{% endraw %}
paths:
- third_party/archives
- persist_to_workspace:
root: third_party
paths:
- archives
build_ffmpeg_linux:
<<: *binary_common
docker:
- image: << parameters.wheel_docker_image >>
resource_class: 2xlarge+
steps:
- checkout
- generate_cache_key
- restore_cache:
{% raw %}
keys:
- ffmpeg-linux-v0-{{ checksum ".cachekey" }}
{% endraw %}
- run:
command: |
export FFMPEG_ROOT=${PWD}/third_party/ffmpeg
if [[ ! -d ${FFMPEG_ROOT} ]]; then
packaging/ffmpeg/build.sh
fi
- save_cache:
{% raw %}
key: ffmpeg-linux-v0-{{ checksum ".cachekey" }}
{% endraw %}
paths:
- third_party/ffmpeg
- persist_to_workspace:
root: third_party
paths:
- ffmpeg
build_ffmpeg_macos:
<<: *binary_common
macos:
xcode: "14.0"
steps:
- checkout
- generate_cache_key
- restore_cache:
{% raw %}
keys:
- ffmpeg-macos-v0-{{ checksum ".cachekey" }}
{% endraw %}
- run:
command: |
export FFMPEG_ROOT=${PWD}/third_party/ffmpeg
if [[ ! -d ${FFMPEG_ROOT} ]]; then
packaging/ffmpeg/build.sh
fi
- save_cache:
{% raw %}
key: ffmpeg-macos-v0-{{ checksum ".cachekey" }}
{% endraw %}
paths:
- third_party/ffmpeg
- persist_to_workspace:
root: third_party
paths:
- ffmpeg
build_ffmpeg_windows:
<<: *binary_common
machine:
resource_class: windows.xlarge
image: windows-server-2019-vs2019:stable
# Note:
# Unlike other Windows job, this job uses cmd.exe as shell because
# we need to invoke bash.exe from msys2 in ffmpeg build process, and doing so
# from different installation of bash.exe (the one from the VM) cause issue
shell: cmd.exe
steps:
- checkout
- run: date /t > .cachekey
- restore_cache:
{% raw %}
keys:
- ffmpeg-windows-{{ checksum ".cachekey" }}
{% endraw %}
- run: packaging\ffmpeg\build.bat
- save_cache:
{% raw %}
key: ffmpeg-windows-{{ checksum ".cachekey" }}
{% endraw %}
paths:
- third_party/ffmpeg
- persist_to_workspace:
root: third_party
paths:
- ffmpeg
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:
command: |
export FFMPEG_ROOT=${PWD}/third_party/ffmpeg
packaging/build_wheel.sh
environment:
USE_FFMPEG: true
- 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:
name: Build conda packages
no_output_timeout: 30m
command: |
export FFMPEG_ROOT=${PWD}/third_party/ffmpeg
packaging/build_conda.sh
environment:
USE_FFMPEG: true
- 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: "14.0"
steps:
- checkout
- 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
export FFMPEG_ROOT="${PWD}/third_party/ffmpeg"
packaging/build_wheel.sh
environment:
USE_FFMPEG: true
USE_OPENMP: false
- store_artifacts:
path: dist
- persist_to_workspace:
root: dist
paths:
- "*"
binary_macos_conda:
<<: *binary_common
macos:
xcode: "14.0"
steps:
- checkout
- 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
export FFMPEG_ROOT="${PWD}/third_party/ffmpeg"
packaging/build_conda.sh
environment:
USE_FFMPEG: true
USE_OPENMP: false
- 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
- attach_workspace:
at: third_party
- run:
name: Build wheel packages
no_output_timeout: 30m
command: |
set -ex
eval "$('/C/tools/miniconda3/Scripts/conda.exe' 'shell.bash' 'hook')"
conda activate base
export FFMPEG_ROOT="${PWD}/third_party/ffmpeg"
bash packaging/build_wheel.sh
environment:
USE_FFMPEG: true
- 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
- attach_workspace:
at: third_party
- run:
name: Build conda packages
no_output_timeout: 30m
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"
export FFMPEG_ROOT="${PWD}/third_party/ffmpeg"
bash packaging/build_conda.sh
environment:
USE_FFMPEG: true
- 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
no_output_timeout: 30m
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
- checkout
- run:
name: smoke test
command: |
source /usr/local/etc/profile.d/conda.sh && conda activate python${PYTHON_VERSION}
conda install 'ffmpeg<5'
./test/smoke_test/run_smoke_test.sh
smoke_test_linux_conda_gpu:
<<: *smoke_test_common
steps:
- attach_workspace:
at: ~/workspace
- designate_upload_channel
- load_conda_channel_flags
- run:
name: install binaries
no_output_timeout: 30m
command: |
set -x
source /usr/local/etc/profile.d/conda.sh && conda activate python${PYTHON_VERSION}
if [[ "$CU_VERSION" == cu116 || "$CU_VERSION" == cu117 ]]; then
conda install -v -y -c pytorch-${UPLOAD_CHANNEL} -c nvidia pytorch pytorch-cuda=${CU_VERSION:2:2}.${CU_VERSION:4}
else
conda install -v -y -c pytorch-${UPLOAD_CHANNEL} pytorch cudatoolkit=${CU_VERSION:2:2}.${CU_VERSION:4}
fi
conda install -v -y -c file://$HOME/workspace/conda-bld torchaudio
- checkout
- run:
name: smoke test
command: |
source /usr/local/etc/profile.d/conda.sh && conda activate python${PYTHON_VERSION}
conda install 'ffmpeg<5'
./test/smoke_test/run_smoke_test.sh
smoke_test_linux_pip:
<<: *smoke_test_common
steps:
- attach_workspace:
at: ~/workspace
- designate_upload_channel
- load_conda_channel_flags
- run:
name: install binaries
no_output_timeout: 30m
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"
- checkout
- run:
name: smoke test
command: |
source /usr/local/etc/profile.d/conda.sh && conda activate python${PYTHON_VERSION}
export LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:${HOME}/workspace/ffmpeg/lib"
./test/smoke_test/run_smoke_test.sh
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
no_output_timeout: 30m
command: |
set -x
eval "$('/C/tools/miniconda3/Scripts/conda.exe' 'shell.bash' 'hook')"
conda update -y conda
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/conda-bld/win-64/torchaudio*.tar.bz2)
- checkout
- run:
name: smoke test
command: |
eval "$('/C/tools/miniconda3/Scripts/conda.exe' 'shell.bash' 'hook')"
conda activate python${PYTHON_VERSION}
conda install 'ffmpeg<5'
./test/smoke_test/run_smoke_test.sh
smoke_test_windows_conda_gpu:
<<: *binary_common
executor:
name: windows-gpu
steps:
- checkout
- attach_workspace:
at: ~/workspace
- designate_upload_channel
- load_conda_channel_flags
- windows_install_cuda
- run:
name: Update CUDA driver
command: packaging/windows/internal/driver_update.bat
- run:
name: install binaries
no_output_timeout: 30m
command: |
set -x
eval "$('/C/tools/miniconda3/Scripts/conda.exe' 'shell.bash' 'hook')"
conda update -y conda
conda env remove -n python${PYTHON_VERSION} || true
conda create -yn python${PYTHON_VERSION} python=${PYTHON_VERSION}
conda activate python${PYTHON_VERSION}
# Include numpy and cudatoolkit in the install conda-forge chanell is used for cudatoolkit
if [[ "$CU_VERSION" == cu116 || "$CU_VERSION" == cu117 ]]; then
conda install -v -y -c pytorch-${UPLOAD_CHANNEL} -c nvidia pytorch numpy ffmpeg pytorch-cuda=${CU_VERSION:2:2}.${CU_VERSION:4}
else
conda install -v -y -c pytorch-${UPLOAD_CHANNEL} pytorch numpy ffmpeg cudatoolkit=${CU_VERSION:2:2}.${CU_VERSION:4}
fi
# Install from torchaudio file
conda install -v -y $(ls ~/workspace/conda-bld/win-64/torchaudio*.tar.bz2)
- run:
name: smoke test
command: |
eval "$('/C/tools/miniconda3/Scripts/conda.exe' 'shell.bash' 'hook')"
conda activate python${PYTHON_VERSION}
# Install sound backend
pip install PySoundFile
# conda install 'ffmpeg<5'
./test/smoke_test/run_smoke_test.sh
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
no_output_timeout: 30m
command: |
set -x
eval "$('/C/tools/miniconda3/Scripts/conda.exe' 'shell.bash' 'hook')"
conda update -y conda
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}/${CU_VERSION}/torch_${UPLOAD_CHANNEL}.html"
- checkout
- run:
name: smoke test
command: |
eval "$('/C/tools/miniconda3/Scripts/conda.exe' 'shell.bash' 'hook')"
conda activate python${PYTHON_VERSION}
# Hack to load FFmpeg libraries
# Note: Depending on Python version, they search different paths.
# For 3.7 and 3.9, copying them in CWD works.
cp ~/workspace/ffmpeg/bin/* test/smoke_test/
# For 3.8 and 3.10, they must be in the same directory as the entrypoint lib
cp ~/workspace/ffmpeg/bin/* /C/tools/miniconda3/envs/python${PYTHON_VERSION}/lib/site-packages/torchaudio/lib/
./test/smoke_test/run_smoke_test.sh
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
environment:
USE_FFMPEG: true
- run:
name: Run tests
command: .circleci/unittest/linux/scripts/run_test.sh
environment:
TORCHAUDIO_TEST_ALLOW_SKIP_IF_NO_CUDA: true
TORCHAUDIO_TEST_ALLOW_SKIP_IF_ON_PYTHON_310: true
- store_test_results:
path: test-results
- store_artifacts:
path: test/htmlcov
unittest_linux_gpu:
<<: *binary_common
machine:
image: ubuntu-2004-cuda-11.4:202110-01
resource_class: gpu.nvidia.medium
environment:
<<: *environment
CUDA_VERSION: 11.6
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 -e CUDA_VERSION -e USE_FFMPEG=1 -v $PWD:$PWD -w $PWD "${image_name}" .circleci/unittest/linux/scripts/install.sh
- run:
name: Run tests
environment:
TORCHAUDIO_TEST_ALLOW_SKIP_IF_ON_PYTHON_310: true
command: |
docker run -t --gpus all -v $PWD:$PWD -w $PWD -e "CI=${CI}" -e TORCHAUDIO_TEST_ALLOW_SKIP_IF_ON_PYTHON_310 "${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
environment:
USE_FFMPEG: true
- run:
name: Run tests
command: .circleci/unittest/windows/scripts/run_test.sh
environment:
TORCHAUDIO_TEST_ALLOW_SKIP_IF_NO_CMD_APPLY_CMVN_SLIDING: true
TORCHAUDIO_TEST_ALLOW_SKIP_IF_NO_CMD_COMPUTE_FBANK_FEATS: true
TORCHAUDIO_TEST_ALLOW_SKIP_IF_NO_CMD_COMPUTE_KALDI_PITCH_FEATS: true
TORCHAUDIO_TEST_ALLOW_SKIP_IF_NO_CMD_COMPUTE_MFCC_FEATS: true
TORCHAUDIO_TEST_ALLOW_SKIP_IF_NO_CMD_COMPUTE_SPECTROGRAM_FEATS: true
TORCHAUDIO_TEST_ALLOW_SKIP_IF_NO_CMD_SOX: true
TORCHAUDIO_TEST_ALLOW_SKIP_IF_NO_CUDA: true
TORCHAUDIO_TEST_ALLOW_SKIP_IF_NO_KALDI: true
TORCHAUDIO_TEST_ALLOW_SKIP_IF_NO_SOX: true
TORCHAUDIO_TEST_ALLOW_SKIP_IF_ON_PYTHON_310: true
TORCHAUDIO_TEST_ALLOW_SKIP_IF_NO_MOD_sentencepiece: true
- store_test_results:
path: test-results
- store_artifacts:
path: test/htmlcov
unittest_windows_gpu:
<<: *binary_common
executor:
name: windows-gpu
environment:
<<: *environment
CUDA_VERSION: "11.6"
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
environment:
USE_FFMPEG: true
- run:
name: Run tests
command: .circleci/unittest/windows/scripts/run_test.sh
environment:
TORCHAUDIO_TEST_ALLOW_SKIP_IF_NO_CMD_APPLY_CMVN_SLIDING: true
TORCHAUDIO_TEST_ALLOW_SKIP_IF_NO_CMD_COMPUTE_FBANK_FEATS: true
TORCHAUDIO_TEST_ALLOW_SKIP_IF_NO_CMD_COMPUTE_KALDI_PITCH_FEATS: true
TORCHAUDIO_TEST_ALLOW_SKIP_IF_NO_CMD_COMPUTE_MFCC_FEATS: true
TORCHAUDIO_TEST_ALLOW_SKIP_IF_NO_CMD_COMPUTE_SPECTROGRAM_FEATS: true
TORCHAUDIO_TEST_ALLOW_SKIP_IF_NO_CMD_SOX: true
TORCHAUDIO_TEST_ALLOW_SKIP_IF_NO_KALDI: true
TORCHAUDIO_TEST_ALLOW_SKIP_IF_NO_SOX: true
TORCHAUDIO_TEST_ALLOW_SKIP_IF_ON_PYTHON_310: true
TORCHAUDIO_TEST_ALLOW_SKIP_IF_NO_MOD_sentencepiece: true
- store_test_results:
path: test-results
- store_artifacts:
path: test/htmlcov
unittest_macos_cpu:
<<: *binary_common
macos:
xcode: "14.0"
resource_class: large
steps:
- checkout
- 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
environment:
USE_FFMPEG: true
USE_OPENMP: false
- run:
name: Run tests
command: .circleci/unittest/linux/scripts/run_test.sh
environment:
TORCHAUDIO_TEST_ALLOW_SKIP_IF_NO_CMD_APPLY_CMVN_SLIDING: true
TORCHAUDIO_TEST_ALLOW_SKIP_IF_NO_CMD_COMPUTE_FBANK_FEATS: true
TORCHAUDIO_TEST_ALLOW_SKIP_IF_NO_CMD_COMPUTE_KALDI_PITCH_FEATS: true
TORCHAUDIO_TEST_ALLOW_SKIP_IF_NO_CMD_COMPUTE_MFCC_FEATS: true
TORCHAUDIO_TEST_ALLOW_SKIP_IF_NO_CMD_COMPUTE_SPECTROGRAM_FEATS: true
TORCHAUDIO_TEST_ALLOW_SKIP_IF_NO_CUDA: true
TORCHAUDIO_TEST_ALLOW_SKIP_IF_NO_QUANTIZATION: true
TORCHAUDIO_TEST_ALLOW_SKIP_IF_ON_PYTHON_310: true
TORCHAUDIO_TEST_ALLOW_SKIP_IF_NO_MOD_sentencepiece: true
- 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:
<<: *smoke_test_common
resource_class: 2xlarge+
steps:
- attach_workspace:
at: ~/workspace
- checkout
- designate_upload_channel
- load_conda_channel_flags
- run:
name: Install packages
command: |
set -x
source /usr/local/etc/profile.d/conda.sh && conda activate python${PYTHON_VERSION}
if [[ "$CU_VERSION" == cu116 || "$CU_VERSION" == cu117 ]]; then
conda install -v -y -c pytorch-${UPLOAD_CHANNEL} -c nvidia pytorch pytorch-cuda=${CU_VERSION:2:2}.${CU_VERSION:4}
else
conda install -v -y -c pytorch-${UPLOAD_CHANNEL} pytorch cudatoolkit=${CU_VERSION:2:2}.${CU_VERSION:4}
fi
conda install -v -y -c file://$HOME/workspace/conda-bld torchaudio
# gxx_linux-64 is for installing pesq library that depends on cython
conda install -y pandoc 'ffmpeg<5' gxx_linux-64
apt update -qq && apt-get -qq install -y git make
pip install --progress-bar off -r docs/requirements.txt -r docs/requirements-tutorials.txt
- run:
name: Build docs
command: |
source /usr/local/etc/profile.d/conda.sh && conda activate python${PYTHON_VERSION}
cd docs
make 'SPHINXOPTS=-W' html
cd build
tar -czf artifact.tar.gz html
mv artifact.tar.gz html
environment:
BUILD_GALLERY: 1
TORCH_SHOW_CPP_STACKTRACES: 1
no_output_timeout: 30m
- 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
# turn v1.12.0rc3 into 1.12.0
tag=$(echo $CIRCLE_TAG | sed -e 's/v*\([0-9.]*\).*/\1/')
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:
lint:
jobs:
- lint_python_and_config
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) }}
#!/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 os.path
import jinja2
import yaml
from jinja2 import select_autoescape
PYTHON_VERSIONS = ["3.7", "3.8", "3.9", "3.10"]
CU_VERSIONS_DICT = {
"linux": ["cpu", "cu116", "cu117", "rocm5.1.1", "rocm5.2"],
"windows": ["cpu", "cu116", "cu117"],
"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 os_type in ["linux", "macos", "windows"]:
w += build_ffmpeg_job(os_type, 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",
}
if filter_branch:
job["filters"] = gen_filter_branch_tree(filter_branch)
return [{"download_third_parties": job}]
def build_ffmpeg_job(os_type, filter_branch):
job = {
"name": f"build_ffmpeg_{os_type}",
"requires": ["download_third_parties"],
}
if filter_branch:
job["filters"] = gen_filter_branch_tree(filter_branch)
job["python_version"] = "foo"
return [{f"build_ffmpeg_{os_type}": 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 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",
"cuda_version": "cu116",
"requires": [
"binary_linux_conda_py3.8_cu116",
],
}
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,
"requires": [f"build_ffmpeg_{os_type}"],
}
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):
smoke_suffix = f"smoke_test_{pydistro}".format(pydistro=pydistro)
d = {
"name": f"{base_workflow_name}_{smoke_suffix}",
"requires": [base_workflow_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" or os_type == "windows") 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_python_versions(os):
return {
"windows": PYTHON_VERSIONS[:1],
"macos": PYTHON_VERSIONS[:1],
"linux": PYTHON_VERSIONS,
}.get(os)
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(unittest_python_versions(os_type)):
job = {
"name": f"unittest_{os_type}_{device_type}_py{python_version}",
"python_version": python_version,
"cuda_version": "cpu" if device_type == "cpu" else "cu116",
"requires": ["download_third_parties"],
}
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",
}
}
)
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
# to test the build use : docker build . -t torchaudio/smoketest
# to upload the Dockerfile use build_and_push.sh script
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 -c conda-forge gcc \
&& 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.7 python=3.7
RUN conda create -y --name python3.8 python=3.8
RUN conda create -y --name python3.9 python=3.9
RUN conda create -y --name python3.10 python=3.10
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.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
RUN source /usr/local/etc/profile.d/conda.sh && conda activate python3.9 && conda install -y -c conda-forge sox && conda install -y numpy
RUN source /usr/local/etc/profile.d/conda.sh && conda activate python3.10 && conda install -y -c conda-forge sox && conda install -y numpy
CMD [ "/bin/bash"]
#!/usr/bin/env bash
set -euo pipefail
datestr="$(date "+%Y%m%d")"
image="pytorch/torchaudio_unittest_base:smoke_test-${datestr}"
docker build -t "${image}" .
docker push "${image}"
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
version="cpu"
else
version="$(python -c "print('.'.join(\"${CUDA_VERSION}\".split('.')[:2]))")"
export CUDATOOLKIT_CHANNEL="nvidia"
cudatoolkit="pytorch-cuda=${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'
pytorch_build=pytorch
else
MKL_CONSTRAINT=''
pytorch_build="pytorch[build="*${version}*"]"
fi
set -x
if [[ -z "$cudatoolkit" ]]; then
conda install ${CONDA_CHANNEL_FLAGS:-} -y -c "pytorch-${UPLOAD_CHANNEL}" $MKL_CONSTRAINT "pytorch-${UPLOAD_CHANNEL}::${pytorch_build}"
else
conda install pytorch ${cudatoolkit} ${CONDA_CHANNEL_FLAGS:-} -y -c "pytorch-${UPLOAD_CHANNEL}" -c nvidia $MKL_CONSTRAINT
fi
)
# 2. Install torchaudio
printf "* Installing torchaudio\n"
python setup.py install
# 3. Install Test tools
printf "* Installing test tools\n"
NUMBA_DEV_CHANNEL=""
if [[ "$(python --version)" = *3.9* || "$(python --version)" = *3.10* ]]; then
# Numba isn't available for Python 3.9 and 3.10 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==1.7.3' transformers expecttest unidecode inflect Pillow sentencepiece pytorch-lightning 'protobuf<4.21.0' demucs tinytag
)
# 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 -y flake8==3.9.2
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 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
python -m torch.utils.collect_env
env | grep TORCHAUDIO || true
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"
curl --silent -L -o miniconda.sh "http://repo.continuum.io/miniconda/Miniconda3-latest-${os}-x86_64.sh"
bash ./miniconda.sh -b -f -p "${conda_dir}"
fi
eval "$("${conda_dir}/bin/conda" shell.bash hook)"
# 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
conda install --quiet -y 'ffmpeg>=4.1' pkg-config
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