Unverified Commit e3a47080 authored by peterjc123's avatar peterjc123 Committed by GitHub
Browse files

Add windows binary jobs (#642)

* Add windows binary jobs

* Make wheel package platform-specific and python-version-specific
parent 93cc6da7
...@@ -132,6 +132,45 @@ jobs: ...@@ -132,6 +132,45 @@ jobs:
paths: paths:
- "*" - "*"
binary_windows_wheel:
<<: *binary_common
executor:
name: windows-cpu
steps:
- checkout
- run:
name: build
command: |
eval "$('/C/tools/miniconda3/Scripts/conda.exe' 'shell.bash' 'hook')"
conda activate base
bash packaging/build_wheel.sh
- store_artifacts:
path: dist
- persist_to_workspace:
root: dist
paths:
- "*"
binary_windows_conda:
<<: *binary_common
executor:
name: windows-cpu
steps:
- checkout
- 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"
bash packaging/build_conda.sh
- store_artifacts:
path: C:/tools/miniconda3/conda-bld/win-64
- persist_to_workspace:
root: C:/tools/miniconda3/conda-bld/win-64
paths:
- "*"
# Requires org-member context # Requires org-member context
binary_conda_upload: binary_conda_upload:
docker: docker:
...@@ -403,6 +442,15 @@ workflows: ...@@ -403,6 +442,15 @@ workflows:
- binary_macos_wheel: - binary_macos_wheel:
name: binary_macos_wheel_py3.8 name: binary_macos_wheel_py3.8
python_version: '3.8' python_version: '3.8'
- binary_windows_wheel:
name: binary_windows_wheel_py3.6
python_version: '3.6'
- binary_windows_wheel:
name: binary_windows_wheel_py3.7
python_version: '3.7'
- binary_windows_wheel:
name: binary_windows_wheel_py3.8
python_version: '3.8'
- binary_linux_conda: - binary_linux_conda:
name: binary_linux_conda_py3.6 name: binary_linux_conda_py3.6
python_version: '3.6' python_version: '3.6'
...@@ -421,6 +469,15 @@ workflows: ...@@ -421,6 +469,15 @@ workflows:
- binary_macos_conda: - binary_macos_conda:
name: binary_macos_conda_py3.8 name: binary_macos_conda_py3.8
python_version: '3.8' python_version: '3.8'
- binary_windows_conda:
name: binary_windows_conda_py3.6
python_version: '3.6'
- binary_windows_conda:
name: binary_windows_conda_py3.7
python_version: '3.7'
- binary_windows_conda:
name: binary_windows_conda_py3.8
python_version: '3.8'
unittest: unittest:
jobs: jobs:
- unittest_linux_cpu: - unittest_linux_cpu:
...@@ -591,6 +648,48 @@ workflows: ...@@ -591,6 +648,48 @@ workflows:
name: nightly_binary_macos_wheel_py3.8_upload name: nightly_binary_macos_wheel_py3.8_upload
requires: requires:
- nightly_binary_macos_wheel_py3.8 - nightly_binary_macos_wheel_py3.8
- binary_windows_wheel:
filters:
branches:
only: nightly
name: nightly_binary_windows_wheel_py3.6
python_version: '3.6'
- binary_wheel_upload:
context: org-member
filters:
branches:
only: nightly
name: nightly_binary_windows_wheel_py3.6_upload
requires:
- nightly_binary_windows_wheel_py3.6
- binary_windows_wheel:
filters:
branches:
only: nightly
name: nightly_binary_windows_wheel_py3.7
python_version: '3.7'
- binary_wheel_upload:
context: org-member
filters:
branches:
only: nightly
name: nightly_binary_windows_wheel_py3.7_upload
requires:
- nightly_binary_windows_wheel_py3.7
- binary_windows_wheel:
filters:
branches:
only: nightly
name: nightly_binary_windows_wheel_py3.8
python_version: '3.8'
- binary_wheel_upload:
context: org-member
filters:
branches:
only: nightly
name: nightly_binary_windows_wheel_py3.8_upload
requires:
- nightly_binary_windows_wheel_py3.8
- binary_linux_conda: - binary_linux_conda:
filters: filters:
branches: branches:
...@@ -699,6 +798,48 @@ workflows: ...@@ -699,6 +798,48 @@ workflows:
name: nightly_binary_macos_conda_py3.8_upload name: nightly_binary_macos_conda_py3.8_upload
requires: requires:
- nightly_binary_macos_conda_py3.8 - nightly_binary_macos_conda_py3.8
- binary_windows_conda:
filters:
branches:
only: nightly
name: nightly_binary_windows_conda_py3.6
python_version: '3.6'
- binary_conda_upload:
context: org-member
filters:
branches:
only: nightly
name: nightly_binary_windows_conda_py3.6_upload
requires:
- nightly_binary_windows_conda_py3.6
- binary_windows_conda:
filters:
branches:
only: nightly
name: nightly_binary_windows_conda_py3.7
python_version: '3.7'
- binary_conda_upload:
context: org-member
filters:
branches:
only: nightly
name: nightly_binary_windows_conda_py3.7_upload
requires:
- nightly_binary_windows_conda_py3.7
- binary_windows_conda:
filters:
branches:
only: nightly
name: nightly_binary_windows_conda_py3.8
python_version: '3.8'
- binary_conda_upload:
context: org-member
filters:
branches:
only: nightly
name: nightly_binary_windows_conda_py3.8_upload
requires:
- nightly_binary_windows_conda_py3.8
docker_build: docker_build:
triggers: triggers:
- schedule: - schedule:
......
...@@ -132,6 +132,45 @@ jobs: ...@@ -132,6 +132,45 @@ jobs:
paths: paths:
- "*" - "*"
binary_windows_wheel:
<<: *binary_common
executor:
name: windows-cpu
steps:
- checkout
- run:
name: build
command: |
eval "$('/C/tools/miniconda3/Scripts/conda.exe' 'shell.bash' 'hook')"
conda activate base
bash packaging/build_wheel.sh
- store_artifacts:
path: dist
- persist_to_workspace:
root: dist
paths:
- "*"
binary_windows_conda:
<<: *binary_common
executor:
name: windows-cpu
steps:
- checkout
- 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"
bash packaging/build_conda.sh
- store_artifacts:
path: C:/tools/miniconda3/conda-bld/win-64
- persist_to_workspace:
root: C:/tools/miniconda3/conda-bld/win-64
paths:
- "*"
# Requires org-member context # Requires org-member context
binary_conda_upload: binary_conda_upload:
docker: docker:
......
...@@ -25,7 +25,7 @@ PYTHON_VERSIONS = ["3.6", "3.7", "3.8"] ...@@ -25,7 +25,7 @@ PYTHON_VERSIONS = ["3.6", "3.7", "3.8"]
def build_workflows(prefix='', upload=False, filter_branch=None, indentation=6): def build_workflows(prefix='', upload=False, filter_branch=None, indentation=6):
w = [] w = []
for btype in ["wheel", "conda"]: for btype in ["wheel", "conda"]:
for os_type in ["linux", "macos"]: for os_type in ["linux", "macos", "windows"]:
for python_version in PYTHON_VERSIONS: for python_version in PYTHON_VERSIONS:
w += build_workflow_pair(btype, os_type, python_version, filter_branch, prefix, upload) w += build_workflow_pair(btype, os_type, python_version, filter_branch, prefix, upload)
......
...@@ -8,8 +8,15 @@ export BUILD_TYPE="wheel" ...@@ -8,8 +8,15 @@ export BUILD_TYPE="wheel"
export NO_CUDA_PACKAGE=1 export NO_CUDA_PACKAGE=1
setup_env 0.6.0 setup_env 0.6.0
setup_wheel_python setup_wheel_python
"$script_dir/build_from_source.sh" "$(pwd)" # Build static dependencies if [[ "$OSTYPE" != "msys" ]]; then
"$script_dir/build_from_source.sh" "$(pwd)" # Build static dependencies
fi
pip_install numpy future pip_install numpy future
setup_pip_pytorch_version setup_pip_pytorch_version
python setup.py clean python setup.py clean
IS_WHEEL=1 python setup.py bdist_wheel if [[ "$OSTYPE" == "msys" ]]; then
python_tag="$(echo "cp$PYTHON_VERSION" | tr -d '.')"
IS_WHEEL=1 python setup.py bdist_wheel --plat-name win_amd64 --python-tag $python_tag
else
IS_WHEEL=1 python setup.py bdist_wheel
fi
...@@ -122,7 +122,7 @@ retry () { ...@@ -122,7 +122,7 @@ retry () {
# #
# Precondition: If Linux, you are in a soumith/manylinux-cuda* Docker image # Precondition: If Linux, you are in a soumith/manylinux-cuda* Docker image
setup_wheel_python() { setup_wheel_python() {
if [[ "$(uname)" == Darwin ]]; then if [[ "$(uname)" == Darwin || "$OSTYPE" == "msys" ]]; then
eval "$(conda shell.bash hook)" eval "$(conda shell.bash hook)"
conda env remove -n "env$PYTHON_VERSION" || true conda env remove -n "env$PYTHON_VERSION" || true
conda create -yn "env$PYTHON_VERSION" python="$PYTHON_VERSION" conda create -yn "env$PYTHON_VERSION" python="$PYTHON_VERSION"
......
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