From 195257287caf918ca8c1723d27e00ee68f1c8530 Mon Sep 17 00:00:00 2001 From: atalman Date: Wed, 26 Apr 2023 14:22:55 -0700 Subject: [PATCH 1/5] Adding windows wheel builds --- .github/workflows/build-wheels-windows.yml | 44 ++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 .github/workflows/build-wheels-windows.yml diff --git a/.github/workflows/build-wheels-windows.yml b/.github/workflows/build-wheels-windows.yml new file mode 100644 index 00000000000..dd512bf0941 --- /dev/null +++ b/.github/workflows/build-wheels-windows.yml @@ -0,0 +1,44 @@ +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: + 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 }} + post-script: ${{ matrix.post-script }} + package-name: ${{ matrix.package-name }} + smoke-test-script: ${{ matrix.smoke-test-script }} + trigger-event: ${{ github.event_name }} + 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 }} From 7c0913f2c87d5c84c048e31d331751645f61923e Mon Sep 17 00:00:00 2001 From: atalman Date: Wed, 26 Apr 2023 14:28:29 -0700 Subject: [PATCH 2/5] adding generate matrix --- .github/workflows/build-wheels-windows.yml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/.github/workflows/build-wheels-windows.yml b/.github/workflows/build-wheels-windows.yml index dd512bf0941..6d98a0864c8 100644 --- a/.github/workflows/build-wheels-windows.yml +++ b/.github/workflows/build-wheels-windows.yml @@ -14,6 +14,13 @@ on: 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: From a29faf586b8487f15d755eeaa360a517ebbcb4e3 Mon Sep 17 00:00:00 2001 From: atalman Date: Mon, 1 May 2023 09:35:35 -0700 Subject: [PATCH 3/5] Fix windows wheel builds --- .github/workflows/build-wheels-windows.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/build-wheels-windows.yml b/.github/workflows/build-wheels-windows.yml index 6d98a0864c8..3d818ece538 100644 --- a/.github/workflows/build-wheels-windows.yml +++ b/.github/workflows/build-wheels-windows.yml @@ -42,6 +42,7 @@ jobs: 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 }} From 1989a9f40083f3c251ad62e758a165f1f1c11a36 Mon Sep 17 00:00:00 2001 From: atalman Date: Mon, 1 May 2023 12:48:06 -0700 Subject: [PATCH 4/5] Address comments --- .github/workflows/build-wheels-windows.yml | 4 +++- packaging/pre_build_script.sh | 9 ++++++--- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build-wheels-windows.yml b/.github/workflows/build-wheels-windows.yml index 3d818ece538..e238135979c 100644 --- a/.github/workflows/build-wheels-windows.yml +++ b/.github/workflows/build-wheels-windows.yml @@ -46,7 +46,9 @@ jobs: post-script: ${{ matrix.post-script }} package-name: ${{ matrix.package-name }} smoke-test-script: ${{ matrix.smoke-test-script }} - trigger-event: ${{ github.event_name }} + # 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..12538f6b646 100644 --- a/packaging/pre_build_script.sh +++ b/packaging/pre_build_script.sh @@ -1,6 +1,6 @@ #!/bin/bash -if [[ "$(uname)" == Darwin || "$OSTYPE" == "msys" ]]; then - # Uninstall Conflicting jpeg brew formulae +if [[ "$(uname)" == Darwin ]]; then + # Uninstall Conflicting jpeg brew formulae jpeg_packages=$(brew list | grep jpeg) echo "Existing Jpeg-related Brew libraries" echo $jpeg_packages @@ -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 From 6f68339a4e602063c5f8d81eb30c9c7d636f19d2 Mon Sep 17 00:00:00 2001 From: atalman Date: Mon, 1 May 2023 13:21:16 -0700 Subject: [PATCH 5/5] Fix space --- packaging/pre_build_script.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packaging/pre_build_script.sh b/packaging/pre_build_script.sh index 12538f6b646..d02a13fdee2 100644 --- a/packaging/pre_build_script.sh +++ b/packaging/pre_build_script.sh @@ -1,6 +1,6 @@ #!/bin/bash if [[ "$(uname)" == Darwin ]]; then - # Uninstall Conflicting jpeg brew formulae + # Uninstall Conflicting jpeg brew formulae jpeg_packages=$(brew list | grep jpeg) echo "Existing Jpeg-related Brew libraries" echo $jpeg_packages