diff --git a/.github/workflows/build-m1-binaries.yml b/.github/workflows/build-m1-binaries.yml deleted file mode 100644 index 8118fe35b15..00000000000 --- a/.github/workflows/build-m1-binaries.yml +++ /dev/null @@ -1,140 +0,0 @@ -name: Build on M1 -on: - pull_request: - paths: - - .github/workflows/build-m1-binaries.yml - 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: -env: - CHANNEL: "nightly" -jobs: - build_wheels: - name: "Build TorchVision M1 wheels" - runs-on: macos-m1-12 - strategy: - matrix: - py_vers: [ "3.8", "3.9", "3.10" ] - steps: - - name: Checkout repository - uses: actions/checkout@v2 - - name: Set CHANNEL (only for tagged pushes) - if: ${{ github.event_name == 'push' && startsWith(github.event.ref, 'refs/tags/') }} - run: | - # reference ends with an RC suffix - if [[ ${GITHUB_REF_NAME} = *-rc[0-9]* ]]; then - echo "CHANNEL=test" >> "$GITHUB_ENV" - fi - - name: Set Release CHANNEL (for release) - if: ${{ (github.event_name == 'pull_request' && startsWith(github.base_ref, 'release')) || startsWith(github.ref, 'refs/heads/release') }} - run: | - echo "CHANNEL=test" >> "$GITHUB_ENV" - - name: Setup miniconda - uses: pytorch/test-infra/.github/actions/setup-miniconda@main - - name: Build TorchVision M1 wheel - shell: arch -arch arm64 bash {0} - env: - ENV_NAME: conda-env-${{ github.run_id }} - PY_VERS: ${{ matrix.py_vers }} - run: | - # Needed for JPEG library detection as setup.py detects conda presence by running `shutil.which('conda')` - set -ex - . packaging/pkg_helpers.bash - # if we are uploading to test channell, our version consist only of the base: 0.x.x - no date string or suffix added - if [[ $CHANNEL == "test" ]]; then - setup_base_build_version - else - setup_build_version - fi - - conda create -yp ${ENV_NAME} python=${PY_VERS} numpy libpng jpeg wheel pkg-config - conda run -p ${ENV_NAME} python3 -mpip install torch --pre --extra-index-url=https://download.pytorch.org/whl/${CHANNEL} - conda run -p ${ENV_NAME} python3 -mpip install delocate - conda run -p ${ENV_NAME} python3 setup.py bdist_wheel - export PYTORCH_VERSION="$(conda run -p ${ENV_NAME} python3 -mpip show torch | grep ^Version: | sed 's/Version: *//')" - conda run -p ${ENV_NAME} DYLD_FALLBACK_LIBRARY_PATH="${ENV_NAME}/lib" delocate-wheel -v --ignore-missing-dependencies dist/*.whl - conda env remove -p ${ENV_NAME} - - name: Test wheel - shell: arch -arch arm64 bash {0} - env: - ENV_NAME: conda-test-env-${{ github.run_id }} - PY_VERS: ${{ matrix.py_vers }} - run: | - set -ex - conda create -yp ${ENV_NAME} python=${PY_VERS} numpy - conda run -p ${ENV_NAME} python3 -mpip install torch --pre --extra-index-url=https://download.pytorch.org/whl/${CHANNEL} - conda run -p ${ENV_NAME} python3 -mpip install dist/*.whl - # Test torch is importable, by changing cwd and running import commands - conda run --cwd /tmp -p ${ENV_NAME} python3 -c "import torchvision;print('torchvision version is ', torchvision.__version__)" - conda run --cwd /tmp -p ${ENV_NAME} python3 -c "import torch;import torchvision;print('Is torchvision useable?', all(x is not None for x in [torch.ops.image.decode_png, torch.ops.torchvision.roi_align]))" - conda run --cwd /tmp -p ${ENV_NAME} python3 -c "import torchvision;print(torchvision.io.read_image('${PWD}/gallery/assets/dog1.jpg').shape)" - conda env remove -p ${ENV_NAME} - - name: Upload wheel to GitHub - uses: actions/upload-artifact@v3 - with: - name: torchvision-py${{ matrix.py_vers }}-macos11-m1 - path: dist/ - build_conda: - name: "Build TorchVision M1 conda packages" - runs-on: macos-m1-12 - strategy: - matrix: - py_vers: [ "3.8", "3.9", "3.10" ] - steps: - - name: Checkout repository - uses: actions/checkout@v2 - - name: Set CHANNEL (only for tagged pushes) - if: ${{ github.event_name == 'push' && startsWith(github.event.ref, 'refs/tags/') }} - run: | - # reference ends with an RC suffix - if [[ ${GITHUB_REF_NAME} = *-rc[0-9]* ]]; then - echo "CHANNEL=test" >> "$GITHUB_ENV" - fi - - name: Set CHANNEL Release (for release) - if: ${{ (github.event_name == 'pull_request' && startsWith(github.base_ref, 'release')) || startsWith(github.ref, 'refs/heads/release') }} - run: | - echo "CHANNEL=test" >> "$GITHUB_ENV" - - name: Setup miniconda - uses: pytorch/test-infra/.github/actions/setup-miniconda@main - - name: Install conda-build and purge previous artifacts - shell: arch -arch arm64 bash {0} - run: | - conda install -yq conda-build - conda build purge-all - - name: Build TorchVision M1 conda package - shell: arch -arch arm64 bash {0} - env: - ENV_NAME: conda-env-${{ github.run_id }} - PYTHON_VERSION: ${{ matrix.py_vers }} - CU_VERSION: cpu - run: | - set -ex - . packaging/pkg_helpers.bash - - if [[ $CHANNEL == "test" ]]; then - setup_base_build_version - else - setup_build_version - fi - - setup_conda_pytorch_constraint - export SOURCE_ROOT_DIR=$(pwd) - conda build \ - -c defaults \ - $CONDA_CHANNEL_FLAGS \ - --no-anaconda-upload \ - --python "$PYTHON_VERSION" \ - --output-folder=dist/ \ - packaging/torchvision - - name: Upload package to GitHub - uses: actions/upload-artifact@v3 - with: - name: torchvision-py${{ matrix.py_vers }}-macos11-m1-conda - path: dist/