Skip to content

Commit

Permalink
.circleci: Add Python 3.9 support
Browse files Browse the repository at this point in the history
Signed-off-by: Eli Uriegas <eliuriegas@fb.com>
  • Loading branch information
seemethere committed Dec 1, 2020
1 parent 78db117 commit 71a314c
Show file tree
Hide file tree
Showing 8 changed files with 224 additions and 15 deletions.
199 changes: 194 additions & 5 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,16 @@ commands:
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=""
if [[ "$(python --version)" = *3.9* ]]; then
echo "export CONDA_CHANNEL_FLAGS=-c=conda-forge" >> ${BASH_ENV}
fi
binary_common: &binary_common
parameters:
Expand Down Expand Up @@ -88,6 +98,7 @@ jobs:
steps:
- checkout
- designate_upload_channel
- load_conda_channel_flags
- run: packaging/build_conda.sh
- store_artifacts:
path: /opt/conda/conda-bld/linux-64
Expand Down Expand Up @@ -123,12 +134,13 @@ jobs:
steps:
- checkout
- designate_upload_channel
- load_conda_channel_flags
- run:
name: build
command: |
eval "$('/C/tools/miniconda3/Scripts/conda.exe' 'shell.bash' 'hook')"
conda activate base
conda install -yq conda-build "conda-package-handling!=1.5.0"
conda install ${CONDA_CHANNEL_FLAGS} -yq conda-build "conda-package-handling!=1.5.0"
bash packaging/build_conda.sh
rm /C/tools/miniconda3/conda-bld/win-64/vs2019*.tar.bz2
- store_artifacts:
Expand Down Expand Up @@ -171,6 +183,7 @@ jobs:
steps:
- checkout
- designate_upload_channel
- load_conda_channel_flags
- run:
command: |
curl -o conda.sh https://repo.anaconda.com/miniconda/Miniconda3-latest-MacOSX-x86_64.sh
Expand Down Expand Up @@ -228,13 +241,14 @@ jobs:
- attach_workspace:
at: ~/workspace
- designate_upload_channel
- load_conda_channel_flags
- run:
name: install binaries
command: |
set -x
source /usr/local/etc/profile.d/conda.sh && conda activate python${PYTHON_VERSION}
conda install -v -y -c pytorch-${UPLOAD_CHANNEL} pytorch
conda install -v -y -c file://$HOME/workspace/conda-bld torchtext
conda install -v -y ${CONDA_CHANNEL_FLAGS} -c pytorch-${UPLOAD_CHANNEL} pytorch
conda install -v -y ${CONDA_CHANNEL_FLAGS} -c file://$HOME/workspace/conda-bld torchtext
- run:
name: smoke test
command: |
Expand Down Expand Up @@ -287,6 +301,7 @@ jobs:
- attach_workspace:
at: ~/workspace
- designate_upload_channel
- load_conda_channel_flags
- run:
name: install binaries
command: |
Expand All @@ -295,8 +310,8 @@ jobs:
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
conda install -v -y -c ~/workspace/conda-bld torchtext
conda install -v -y ${CONDA_CHANNEL_FLAGS} -c pytorch-"${UPLOAD_CHANNEL}" pytorch
conda install -v -y ${CONDA_CHANNEL_FLAGS} -c ~/workspace/conda-bld torchtext
- run:
name: smoke test
command: |
Expand Down Expand Up @@ -336,6 +351,7 @@ jobs:
steps:
- checkout
- designate_upload_channel
- load_conda_channel_flags
- run:
name: Generate cache key
# This will refresh cache on Sundays, nightly build should generate new cache.
Expand Down Expand Up @@ -388,6 +404,7 @@ jobs:
steps:
- checkout
- designate_upload_channel
- load_conda_channel_flags
- run:
name: Generate cache key
# This will refresh cache on Sundays, nightly build should generate new cache.
Expand Down Expand Up @@ -477,6 +494,9 @@ workflows:
- binary_linux_wheel:
name: binary_linux_wheel_py3.8
python_version: '3.8'
- binary_linux_wheel:
name: binary_linux_wheel_py3.9
python_version: '3.9'
- binary_macos_wheel:
name: binary_macos_wheel_py3.6
python_version: '3.6'
Expand All @@ -486,6 +506,9 @@ workflows:
- binary_macos_wheel:
name: binary_macos_wheel_py3.8
python_version: '3.8'
- binary_macos_wheel:
name: binary_macos_wheel_py3.9
python_version: '3.9'
- binary_windows_wheel:
name: binary_windows_wheel_py3.6
python_version: '3.6'
Expand All @@ -495,6 +518,9 @@ workflows:
- binary_windows_wheel:
name: binary_windows_wheel_py3.8
python_version: '3.8'
- binary_windows_wheel:
name: binary_windows_wheel_py3.9
python_version: '3.9'
- binary_linux_conda:
name: binary_linux_conda_py3.6
python_version: '3.6'
Expand All @@ -504,6 +530,9 @@ workflows:
- binary_linux_conda:
name: binary_linux_conda_py3.8
python_version: '3.8'
- binary_linux_conda:
name: binary_linux_conda_py3.9
python_version: '3.9'
- binary_macos_conda:
name: binary_macos_conda_py3.6
python_version: '3.6'
Expand All @@ -513,6 +542,9 @@ workflows:
- binary_macos_conda:
name: binary_macos_conda_py3.8
python_version: '3.8'
- binary_macos_conda:
name: binary_macos_conda_py3.9
python_version: '3.9'
- binary_windows_conda:
name: binary_windows_conda_py3.6
python_version: '3.6'
Expand All @@ -522,6 +554,9 @@ workflows:
- binary_windows_conda:
name: binary_windows_conda_py3.8
python_version: '3.8'
- binary_windows_conda:
name: binary_windows_conda_py3.9
python_version: '3.9'
unittest:
jobs:
- unittest_linux:
Expand All @@ -536,6 +571,9 @@ workflows:
- unittest_linux:
name: unittest_linux_py3.8
python_version: '3.8'
- unittest_linux:
name: unittest_linux_py3.9
python_version: '3.9'
- unittest_windows:
name: unittest_windows_py3.6
python_version: '3.6'
Expand All @@ -545,6 +583,9 @@ workflows:
- unittest_windows:
name: unittest_windows_py3.8
python_version: '3.8'
- unittest_windows:
name: unittest_windows_py3.9
python_version: '3.9'
nightly:
jobs:
- circleci_consistency:
Expand Down Expand Up @@ -635,6 +676,34 @@ workflows:
python_version: '3.8'
requires:
- nightly_binary_linux_wheel_py3.8_upload
- binary_linux_wheel:
filters:
branches:
only: nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_wheel_py3.9
python_version: '3.9'
- binary_wheel_upload:
context: org-member
filters:
branches:
only: nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_wheel_py3.9_upload
requires:
- nightly_binary_linux_wheel_py3.9
- smoke_test_linux_pip:
filters:
branches:
only: nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_wheel_py3.9_smoke_test_pip
python_version: '3.9'
requires:
- nightly_binary_linux_wheel_py3.9_upload
- binary_macos_wheel:
filters:
branches:
Expand Down Expand Up @@ -689,6 +758,24 @@ workflows:
name: nightly_binary_macos_wheel_py3.8_upload
requires:
- nightly_binary_macos_wheel_py3.8
- binary_macos_wheel:
filters:
branches:
only: nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_macos_wheel_py3.9
python_version: '3.9'
- binary_wheel_upload:
context: org-member
filters:
branches:
only: nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_macos_wheel_py3.9_upload
requires:
- nightly_binary_macos_wheel_py3.9
- binary_windows_wheel:
filters:
branches:
Expand Down Expand Up @@ -773,6 +860,34 @@ workflows:
python_version: '3.8'
requires:
- nightly_binary_windows_wheel_py3.8_upload
- binary_windows_wheel:
filters:
branches:
only: nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_windows_wheel_py3.9
python_version: '3.9'
- binary_wheel_upload:
context: org-member
filters:
branches:
only: nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_windows_wheel_py3.9_upload
requires:
- nightly_binary_windows_wheel_py3.9
- smoke_test_windows_pip:
filters:
branches:
only: nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_windows_wheel_py3.9_smoke_test_pip
python_version: '3.9'
requires:
- nightly_binary_windows_wheel_py3.9_upload
- binary_linux_conda:
filters:
branches:
Expand Down Expand Up @@ -857,6 +972,34 @@ workflows:
python_version: '3.8'
requires:
- nightly_binary_linux_conda_py3.8_upload
- binary_linux_conda:
filters:
branches:
only: nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_conda_py3.9
python_version: '3.9'
- binary_conda_upload:
context: org-member
filters:
branches:
only: nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_conda_py3.9_upload
requires:
- nightly_binary_linux_conda_py3.9
- smoke_test_linux_conda:
filters:
branches:
only: nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_linux_conda_py3.9_smoke_test_conda
python_version: '3.9'
requires:
- nightly_binary_linux_conda_py3.9_upload
- binary_macos_conda:
filters:
branches:
Expand Down Expand Up @@ -911,6 +1054,24 @@ workflows:
name: nightly_binary_macos_conda_py3.8_upload
requires:
- nightly_binary_macos_conda_py3.8
- binary_macos_conda:
filters:
branches:
only: nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_macos_conda_py3.9
python_version: '3.9'
- binary_conda_upload:
context: org-member
filters:
branches:
only: nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_macos_conda_py3.9_upload
requires:
- nightly_binary_macos_conda_py3.9
- binary_windows_conda:
filters:
branches:
Expand Down Expand Up @@ -995,6 +1156,34 @@ workflows:
python_version: '3.8'
requires:
- nightly_binary_windows_conda_py3.8_upload
- binary_windows_conda:
filters:
branches:
only: nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_windows_conda_py3.9
python_version: '3.9'
- binary_conda_upload:
context: org-member
filters:
branches:
only: nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_windows_conda_py3.9_upload
requires:
- nightly_binary_windows_conda_py3.9
- smoke_test_windows_conda:
filters:
branches:
only: nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_windows_conda_py3.9_smoke_test_conda
python_version: '3.9'
requires:
- nightly_binary_windows_conda_py3.9_upload
docker_build:
triggers:
- schedule:
Expand Down
Loading

0 comments on commit 71a314c

Please sign in to comment.