diff --git a/.github/workflows/build-wheels-windows.yml b/.github/workflows/build-wheels-windows.yml new file mode 100644 index 00000000000..e238135979c --- /dev/null +++ b/.github/workflows/build-wheels-windows.yml @@ -0,0 +1,54 @@ +name: Build Windows Wheels + +on: + pull_request: + push: + branches: + - nightly + - main + - release/* + tags: + # NOTE: Binary build pipelines should only get triggered on release candidate builds + # Release candidate tags look like: v1.11.0-rc1 + - v[0-9]+.[0-9]+.[0-9]+-rc[0-9]+ + workflow_dispatch: + +jobs: + generate-matrix: + uses: pytorch/test-infra/.github/workflows/generate_binary_build_matrix.yml@main + with: + package-type: wheel + os: windows + test-infra-repository: pytorch/test-infra + test-infra-ref: main + build: + needs: generate-matrix + strategy: + fail-fast: false + matrix: + include: + - repository: pytorch/vision + pre-script: packaging/pre_build_script.sh + env-script: packaging/windows/internal/vc_env_helper.bat + post-script: "python packaging/wheel/relocate.py" + smoke-test-script: test/smoke_test.py + package-name: torchvision + name: ${{ matrix.repository }} + uses: pytorch/test-infra/.github/workflows/build_wheels_windows.yml@main + with: + repository: ${{ matrix.repository }} + ref: "" + test-infra-repository: pytorch/test-infra + test-infra-ref: main + build-matrix: ${{ needs.generate-matrix.outputs.matrix }} + pre-script: ${{ matrix.pre-script }} + env-script: ${{ matrix.env-script }} + post-script: ${{ matrix.post-script }} + package-name: ${{ matrix.package-name }} + smoke-test-script: ${{ matrix.smoke-test-script }} + # Using "development" as trigger event so these binaries are not uploaded + # to official channels yet + trigger-event: development + secrets: + AWS_PYTORCH_UPLOADER_ACCESS_KEY_ID: ${{ secrets.AWS_PYTORCH_UPLOADER_ACCESS_KEY_ID }} + AWS_PYTORCH_UPLOADER_SECRET_ACCESS_KEY: ${{ secrets.AWS_PYTORCH_UPLOADER_SECRET_ACCESS_KEY }} diff --git a/packaging/pre_build_script.sh b/packaging/pre_build_script.sh index 5dfde238601..d02a13fdee2 100644 --- a/packaging/pre_build_script.sh +++ b/packaging/pre_build_script.sh @@ -1,5 +1,5 @@ #!/bin/bash -if [[ "$(uname)" == Darwin || "$OSTYPE" == "msys" ]]; then +if [[ "$(uname)" == Darwin ]]; then # Uninstall Conflicting jpeg brew formulae jpeg_packages=$(brew list | grep jpeg) echo "Existing Jpeg-related Brew libraries" @@ -8,10 +8,13 @@ if [[ "$(uname)" == Darwin || "$OSTYPE" == "msys" ]]; then brew uninstall --ignore-dependencies --force $pkg || true done + conda install -yq wget +fi + +if [[ "$(uname)" == Darwin || "$OSTYPE" == "msys" ]]; then # Install libpng from Anaconda (defaults) conda install ${CONDA_CHANNEL_FLAGS} libpng "jpeg<=9b" -y conda install -yq ffmpeg=4.2 -c pytorch - conda install -yq wget else # Install native CentOS libJPEG, freetype and GnuTLS yum install -y libjpeg-turbo-devel freetype gnutls