Revert "[Reusable workflows] MacOS - Move codegened binary builds to reusable workflows (#81447)"
This reverts commit 7ec6a6bab5016d6c219fc71d6a4ba6a13eeb0bcd.
Reverted https://github.com/pytorch/pytorch/pull/81447 on behalf of https://github.com/malfet due to Actually broke runs, see details in https://github.com/pytorch/pytorch/pull/81044
diff --git a/.github/templates/macos_binary_build_workflow.yml.j2 b/.github/templates/macos_binary_build_workflow.yml.j2
index 99ec57c..2674cb2 100644
--- a/.github/templates/macos_binary_build_workflow.yml.j2
+++ b/.github/templates/macos_binary_build_workflow.yml.j2
@@ -58,26 +58,54 @@
{%- for config in build_configs %}
!{{ config["build_name"] }}-build:
if: ${{ github.repository_owner == 'pytorch' }}
- uses: ./.github/workflows/_binary-build-macos.yml
- with:!{{ upload.binary_env_as_input(config, True) }}
- build_name: !{{ config["build_name"] }}
- build_environment: !{{ build_environment }}
- {%- if config["package_type"] == "libtorch" %}
- # libtorch builds take a long time on github hosted runners
- timeout-minutes: 720
- {%- else %}
- timeout-minutes: !{{ common.timeout_minutes }}
- {%- endif %}
- {%- if config["package_type"] == "libtorch" %}
- runs-on: macos-10.15
- {%- else %}
- runs-on: macos-12
- {%- endif %}
+ {%- if config["package_type"] == "libtorch" %}
+ runs-on: macos-10.15
+ {%- else %}
+ runs-on: macos-12
+ {%- endif %}
+{%- if config["package_type"] == "libtorch" %}
+ # libtorch builds take a long time on github hosted runners
+ timeout-minutes: 720
+{%- else %}
+ timeout-minutes: !{{ common.timeout_minutes }}
+{%- endif %}
+ !{{ upload.binary_env(config, true) }}
# For sccache access (only on non-forked PRs)
- secrets:
- github-token: ${{ secrets.GITHUB_TOKEN }}
AWS_ACCESS_KEY_ID: ${{ secrets.MACOS_SCCACHE_S3_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.MACOS_SCCACHE_S3_SECRET_ACCESS_KEY }}
-
+ steps:
+ !{{ set_runner_specific_vars() }}
+ - name: Install conda and dependencies
+ run: |
+ # Install conda, setup-miniconda messes with the path that messes with the ruby stuff we do later on
+ curl --retry 3 -o "${RUNNER_TEMP}/conda.sh" https://repo.anaconda.com/miniconda/Miniconda3-latest-MacOSX-x86_64.sh
+ chmod +x "${RUNNER_TEMP}/conda.sh"
+ /bin/bash "${RUNNER_TEMP}/conda.sh" -b -p "${RUNNER_TEMP}/anaconda"
+ echo "${RUNNER_TEMP}/anaconda/bin" >> "${GITHUB_PATH}"
+ !{{ common.checkout(deep_clone=False, directory="pytorch") }}
+ !{{ common.checkout(deep_clone=False, directory="builder", repository="pytorch/builder", branch=common.builder_branch) }}
+ - name: Install sccache (only for non-forked PRs, and pushes to trunk)
+ if: ${{ github.event_name == 'push' || github.event.pull_request.head.repo.full_name == github.repository }}
+ run: |
+ sudo curl --retry 3 https://s3.amazonaws.com/ossci-macos/sccache_v2.15 --output /usr/local/bin/sccache
+ sudo chmod +x /usr/local/bin/sccache
+ echo "SCCACHE_BUCKET=ossci-compiler-cache-circleci-v2" >> "${GITHUB_ENV}"
+ - name: Populate binary env
+ run: |
+ # shellcheck disable=SC1091
+ source "${RUNNER_TEMP}/anaconda/bin/activate"
+ "${PYTORCH_ROOT}/.circleci/scripts/binary_populate_env.sh"
+ - name: Build PyTorch binary
+ run: |
+ # shellcheck disable=SC1091
+ source "${RUNNER_TEMP}/anaconda/bin/activate"
+ "${PYTORCH_ROOT}/.circleci/scripts/binary_macos_build.sh"
+ - uses: actions/upload-artifact@v2
+ if: always()
+ with:
+ name: !{{ config["build_name"] }}
+ retention-days: 14
+ if-no-files-found: error
+ path: "${{ env.PYTORCH_FINAL_PACKAGE_DIR }}"
!{{ upload.upload_binaries(config, has_test=False, use_s3=False) }}
{%- endfor %}
diff --git a/.github/workflows/_binary-build-macos.yml b/.github/workflows/_binary-build-macos.yml
deleted file mode 100644
index bccb4a7..0000000
--- a/.github/workflows/_binary-build-macos.yml
+++ /dev/null
@@ -1,205 +0,0 @@
-name: binary-build-macos
-
-on:
- workflow_call:
- inputs:
- build_name:
- required: true
- type: string
- description: The build's name
- build_environment:
- required: true
- type: string
- description: The build environment
- timeout_minutes:
- required: true
- type: number
- description: Number of mintues to timeout after
- runs_on:
- required: true
- type: string
- description: Hardware to run this job on. Valid values are linux.4xlarge, linux.4xlarge.nvidia.gpu, and linux.rocm.gpu
- PYTORCH_ROOT:
- required: true
- type: string
- description: Root directory for the pytorch/pytorch repository
- BUILDER_ROOT:
- required: true
- type: string
- description: Root directory for the pytorch/builder repository
- PACKAGE_TYPE:
- required: true
- type: string
- description: Package type
- DESIRED_CUDA:
- required: true
- type: string
- description: Desired Cuda version
- GPU_ARCH_VERSION:
- required: false
- type: string
- description: GPU Arch version
- GPU_ARCH_TYPE:
- required: true
- type: string
- description: GPU Arch type
- DOCKER_IMAGE:
- required: true
- type: string
- description: Docker image to use
- LIBTORCH_CONFIG:
- required: false
- type: string
- description: Desired libtorch config (for libtorch builds only)
- LIBTORCH_VARIANT:
- required: false
- type: string
- description: Desired libtorch variant (for libtorch builds only)
- DESIRED_DEVTOOLSET:
- required: false
- type: string
- description: Desired dev toolset
- DESIRED_PYTHON:
- required: false
- type: string
- description: Desired python version
- secrets:
- github-token:
- required: true
- description: Github Token
- AWS_ACCESS_KEY_ID:
- required: true
- description: AWS Access Key Id
- AWS_SECRET_ACCESS_KEY:
- required: true
- description: AWS Secret Access Key
-
-jobs:
- build:
- runs-on: ${{ inputs.runs_on }}
- timeout-minutes: ${{ inputs.timeout_minutes }}
- env:
- PYTORCH_ROOT: ${{ inputs.PYTORCH_ROOT }}
- BUILDER_ROOT: ${{ inputs.BUILDER_ROOT }}
- PACKAGE_TYPE: ${{ inputs.PACKAGE_TYPE }}
- # TODO: This is a legacy variable that we eventually want to get rid of in
- # favor of GPU_ARCH_VERSION
- DESIRED_CUDA: ${{ inputs.DESIRED_CUDA }}
- GPU_ARCH_VERSION: ${{ inputs.GPU_ARCH_VERSION }}
- GPU_ARCH_TYPE: ${{ inputs.GPU_ARCH_TYPE }}
- DOCKER_IMAGE: ${{ inputs.DOCKER_IMAGE }}
- SKIP_ALL_TESTS: 1
- CROSS_COMPILE_ARM64: 1
- LIBTORCH_CONFIG: ${{ inputs.LIBTORCH_CONFIG }}
- LIBTORCH_VARIANT: ${{ inputs.LIBTORCH_VARIANT }}
- DESIRED_DEVTOOLSET: ${{ inputs.DESIRED_DEVTOOLSET }}
- DESIRED_PYTHON: ${{ inputs.DESIRED_PYTHON }}
- # Needed for conda builds
- ALPINE_IMAGE: "308535385114.dkr.ecr.us-east-1.amazonaws.com/tool/alpine"
- ANACONDA_USER: pytorch
- AWS_DEFAULT_REGION: us-east-1
- BINARY_ENV_FILE: /tmp/env
- BUILD_ENVIRONMENT: ${{ inputs.build_environment }}
- GITHUB_TOKEN: ${{ secrets.github-token }}
- AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
- AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
- PR_NUMBER: ${{ github.event.pull_request.number }}
- SHA1: ${{ github.event.pull_request.head.sha || github.sha }}
- steps:
- - name: Make the env permanent during this workflow (but not the secrets)
- shell: bash
- run: |
- {
- echo "PYTORCH_ROOT=${{ env.PYTORCH_ROOT }}"
- echo "BUILDER_ROOT=${{ env.BUILDER_ROOT }}"
- echo "PACKAGE_TYPE=${{ env.PACKAGE_TYPE }}"
-
- echo "DESIRED_CUDA=${{ env.DESIRED_CUDA }}"
- echo "GPU_ARCH_VERSION=${{ env.GPU_ARCH_VERSION }}"
- echo "GPU_ARCH_TYPE=${{ env.GPU_ARCH_TYPE }}"
- echo "DOCKER_IMAGE=${{ env.DOCKER_IMAGE }}"
- echo "SKIP_ALL_TESTS=${{ env.SKIP_ALL_TESTS }}"
- echo "CROSS_COMPILE_ARM64=${{ env.CROSS_COMPILE_ARM64 }}"
- echo "LIBTORCH_CONFIG=${{ env.LIBTORCH_CONFIG }}"
- echo "LIBTORCH_VARIANT=${{ env.LIBTORCH_VARIANT }}"
- echo "DESIRED_DEVTOOLSET=${{ env.DESIRED_DEVTOOLSET }}"
- echo "DESIRED_PYTHON=${{ env.DESIRED_PYTHON }}"
-
- echo "ALPINE_IMAGE=${{ env.ALPINE_IMAGE }}"
- echo "ANACONDA_USER=${{ env.ANACONDA_USER }}"
- echo "AWS_DEFAULT_REGION=${{ env.AWS_DEFAULT_REGION }}"
- echo "BINARY_ENV_FILE=${{ env.BINARY_ENV_FILE }}"
- echo "BUILD_ENVIRONMENT=${{ env.BUILD_ENVIRONMENT }}"
- echo "PR_NUMBER=${{ env.PR_NUMBER }}"
- echo "SHA1=${{ env.SHA1 }}"
- } >> "${GITHUB_ENV} }}"
- - name: List the env
- shell: bash
- run: env
- # NOTE: These environment variables are put here so that they can be applied on every job equally
- # They are also here because setting them at a workflow level doesn't give us access to the
- # runner.temp variable, which we need.
- - name: Populate binary env
- shell: bash
- run: |
- # shellcheck disable=SC2129
- echo "BINARY_ENV_FILE=${RUNNER_TEMP}/env" >> "${GITHUB_ENV}"
- # shellcheck disable=SC2129
- echo "PYTORCH_FINAL_PACKAGE_DIR=${RUNNER_TEMP}/artifacts" >> "${GITHUB_ENV}"
- # shellcheck disable=SC2129
- echo "MAC_PACKAGE_WORK_DIR=${RUNNER_TEMP}" >> "${GITHUB_ENV}"
- - name: Install conda and dependencies
- run: |
- # Install conda, setup-miniconda messes with the path that messes with the ruby stuff we do later on
- curl --retry 3 -o "${RUNNER_TEMP}/conda.sh" https://repo.anaconda.com/miniconda/Miniconda3-latest-MacOSX-x86_64.sh
- chmod +x "${RUNNER_TEMP}/conda.sh"
- /bin/bash "${RUNNER_TEMP}/conda.sh" -b -p "${RUNNER_TEMP}/anaconda"
- echo "${RUNNER_TEMP}/anaconda/bin" >> "${GITHUB_PATH}"
-
- - name: Checkout PyTorch
- uses: zhouzhuojie/checkout@05b13c9a0d21f08f6d5e64a1d5042246d13619d9
- with:
- ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }}
- submodules: recursive
- path: pytorch
- - name: Clean PyTorch checkout
- run: |
- # Remove any artifacts from the previous checkouts
- git clean -fxd
- working-directory: pytorch
- - name: Checkout pytorch/builder
- uses: zhouzhuojie/checkout@05b13c9a0d21f08f6d5e64a1d5042246d13619d9
- with:
- ref: main
- submodules: recursive
- repository: pytorch/builder
- path: builder
- - name: Clean pytorch/builder checkout
- run: |
- # Remove any artifacts from the previous checkouts
- git clean -fxd
- working-directory: builder
-
- - name: Install sccache (only for non-forked PRs, and pushes to trunk)
- if: ${{ github.event_name == 'push' || github.event.pull_request.head.repo.full_name == github.repository }}
- run: |
- sudo curl --retry 3 https://s3.amazonaws.com/ossci-macos/sccache_v2.15 --output /usr/local/bin/sccache
- sudo chmod +x /usr/local/bin/sccache
- echo "SCCACHE_BUCKET=ossci-compiler-cache-circleci-v2" >> "${GITHUB_ENV}"
- - name: Populate binary env
- run: |
- # shellcheck disable=SC1091
- source "${RUNNER_TEMP}/anaconda/bin/activate"
- "${PYTORCH_ROOT}/.circleci/scripts/binary_populate_env.sh"
- - name: Build PyTorch binary
- run: |
- # shellcheck disable=SC1091
- source "${RUNNER_TEMP}/anaconda/bin/activate"
- "${PYTORCH_ROOT}/.circleci/scripts/binary_macos_build.sh"
- - uses: actions/upload-artifact@v2
- if: always()
- with:
- name: ${{ inputs.build_name }}
- retention-days: 14
- if-no-files-found: error
- path: "${{ env.PYTORCH_FINAL_PACKAGE_DIR }}"
diff --git a/.github/workflows/generated-macos-arm64-binary-conda-nightly.yml b/.github/workflows/generated-macos-arm64-binary-conda-nightly.yml
index 44f0af0..65238f3 100644
--- a/.github/workflows/generated-macos-arm64-binary-conda-nightly.yml
+++ b/.github/workflows/generated-macos-arm64-binary-conda-nightly.yml
@@ -36,8 +36,9 @@
jobs:
conda-py3_8-cpu-build:
if: ${{ github.repository_owner == 'pytorch' }}
- uses: ./.github/workflows/_binary-build-macos.yml
- with:
+ runs-on: macos-12
+ timeout-minutes: 240
+ env:
PYTORCH_ROOT: ${{ github.workspace }}/pytorch
BUILDER_ROOT: ${{ github.workspace }}/builder
PACKAGE_TYPE: conda
@@ -45,17 +46,77 @@
# favor of GPU_ARCH_VERSION
DESIRED_CUDA: cpu
GPU_ARCH_TYPE: cpu
+ SKIP_ALL_TESTS: 1
DESIRED_PYTHON: "3.8"
- build_name: conda-py3_8-cpu
- build_environment: macos-arm64-binary-conda
- timeout-minutes: 240
- runs-on: macos-12
# For sccache access (only on non-forked PRs)
- secrets:
- github-token: ${{ secrets.GITHUB_TOKEN }}
AWS_ACCESS_KEY_ID: ${{ secrets.MACOS_SCCACHE_S3_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.MACOS_SCCACHE_S3_SECRET_ACCESS_KEY }}
-
+ steps:
+ # NOTE: These environment variables are put here so that they can be applied on every job equally
+ # They are also here because setting them at a workflow level doesn't give us access to the
+ # runner.temp variable, which we need.
+ - name: Populate binary env
+ shell: bash
+ run: |
+ # shellcheck disable=SC2129
+ echo "BINARY_ENV_FILE=${RUNNER_TEMP}/env" >> "${GITHUB_ENV}"
+ # shellcheck disable=SC2129
+ echo "PYTORCH_FINAL_PACKAGE_DIR=${RUNNER_TEMP}/artifacts" >> "${GITHUB_ENV}"
+ # shellcheck disable=SC2129
+ echo "MAC_PACKAGE_WORK_DIR=${RUNNER_TEMP}" >> "${GITHUB_ENV}"
+ - name: Install conda and dependencies
+ run: |
+ # Install conda, setup-miniconda messes with the path that messes with the ruby stuff we do later on
+ curl --retry 3 -o "${RUNNER_TEMP}/conda.sh" https://repo.anaconda.com/miniconda/Miniconda3-latest-MacOSX-x86_64.sh
+ chmod +x "${RUNNER_TEMP}/conda.sh"
+ /bin/bash "${RUNNER_TEMP}/conda.sh" -b -p "${RUNNER_TEMP}/anaconda"
+ echo "${RUNNER_TEMP}/anaconda/bin" >> "${GITHUB_PATH}"
+ - name: Checkout PyTorch
+ uses: zhouzhuojie/checkout@05b13c9a0d21f08f6d5e64a1d5042246d13619d9
+ with:
+ ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }}
+ submodules: recursive
+ path: pytorch
+ - name: Clean PyTorch checkout
+ run: |
+ # Remove any artifacts from the previous checkouts
+ git clean -fxd
+ working-directory: pytorch
+ - name: Checkout pytorch/builder
+ uses: zhouzhuojie/checkout@05b13c9a0d21f08f6d5e64a1d5042246d13619d9
+ with:
+ ref: main
+ submodules: recursive
+ repository: pytorch/builder
+ path: builder
+ - name: Clean pytorch/builder checkout
+ run: |
+ # Remove any artifacts from the previous checkouts
+ git clean -fxd
+ working-directory: builder
+ - name: Install sccache (only for non-forked PRs, and pushes to trunk)
+ if: ${{ github.event_name == 'push' || github.event.pull_request.head.repo.full_name == github.repository }}
+ run: |
+ sudo curl --retry 3 https://s3.amazonaws.com/ossci-macos/sccache_v2.15 --output /usr/local/bin/sccache
+ sudo chmod +x /usr/local/bin/sccache
+ echo "SCCACHE_BUCKET=ossci-compiler-cache-circleci-v2" >> "${GITHUB_ENV}"
+ - name: Populate binary env
+ run: |
+ # shellcheck disable=SC1091
+ source "${RUNNER_TEMP}/anaconda/bin/activate"
+ "${PYTORCH_ROOT}/.circleci/scripts/binary_populate_env.sh"
+ - name: Build PyTorch binary
+ run: |
+ # shellcheck disable=SC1091
+ source "${RUNNER_TEMP}/anaconda/bin/activate"
+ "${PYTORCH_ROOT}/.circleci/scripts/binary_macos_build.sh"
+ - uses: actions/upload-artifact@v2
+ if: always()
+ with:
+ name: conda-py3_8-cpu
+ retention-days: 14
+ if-no-files-found: error
+ path: "${{ env.PYTORCH_FINAL_PACKAGE_DIR }}"
conda-py3_8-cpu-upload: # Uploading
if: ${{ github.repository_owner == 'pytorch' }}
needs: conda-py3_8-cpu-build
@@ -79,8 +140,9 @@
uses: ./.github/workflows/_binary-upload.yml
conda-py3_9-cpu-build:
if: ${{ github.repository_owner == 'pytorch' }}
- uses: ./.github/workflows/_binary-build-macos.yml
- with:
+ runs-on: macos-12
+ timeout-minutes: 240
+ env:
PYTORCH_ROOT: ${{ github.workspace }}/pytorch
BUILDER_ROOT: ${{ github.workspace }}/builder
PACKAGE_TYPE: conda
@@ -88,17 +150,77 @@
# favor of GPU_ARCH_VERSION
DESIRED_CUDA: cpu
GPU_ARCH_TYPE: cpu
+ SKIP_ALL_TESTS: 1
DESIRED_PYTHON: "3.9"
- build_name: conda-py3_9-cpu
- build_environment: macos-arm64-binary-conda
- timeout-minutes: 240
- runs-on: macos-12
# For sccache access (only on non-forked PRs)
- secrets:
- github-token: ${{ secrets.GITHUB_TOKEN }}
AWS_ACCESS_KEY_ID: ${{ secrets.MACOS_SCCACHE_S3_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.MACOS_SCCACHE_S3_SECRET_ACCESS_KEY }}
-
+ steps:
+ # NOTE: These environment variables are put here so that they can be applied on every job equally
+ # They are also here because setting them at a workflow level doesn't give us access to the
+ # runner.temp variable, which we need.
+ - name: Populate binary env
+ shell: bash
+ run: |
+ # shellcheck disable=SC2129
+ echo "BINARY_ENV_FILE=${RUNNER_TEMP}/env" >> "${GITHUB_ENV}"
+ # shellcheck disable=SC2129
+ echo "PYTORCH_FINAL_PACKAGE_DIR=${RUNNER_TEMP}/artifacts" >> "${GITHUB_ENV}"
+ # shellcheck disable=SC2129
+ echo "MAC_PACKAGE_WORK_DIR=${RUNNER_TEMP}" >> "${GITHUB_ENV}"
+ - name: Install conda and dependencies
+ run: |
+ # Install conda, setup-miniconda messes with the path that messes with the ruby stuff we do later on
+ curl --retry 3 -o "${RUNNER_TEMP}/conda.sh" https://repo.anaconda.com/miniconda/Miniconda3-latest-MacOSX-x86_64.sh
+ chmod +x "${RUNNER_TEMP}/conda.sh"
+ /bin/bash "${RUNNER_TEMP}/conda.sh" -b -p "${RUNNER_TEMP}/anaconda"
+ echo "${RUNNER_TEMP}/anaconda/bin" >> "${GITHUB_PATH}"
+ - name: Checkout PyTorch
+ uses: zhouzhuojie/checkout@05b13c9a0d21f08f6d5e64a1d5042246d13619d9
+ with:
+ ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }}
+ submodules: recursive
+ path: pytorch
+ - name: Clean PyTorch checkout
+ run: |
+ # Remove any artifacts from the previous checkouts
+ git clean -fxd
+ working-directory: pytorch
+ - name: Checkout pytorch/builder
+ uses: zhouzhuojie/checkout@05b13c9a0d21f08f6d5e64a1d5042246d13619d9
+ with:
+ ref: main
+ submodules: recursive
+ repository: pytorch/builder
+ path: builder
+ - name: Clean pytorch/builder checkout
+ run: |
+ # Remove any artifacts from the previous checkouts
+ git clean -fxd
+ working-directory: builder
+ - name: Install sccache (only for non-forked PRs, and pushes to trunk)
+ if: ${{ github.event_name == 'push' || github.event.pull_request.head.repo.full_name == github.repository }}
+ run: |
+ sudo curl --retry 3 https://s3.amazonaws.com/ossci-macos/sccache_v2.15 --output /usr/local/bin/sccache
+ sudo chmod +x /usr/local/bin/sccache
+ echo "SCCACHE_BUCKET=ossci-compiler-cache-circleci-v2" >> "${GITHUB_ENV}"
+ - name: Populate binary env
+ run: |
+ # shellcheck disable=SC1091
+ source "${RUNNER_TEMP}/anaconda/bin/activate"
+ "${PYTORCH_ROOT}/.circleci/scripts/binary_populate_env.sh"
+ - name: Build PyTorch binary
+ run: |
+ # shellcheck disable=SC1091
+ source "${RUNNER_TEMP}/anaconda/bin/activate"
+ "${PYTORCH_ROOT}/.circleci/scripts/binary_macos_build.sh"
+ - uses: actions/upload-artifact@v2
+ if: always()
+ with:
+ name: conda-py3_9-cpu
+ retention-days: 14
+ if-no-files-found: error
+ path: "${{ env.PYTORCH_FINAL_PACKAGE_DIR }}"
conda-py3_9-cpu-upload: # Uploading
if: ${{ github.repository_owner == 'pytorch' }}
needs: conda-py3_9-cpu-build
@@ -122,8 +244,9 @@
uses: ./.github/workflows/_binary-upload.yml
conda-py3_10-cpu-build:
if: ${{ github.repository_owner == 'pytorch' }}
- uses: ./.github/workflows/_binary-build-macos.yml
- with:
+ runs-on: macos-12
+ timeout-minutes: 240
+ env:
PYTORCH_ROOT: ${{ github.workspace }}/pytorch
BUILDER_ROOT: ${{ github.workspace }}/builder
PACKAGE_TYPE: conda
@@ -131,17 +254,77 @@
# favor of GPU_ARCH_VERSION
DESIRED_CUDA: cpu
GPU_ARCH_TYPE: cpu
+ SKIP_ALL_TESTS: 1
DESIRED_PYTHON: "3.10"
- build_name: conda-py3_10-cpu
- build_environment: macos-arm64-binary-conda
- timeout-minutes: 240
- runs-on: macos-12
# For sccache access (only on non-forked PRs)
- secrets:
- github-token: ${{ secrets.GITHUB_TOKEN }}
AWS_ACCESS_KEY_ID: ${{ secrets.MACOS_SCCACHE_S3_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.MACOS_SCCACHE_S3_SECRET_ACCESS_KEY }}
-
+ steps:
+ # NOTE: These environment variables are put here so that they can be applied on every job equally
+ # They are also here because setting them at a workflow level doesn't give us access to the
+ # runner.temp variable, which we need.
+ - name: Populate binary env
+ shell: bash
+ run: |
+ # shellcheck disable=SC2129
+ echo "BINARY_ENV_FILE=${RUNNER_TEMP}/env" >> "${GITHUB_ENV}"
+ # shellcheck disable=SC2129
+ echo "PYTORCH_FINAL_PACKAGE_DIR=${RUNNER_TEMP}/artifacts" >> "${GITHUB_ENV}"
+ # shellcheck disable=SC2129
+ echo "MAC_PACKAGE_WORK_DIR=${RUNNER_TEMP}" >> "${GITHUB_ENV}"
+ - name: Install conda and dependencies
+ run: |
+ # Install conda, setup-miniconda messes with the path that messes with the ruby stuff we do later on
+ curl --retry 3 -o "${RUNNER_TEMP}/conda.sh" https://repo.anaconda.com/miniconda/Miniconda3-latest-MacOSX-x86_64.sh
+ chmod +x "${RUNNER_TEMP}/conda.sh"
+ /bin/bash "${RUNNER_TEMP}/conda.sh" -b -p "${RUNNER_TEMP}/anaconda"
+ echo "${RUNNER_TEMP}/anaconda/bin" >> "${GITHUB_PATH}"
+ - name: Checkout PyTorch
+ uses: zhouzhuojie/checkout@05b13c9a0d21f08f6d5e64a1d5042246d13619d9
+ with:
+ ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }}
+ submodules: recursive
+ path: pytorch
+ - name: Clean PyTorch checkout
+ run: |
+ # Remove any artifacts from the previous checkouts
+ git clean -fxd
+ working-directory: pytorch
+ - name: Checkout pytorch/builder
+ uses: zhouzhuojie/checkout@05b13c9a0d21f08f6d5e64a1d5042246d13619d9
+ with:
+ ref: main
+ submodules: recursive
+ repository: pytorch/builder
+ path: builder
+ - name: Clean pytorch/builder checkout
+ run: |
+ # Remove any artifacts from the previous checkouts
+ git clean -fxd
+ working-directory: builder
+ - name: Install sccache (only for non-forked PRs, and pushes to trunk)
+ if: ${{ github.event_name == 'push' || github.event.pull_request.head.repo.full_name == github.repository }}
+ run: |
+ sudo curl --retry 3 https://s3.amazonaws.com/ossci-macos/sccache_v2.15 --output /usr/local/bin/sccache
+ sudo chmod +x /usr/local/bin/sccache
+ echo "SCCACHE_BUCKET=ossci-compiler-cache-circleci-v2" >> "${GITHUB_ENV}"
+ - name: Populate binary env
+ run: |
+ # shellcheck disable=SC1091
+ source "${RUNNER_TEMP}/anaconda/bin/activate"
+ "${PYTORCH_ROOT}/.circleci/scripts/binary_populate_env.sh"
+ - name: Build PyTorch binary
+ run: |
+ # shellcheck disable=SC1091
+ source "${RUNNER_TEMP}/anaconda/bin/activate"
+ "${PYTORCH_ROOT}/.circleci/scripts/binary_macos_build.sh"
+ - uses: actions/upload-artifact@v2
+ if: always()
+ with:
+ name: conda-py3_10-cpu
+ retention-days: 14
+ if-no-files-found: error
+ path: "${{ env.PYTORCH_FINAL_PACKAGE_DIR }}"
conda-py3_10-cpu-upload: # Uploading
if: ${{ github.repository_owner == 'pytorch' }}
needs: conda-py3_10-cpu-build
diff --git a/.github/workflows/generated-macos-arm64-binary-wheel-nightly.yml b/.github/workflows/generated-macos-arm64-binary-wheel-nightly.yml
index fe399fc..846c86d 100644
--- a/.github/workflows/generated-macos-arm64-binary-wheel-nightly.yml
+++ b/.github/workflows/generated-macos-arm64-binary-wheel-nightly.yml
@@ -36,8 +36,9 @@
jobs:
wheel-py3_7-cpu-build:
if: ${{ github.repository_owner == 'pytorch' }}
- uses: ./.github/workflows/_binary-build-macos.yml
- with:
+ runs-on: macos-12
+ timeout-minutes: 240
+ env:
PYTORCH_ROOT: ${{ github.workspace }}/pytorch
BUILDER_ROOT: ${{ github.workspace }}/builder
PACKAGE_TYPE: wheel
@@ -45,17 +46,77 @@
# favor of GPU_ARCH_VERSION
DESIRED_CUDA: cpu
GPU_ARCH_TYPE: cpu
+ SKIP_ALL_TESTS: 1
DESIRED_PYTHON: "3.7"
- build_name: wheel-py3_7-cpu
- build_environment: macos-arm64-binary-wheel
- timeout-minutes: 240
- runs-on: macos-12
# For sccache access (only on non-forked PRs)
- secrets:
- github-token: ${{ secrets.GITHUB_TOKEN }}
AWS_ACCESS_KEY_ID: ${{ secrets.MACOS_SCCACHE_S3_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.MACOS_SCCACHE_S3_SECRET_ACCESS_KEY }}
-
+ steps:
+ # NOTE: These environment variables are put here so that they can be applied on every job equally
+ # They are also here because setting them at a workflow level doesn't give us access to the
+ # runner.temp variable, which we need.
+ - name: Populate binary env
+ shell: bash
+ run: |
+ # shellcheck disable=SC2129
+ echo "BINARY_ENV_FILE=${RUNNER_TEMP}/env" >> "${GITHUB_ENV}"
+ # shellcheck disable=SC2129
+ echo "PYTORCH_FINAL_PACKAGE_DIR=${RUNNER_TEMP}/artifacts" >> "${GITHUB_ENV}"
+ # shellcheck disable=SC2129
+ echo "MAC_PACKAGE_WORK_DIR=${RUNNER_TEMP}" >> "${GITHUB_ENV}"
+ - name: Install conda and dependencies
+ run: |
+ # Install conda, setup-miniconda messes with the path that messes with the ruby stuff we do later on
+ curl --retry 3 -o "${RUNNER_TEMP}/conda.sh" https://repo.anaconda.com/miniconda/Miniconda3-latest-MacOSX-x86_64.sh
+ chmod +x "${RUNNER_TEMP}/conda.sh"
+ /bin/bash "${RUNNER_TEMP}/conda.sh" -b -p "${RUNNER_TEMP}/anaconda"
+ echo "${RUNNER_TEMP}/anaconda/bin" >> "${GITHUB_PATH}"
+ - name: Checkout PyTorch
+ uses: zhouzhuojie/checkout@05b13c9a0d21f08f6d5e64a1d5042246d13619d9
+ with:
+ ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }}
+ submodules: recursive
+ path: pytorch
+ - name: Clean PyTorch checkout
+ run: |
+ # Remove any artifacts from the previous checkouts
+ git clean -fxd
+ working-directory: pytorch
+ - name: Checkout pytorch/builder
+ uses: zhouzhuojie/checkout@05b13c9a0d21f08f6d5e64a1d5042246d13619d9
+ with:
+ ref: main
+ submodules: recursive
+ repository: pytorch/builder
+ path: builder
+ - name: Clean pytorch/builder checkout
+ run: |
+ # Remove any artifacts from the previous checkouts
+ git clean -fxd
+ working-directory: builder
+ - name: Install sccache (only for non-forked PRs, and pushes to trunk)
+ if: ${{ github.event_name == 'push' || github.event.pull_request.head.repo.full_name == github.repository }}
+ run: |
+ sudo curl --retry 3 https://s3.amazonaws.com/ossci-macos/sccache_v2.15 --output /usr/local/bin/sccache
+ sudo chmod +x /usr/local/bin/sccache
+ echo "SCCACHE_BUCKET=ossci-compiler-cache-circleci-v2" >> "${GITHUB_ENV}"
+ - name: Populate binary env
+ run: |
+ # shellcheck disable=SC1091
+ source "${RUNNER_TEMP}/anaconda/bin/activate"
+ "${PYTORCH_ROOT}/.circleci/scripts/binary_populate_env.sh"
+ - name: Build PyTorch binary
+ run: |
+ # shellcheck disable=SC1091
+ source "${RUNNER_TEMP}/anaconda/bin/activate"
+ "${PYTORCH_ROOT}/.circleci/scripts/binary_macos_build.sh"
+ - uses: actions/upload-artifact@v2
+ if: always()
+ with:
+ name: wheel-py3_7-cpu
+ retention-days: 14
+ if-no-files-found: error
+ path: "${{ env.PYTORCH_FINAL_PACKAGE_DIR }}"
wheel-py3_7-cpu-upload: # Uploading
if: ${{ github.repository_owner == 'pytorch' }}
needs: wheel-py3_7-cpu-build
@@ -79,8 +140,9 @@
uses: ./.github/workflows/_binary-upload.yml
wheel-py3_8-cpu-build:
if: ${{ github.repository_owner == 'pytorch' }}
- uses: ./.github/workflows/_binary-build-macos.yml
- with:
+ runs-on: macos-12
+ timeout-minutes: 240
+ env:
PYTORCH_ROOT: ${{ github.workspace }}/pytorch
BUILDER_ROOT: ${{ github.workspace }}/builder
PACKAGE_TYPE: wheel
@@ -88,17 +150,77 @@
# favor of GPU_ARCH_VERSION
DESIRED_CUDA: cpu
GPU_ARCH_TYPE: cpu
+ SKIP_ALL_TESTS: 1
DESIRED_PYTHON: "3.8"
- build_name: wheel-py3_8-cpu
- build_environment: macos-arm64-binary-wheel
- timeout-minutes: 240
- runs-on: macos-12
# For sccache access (only on non-forked PRs)
- secrets:
- github-token: ${{ secrets.GITHUB_TOKEN }}
AWS_ACCESS_KEY_ID: ${{ secrets.MACOS_SCCACHE_S3_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.MACOS_SCCACHE_S3_SECRET_ACCESS_KEY }}
-
+ steps:
+ # NOTE: These environment variables are put here so that they can be applied on every job equally
+ # They are also here because setting them at a workflow level doesn't give us access to the
+ # runner.temp variable, which we need.
+ - name: Populate binary env
+ shell: bash
+ run: |
+ # shellcheck disable=SC2129
+ echo "BINARY_ENV_FILE=${RUNNER_TEMP}/env" >> "${GITHUB_ENV}"
+ # shellcheck disable=SC2129
+ echo "PYTORCH_FINAL_PACKAGE_DIR=${RUNNER_TEMP}/artifacts" >> "${GITHUB_ENV}"
+ # shellcheck disable=SC2129
+ echo "MAC_PACKAGE_WORK_DIR=${RUNNER_TEMP}" >> "${GITHUB_ENV}"
+ - name: Install conda and dependencies
+ run: |
+ # Install conda, setup-miniconda messes with the path that messes with the ruby stuff we do later on
+ curl --retry 3 -o "${RUNNER_TEMP}/conda.sh" https://repo.anaconda.com/miniconda/Miniconda3-latest-MacOSX-x86_64.sh
+ chmod +x "${RUNNER_TEMP}/conda.sh"
+ /bin/bash "${RUNNER_TEMP}/conda.sh" -b -p "${RUNNER_TEMP}/anaconda"
+ echo "${RUNNER_TEMP}/anaconda/bin" >> "${GITHUB_PATH}"
+ - name: Checkout PyTorch
+ uses: zhouzhuojie/checkout@05b13c9a0d21f08f6d5e64a1d5042246d13619d9
+ with:
+ ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }}
+ submodules: recursive
+ path: pytorch
+ - name: Clean PyTorch checkout
+ run: |
+ # Remove any artifacts from the previous checkouts
+ git clean -fxd
+ working-directory: pytorch
+ - name: Checkout pytorch/builder
+ uses: zhouzhuojie/checkout@05b13c9a0d21f08f6d5e64a1d5042246d13619d9
+ with:
+ ref: main
+ submodules: recursive
+ repository: pytorch/builder
+ path: builder
+ - name: Clean pytorch/builder checkout
+ run: |
+ # Remove any artifacts from the previous checkouts
+ git clean -fxd
+ working-directory: builder
+ - name: Install sccache (only for non-forked PRs, and pushes to trunk)
+ if: ${{ github.event_name == 'push' || github.event.pull_request.head.repo.full_name == github.repository }}
+ run: |
+ sudo curl --retry 3 https://s3.amazonaws.com/ossci-macos/sccache_v2.15 --output /usr/local/bin/sccache
+ sudo chmod +x /usr/local/bin/sccache
+ echo "SCCACHE_BUCKET=ossci-compiler-cache-circleci-v2" >> "${GITHUB_ENV}"
+ - name: Populate binary env
+ run: |
+ # shellcheck disable=SC1091
+ source "${RUNNER_TEMP}/anaconda/bin/activate"
+ "${PYTORCH_ROOT}/.circleci/scripts/binary_populate_env.sh"
+ - name: Build PyTorch binary
+ run: |
+ # shellcheck disable=SC1091
+ source "${RUNNER_TEMP}/anaconda/bin/activate"
+ "${PYTORCH_ROOT}/.circleci/scripts/binary_macos_build.sh"
+ - uses: actions/upload-artifact@v2
+ if: always()
+ with:
+ name: wheel-py3_8-cpu
+ retention-days: 14
+ if-no-files-found: error
+ path: "${{ env.PYTORCH_FINAL_PACKAGE_DIR }}"
wheel-py3_8-cpu-upload: # Uploading
if: ${{ github.repository_owner == 'pytorch' }}
needs: wheel-py3_8-cpu-build
@@ -122,8 +244,9 @@
uses: ./.github/workflows/_binary-upload.yml
wheel-py3_9-cpu-build:
if: ${{ github.repository_owner == 'pytorch' }}
- uses: ./.github/workflows/_binary-build-macos.yml
- with:
+ runs-on: macos-12
+ timeout-minutes: 240
+ env:
PYTORCH_ROOT: ${{ github.workspace }}/pytorch
BUILDER_ROOT: ${{ github.workspace }}/builder
PACKAGE_TYPE: wheel
@@ -131,17 +254,77 @@
# favor of GPU_ARCH_VERSION
DESIRED_CUDA: cpu
GPU_ARCH_TYPE: cpu
+ SKIP_ALL_TESTS: 1
DESIRED_PYTHON: "3.9"
- build_name: wheel-py3_9-cpu
- build_environment: macos-arm64-binary-wheel
- timeout-minutes: 240
- runs-on: macos-12
# For sccache access (only on non-forked PRs)
- secrets:
- github-token: ${{ secrets.GITHUB_TOKEN }}
AWS_ACCESS_KEY_ID: ${{ secrets.MACOS_SCCACHE_S3_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.MACOS_SCCACHE_S3_SECRET_ACCESS_KEY }}
-
+ steps:
+ # NOTE: These environment variables are put here so that they can be applied on every job equally
+ # They are also here because setting them at a workflow level doesn't give us access to the
+ # runner.temp variable, which we need.
+ - name: Populate binary env
+ shell: bash
+ run: |
+ # shellcheck disable=SC2129
+ echo "BINARY_ENV_FILE=${RUNNER_TEMP}/env" >> "${GITHUB_ENV}"
+ # shellcheck disable=SC2129
+ echo "PYTORCH_FINAL_PACKAGE_DIR=${RUNNER_TEMP}/artifacts" >> "${GITHUB_ENV}"
+ # shellcheck disable=SC2129
+ echo "MAC_PACKAGE_WORK_DIR=${RUNNER_TEMP}" >> "${GITHUB_ENV}"
+ - name: Install conda and dependencies
+ run: |
+ # Install conda, setup-miniconda messes with the path that messes with the ruby stuff we do later on
+ curl --retry 3 -o "${RUNNER_TEMP}/conda.sh" https://repo.anaconda.com/miniconda/Miniconda3-latest-MacOSX-x86_64.sh
+ chmod +x "${RUNNER_TEMP}/conda.sh"
+ /bin/bash "${RUNNER_TEMP}/conda.sh" -b -p "${RUNNER_TEMP}/anaconda"
+ echo "${RUNNER_TEMP}/anaconda/bin" >> "${GITHUB_PATH}"
+ - name: Checkout PyTorch
+ uses: zhouzhuojie/checkout@05b13c9a0d21f08f6d5e64a1d5042246d13619d9
+ with:
+ ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }}
+ submodules: recursive
+ path: pytorch
+ - name: Clean PyTorch checkout
+ run: |
+ # Remove any artifacts from the previous checkouts
+ git clean -fxd
+ working-directory: pytorch
+ - name: Checkout pytorch/builder
+ uses: zhouzhuojie/checkout@05b13c9a0d21f08f6d5e64a1d5042246d13619d9
+ with:
+ ref: main
+ submodules: recursive
+ repository: pytorch/builder
+ path: builder
+ - name: Clean pytorch/builder checkout
+ run: |
+ # Remove any artifacts from the previous checkouts
+ git clean -fxd
+ working-directory: builder
+ - name: Install sccache (only for non-forked PRs, and pushes to trunk)
+ if: ${{ github.event_name == 'push' || github.event.pull_request.head.repo.full_name == github.repository }}
+ run: |
+ sudo curl --retry 3 https://s3.amazonaws.com/ossci-macos/sccache_v2.15 --output /usr/local/bin/sccache
+ sudo chmod +x /usr/local/bin/sccache
+ echo "SCCACHE_BUCKET=ossci-compiler-cache-circleci-v2" >> "${GITHUB_ENV}"
+ - name: Populate binary env
+ run: |
+ # shellcheck disable=SC1091
+ source "${RUNNER_TEMP}/anaconda/bin/activate"
+ "${PYTORCH_ROOT}/.circleci/scripts/binary_populate_env.sh"
+ - name: Build PyTorch binary
+ run: |
+ # shellcheck disable=SC1091
+ source "${RUNNER_TEMP}/anaconda/bin/activate"
+ "${PYTORCH_ROOT}/.circleci/scripts/binary_macos_build.sh"
+ - uses: actions/upload-artifact@v2
+ if: always()
+ with:
+ name: wheel-py3_9-cpu
+ retention-days: 14
+ if-no-files-found: error
+ path: "${{ env.PYTORCH_FINAL_PACKAGE_DIR }}"
wheel-py3_9-cpu-upload: # Uploading
if: ${{ github.repository_owner == 'pytorch' }}
needs: wheel-py3_9-cpu-build
@@ -165,8 +348,9 @@
uses: ./.github/workflows/_binary-upload.yml
wheel-py3_10-cpu-build:
if: ${{ github.repository_owner == 'pytorch' }}
- uses: ./.github/workflows/_binary-build-macos.yml
- with:
+ runs-on: macos-12
+ timeout-minutes: 240
+ env:
PYTORCH_ROOT: ${{ github.workspace }}/pytorch
BUILDER_ROOT: ${{ github.workspace }}/builder
PACKAGE_TYPE: wheel
@@ -174,17 +358,77 @@
# favor of GPU_ARCH_VERSION
DESIRED_CUDA: cpu
GPU_ARCH_TYPE: cpu
+ SKIP_ALL_TESTS: 1
DESIRED_PYTHON: "3.10"
- build_name: wheel-py3_10-cpu
- build_environment: macos-arm64-binary-wheel
- timeout-minutes: 240
- runs-on: macos-12
# For sccache access (only on non-forked PRs)
- secrets:
- github-token: ${{ secrets.GITHUB_TOKEN }}
AWS_ACCESS_KEY_ID: ${{ secrets.MACOS_SCCACHE_S3_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.MACOS_SCCACHE_S3_SECRET_ACCESS_KEY }}
-
+ steps:
+ # NOTE: These environment variables are put here so that they can be applied on every job equally
+ # They are also here because setting them at a workflow level doesn't give us access to the
+ # runner.temp variable, which we need.
+ - name: Populate binary env
+ shell: bash
+ run: |
+ # shellcheck disable=SC2129
+ echo "BINARY_ENV_FILE=${RUNNER_TEMP}/env" >> "${GITHUB_ENV}"
+ # shellcheck disable=SC2129
+ echo "PYTORCH_FINAL_PACKAGE_DIR=${RUNNER_TEMP}/artifacts" >> "${GITHUB_ENV}"
+ # shellcheck disable=SC2129
+ echo "MAC_PACKAGE_WORK_DIR=${RUNNER_TEMP}" >> "${GITHUB_ENV}"
+ - name: Install conda and dependencies
+ run: |
+ # Install conda, setup-miniconda messes with the path that messes with the ruby stuff we do later on
+ curl --retry 3 -o "${RUNNER_TEMP}/conda.sh" https://repo.anaconda.com/miniconda/Miniconda3-latest-MacOSX-x86_64.sh
+ chmod +x "${RUNNER_TEMP}/conda.sh"
+ /bin/bash "${RUNNER_TEMP}/conda.sh" -b -p "${RUNNER_TEMP}/anaconda"
+ echo "${RUNNER_TEMP}/anaconda/bin" >> "${GITHUB_PATH}"
+ - name: Checkout PyTorch
+ uses: zhouzhuojie/checkout@05b13c9a0d21f08f6d5e64a1d5042246d13619d9
+ with:
+ ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }}
+ submodules: recursive
+ path: pytorch
+ - name: Clean PyTorch checkout
+ run: |
+ # Remove any artifacts from the previous checkouts
+ git clean -fxd
+ working-directory: pytorch
+ - name: Checkout pytorch/builder
+ uses: zhouzhuojie/checkout@05b13c9a0d21f08f6d5e64a1d5042246d13619d9
+ with:
+ ref: main
+ submodules: recursive
+ repository: pytorch/builder
+ path: builder
+ - name: Clean pytorch/builder checkout
+ run: |
+ # Remove any artifacts from the previous checkouts
+ git clean -fxd
+ working-directory: builder
+ - name: Install sccache (only for non-forked PRs, and pushes to trunk)
+ if: ${{ github.event_name == 'push' || github.event.pull_request.head.repo.full_name == github.repository }}
+ run: |
+ sudo curl --retry 3 https://s3.amazonaws.com/ossci-macos/sccache_v2.15 --output /usr/local/bin/sccache
+ sudo chmod +x /usr/local/bin/sccache
+ echo "SCCACHE_BUCKET=ossci-compiler-cache-circleci-v2" >> "${GITHUB_ENV}"
+ - name: Populate binary env
+ run: |
+ # shellcheck disable=SC1091
+ source "${RUNNER_TEMP}/anaconda/bin/activate"
+ "${PYTORCH_ROOT}/.circleci/scripts/binary_populate_env.sh"
+ - name: Build PyTorch binary
+ run: |
+ # shellcheck disable=SC1091
+ source "${RUNNER_TEMP}/anaconda/bin/activate"
+ "${PYTORCH_ROOT}/.circleci/scripts/binary_macos_build.sh"
+ - uses: actions/upload-artifact@v2
+ if: always()
+ with:
+ name: wheel-py3_10-cpu
+ retention-days: 14
+ if-no-files-found: error
+ path: "${{ env.PYTORCH_FINAL_PACKAGE_DIR }}"
wheel-py3_10-cpu-upload: # Uploading
if: ${{ github.repository_owner == 'pytorch' }}
needs: wheel-py3_10-cpu-build
diff --git a/.github/workflows/generated-macos-binary-conda-nightly.yml b/.github/workflows/generated-macos-binary-conda-nightly.yml
index a9eb29c..42e0137 100644
--- a/.github/workflows/generated-macos-binary-conda-nightly.yml
+++ b/.github/workflows/generated-macos-binary-conda-nightly.yml
@@ -34,8 +34,9 @@
jobs:
conda-py3_7-cpu-build:
if: ${{ github.repository_owner == 'pytorch' }}
- uses: ./.github/workflows/_binary-build-macos.yml
- with:
+ runs-on: macos-12
+ timeout-minutes: 240
+ env:
PYTORCH_ROOT: ${{ github.workspace }}/pytorch
BUILDER_ROOT: ${{ github.workspace }}/builder
PACKAGE_TYPE: conda
@@ -43,17 +44,77 @@
# favor of GPU_ARCH_VERSION
DESIRED_CUDA: cpu
GPU_ARCH_TYPE: cpu
+ SKIP_ALL_TESTS: 1
DESIRED_PYTHON: "3.7"
- build_name: conda-py3_7-cpu
- build_environment: macos-binary-conda
- timeout-minutes: 240
- runs-on: macos-12
# For sccache access (only on non-forked PRs)
- secrets:
- github-token: ${{ secrets.GITHUB_TOKEN }}
AWS_ACCESS_KEY_ID: ${{ secrets.MACOS_SCCACHE_S3_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.MACOS_SCCACHE_S3_SECRET_ACCESS_KEY }}
-
+ steps:
+ # NOTE: These environment variables are put here so that they can be applied on every job equally
+ # They are also here because setting them at a workflow level doesn't give us access to the
+ # runner.temp variable, which we need.
+ - name: Populate binary env
+ shell: bash
+ run: |
+ # shellcheck disable=SC2129
+ echo "BINARY_ENV_FILE=${RUNNER_TEMP}/env" >> "${GITHUB_ENV}"
+ # shellcheck disable=SC2129
+ echo "PYTORCH_FINAL_PACKAGE_DIR=${RUNNER_TEMP}/artifacts" >> "${GITHUB_ENV}"
+ # shellcheck disable=SC2129
+ echo "MAC_PACKAGE_WORK_DIR=${RUNNER_TEMP}" >> "${GITHUB_ENV}"
+ - name: Install conda and dependencies
+ run: |
+ # Install conda, setup-miniconda messes with the path that messes with the ruby stuff we do later on
+ curl --retry 3 -o "${RUNNER_TEMP}/conda.sh" https://repo.anaconda.com/miniconda/Miniconda3-latest-MacOSX-x86_64.sh
+ chmod +x "${RUNNER_TEMP}/conda.sh"
+ /bin/bash "${RUNNER_TEMP}/conda.sh" -b -p "${RUNNER_TEMP}/anaconda"
+ echo "${RUNNER_TEMP}/anaconda/bin" >> "${GITHUB_PATH}"
+ - name: Checkout PyTorch
+ uses: zhouzhuojie/checkout@05b13c9a0d21f08f6d5e64a1d5042246d13619d9
+ with:
+ ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }}
+ submodules: recursive
+ path: pytorch
+ - name: Clean PyTorch checkout
+ run: |
+ # Remove any artifacts from the previous checkouts
+ git clean -fxd
+ working-directory: pytorch
+ - name: Checkout pytorch/builder
+ uses: zhouzhuojie/checkout@05b13c9a0d21f08f6d5e64a1d5042246d13619d9
+ with:
+ ref: main
+ submodules: recursive
+ repository: pytorch/builder
+ path: builder
+ - name: Clean pytorch/builder checkout
+ run: |
+ # Remove any artifacts from the previous checkouts
+ git clean -fxd
+ working-directory: builder
+ - name: Install sccache (only for non-forked PRs, and pushes to trunk)
+ if: ${{ github.event_name == 'push' || github.event.pull_request.head.repo.full_name == github.repository }}
+ run: |
+ sudo curl --retry 3 https://s3.amazonaws.com/ossci-macos/sccache_v2.15 --output /usr/local/bin/sccache
+ sudo chmod +x /usr/local/bin/sccache
+ echo "SCCACHE_BUCKET=ossci-compiler-cache-circleci-v2" >> "${GITHUB_ENV}"
+ - name: Populate binary env
+ run: |
+ # shellcheck disable=SC1091
+ source "${RUNNER_TEMP}/anaconda/bin/activate"
+ "${PYTORCH_ROOT}/.circleci/scripts/binary_populate_env.sh"
+ - name: Build PyTorch binary
+ run: |
+ # shellcheck disable=SC1091
+ source "${RUNNER_TEMP}/anaconda/bin/activate"
+ "${PYTORCH_ROOT}/.circleci/scripts/binary_macos_build.sh"
+ - uses: actions/upload-artifact@v2
+ if: always()
+ with:
+ name: conda-py3_7-cpu
+ retention-days: 14
+ if-no-files-found: error
+ path: "${{ env.PYTORCH_FINAL_PACKAGE_DIR }}"
conda-py3_7-cpu-upload: # Uploading
if: ${{ github.repository_owner == 'pytorch' }}
needs: conda-py3_7-cpu-build
@@ -77,8 +138,9 @@
uses: ./.github/workflows/_binary-upload.yml
conda-py3_8-cpu-build:
if: ${{ github.repository_owner == 'pytorch' }}
- uses: ./.github/workflows/_binary-build-macos.yml
- with:
+ runs-on: macos-12
+ timeout-minutes: 240
+ env:
PYTORCH_ROOT: ${{ github.workspace }}/pytorch
BUILDER_ROOT: ${{ github.workspace }}/builder
PACKAGE_TYPE: conda
@@ -86,17 +148,77 @@
# favor of GPU_ARCH_VERSION
DESIRED_CUDA: cpu
GPU_ARCH_TYPE: cpu
+ SKIP_ALL_TESTS: 1
DESIRED_PYTHON: "3.8"
- build_name: conda-py3_8-cpu
- build_environment: macos-binary-conda
- timeout-minutes: 240
- runs-on: macos-12
# For sccache access (only on non-forked PRs)
- secrets:
- github-token: ${{ secrets.GITHUB_TOKEN }}
AWS_ACCESS_KEY_ID: ${{ secrets.MACOS_SCCACHE_S3_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.MACOS_SCCACHE_S3_SECRET_ACCESS_KEY }}
-
+ steps:
+ # NOTE: These environment variables are put here so that they can be applied on every job equally
+ # They are also here because setting them at a workflow level doesn't give us access to the
+ # runner.temp variable, which we need.
+ - name: Populate binary env
+ shell: bash
+ run: |
+ # shellcheck disable=SC2129
+ echo "BINARY_ENV_FILE=${RUNNER_TEMP}/env" >> "${GITHUB_ENV}"
+ # shellcheck disable=SC2129
+ echo "PYTORCH_FINAL_PACKAGE_DIR=${RUNNER_TEMP}/artifacts" >> "${GITHUB_ENV}"
+ # shellcheck disable=SC2129
+ echo "MAC_PACKAGE_WORK_DIR=${RUNNER_TEMP}" >> "${GITHUB_ENV}"
+ - name: Install conda and dependencies
+ run: |
+ # Install conda, setup-miniconda messes with the path that messes with the ruby stuff we do later on
+ curl --retry 3 -o "${RUNNER_TEMP}/conda.sh" https://repo.anaconda.com/miniconda/Miniconda3-latest-MacOSX-x86_64.sh
+ chmod +x "${RUNNER_TEMP}/conda.sh"
+ /bin/bash "${RUNNER_TEMP}/conda.sh" -b -p "${RUNNER_TEMP}/anaconda"
+ echo "${RUNNER_TEMP}/anaconda/bin" >> "${GITHUB_PATH}"
+ - name: Checkout PyTorch
+ uses: zhouzhuojie/checkout@05b13c9a0d21f08f6d5e64a1d5042246d13619d9
+ with:
+ ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }}
+ submodules: recursive
+ path: pytorch
+ - name: Clean PyTorch checkout
+ run: |
+ # Remove any artifacts from the previous checkouts
+ git clean -fxd
+ working-directory: pytorch
+ - name: Checkout pytorch/builder
+ uses: zhouzhuojie/checkout@05b13c9a0d21f08f6d5e64a1d5042246d13619d9
+ with:
+ ref: main
+ submodules: recursive
+ repository: pytorch/builder
+ path: builder
+ - name: Clean pytorch/builder checkout
+ run: |
+ # Remove any artifacts from the previous checkouts
+ git clean -fxd
+ working-directory: builder
+ - name: Install sccache (only for non-forked PRs, and pushes to trunk)
+ if: ${{ github.event_name == 'push' || github.event.pull_request.head.repo.full_name == github.repository }}
+ run: |
+ sudo curl --retry 3 https://s3.amazonaws.com/ossci-macos/sccache_v2.15 --output /usr/local/bin/sccache
+ sudo chmod +x /usr/local/bin/sccache
+ echo "SCCACHE_BUCKET=ossci-compiler-cache-circleci-v2" >> "${GITHUB_ENV}"
+ - name: Populate binary env
+ run: |
+ # shellcheck disable=SC1091
+ source "${RUNNER_TEMP}/anaconda/bin/activate"
+ "${PYTORCH_ROOT}/.circleci/scripts/binary_populate_env.sh"
+ - name: Build PyTorch binary
+ run: |
+ # shellcheck disable=SC1091
+ source "${RUNNER_TEMP}/anaconda/bin/activate"
+ "${PYTORCH_ROOT}/.circleci/scripts/binary_macos_build.sh"
+ - uses: actions/upload-artifact@v2
+ if: always()
+ with:
+ name: conda-py3_8-cpu
+ retention-days: 14
+ if-no-files-found: error
+ path: "${{ env.PYTORCH_FINAL_PACKAGE_DIR }}"
conda-py3_8-cpu-upload: # Uploading
if: ${{ github.repository_owner == 'pytorch' }}
needs: conda-py3_8-cpu-build
@@ -120,8 +242,9 @@
uses: ./.github/workflows/_binary-upload.yml
conda-py3_9-cpu-build:
if: ${{ github.repository_owner == 'pytorch' }}
- uses: ./.github/workflows/_binary-build-macos.yml
- with:
+ runs-on: macos-12
+ timeout-minutes: 240
+ env:
PYTORCH_ROOT: ${{ github.workspace }}/pytorch
BUILDER_ROOT: ${{ github.workspace }}/builder
PACKAGE_TYPE: conda
@@ -129,17 +252,77 @@
# favor of GPU_ARCH_VERSION
DESIRED_CUDA: cpu
GPU_ARCH_TYPE: cpu
+ SKIP_ALL_TESTS: 1
DESIRED_PYTHON: "3.9"
- build_name: conda-py3_9-cpu
- build_environment: macos-binary-conda
- timeout-minutes: 240
- runs-on: macos-12
# For sccache access (only on non-forked PRs)
- secrets:
- github-token: ${{ secrets.GITHUB_TOKEN }}
AWS_ACCESS_KEY_ID: ${{ secrets.MACOS_SCCACHE_S3_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.MACOS_SCCACHE_S3_SECRET_ACCESS_KEY }}
-
+ steps:
+ # NOTE: These environment variables are put here so that they can be applied on every job equally
+ # They are also here because setting them at a workflow level doesn't give us access to the
+ # runner.temp variable, which we need.
+ - name: Populate binary env
+ shell: bash
+ run: |
+ # shellcheck disable=SC2129
+ echo "BINARY_ENV_FILE=${RUNNER_TEMP}/env" >> "${GITHUB_ENV}"
+ # shellcheck disable=SC2129
+ echo "PYTORCH_FINAL_PACKAGE_DIR=${RUNNER_TEMP}/artifacts" >> "${GITHUB_ENV}"
+ # shellcheck disable=SC2129
+ echo "MAC_PACKAGE_WORK_DIR=${RUNNER_TEMP}" >> "${GITHUB_ENV}"
+ - name: Install conda and dependencies
+ run: |
+ # Install conda, setup-miniconda messes with the path that messes with the ruby stuff we do later on
+ curl --retry 3 -o "${RUNNER_TEMP}/conda.sh" https://repo.anaconda.com/miniconda/Miniconda3-latest-MacOSX-x86_64.sh
+ chmod +x "${RUNNER_TEMP}/conda.sh"
+ /bin/bash "${RUNNER_TEMP}/conda.sh" -b -p "${RUNNER_TEMP}/anaconda"
+ echo "${RUNNER_TEMP}/anaconda/bin" >> "${GITHUB_PATH}"
+ - name: Checkout PyTorch
+ uses: zhouzhuojie/checkout@05b13c9a0d21f08f6d5e64a1d5042246d13619d9
+ with:
+ ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }}
+ submodules: recursive
+ path: pytorch
+ - name: Clean PyTorch checkout
+ run: |
+ # Remove any artifacts from the previous checkouts
+ git clean -fxd
+ working-directory: pytorch
+ - name: Checkout pytorch/builder
+ uses: zhouzhuojie/checkout@05b13c9a0d21f08f6d5e64a1d5042246d13619d9
+ with:
+ ref: main
+ submodules: recursive
+ repository: pytorch/builder
+ path: builder
+ - name: Clean pytorch/builder checkout
+ run: |
+ # Remove any artifacts from the previous checkouts
+ git clean -fxd
+ working-directory: builder
+ - name: Install sccache (only for non-forked PRs, and pushes to trunk)
+ if: ${{ github.event_name == 'push' || github.event.pull_request.head.repo.full_name == github.repository }}
+ run: |
+ sudo curl --retry 3 https://s3.amazonaws.com/ossci-macos/sccache_v2.15 --output /usr/local/bin/sccache
+ sudo chmod +x /usr/local/bin/sccache
+ echo "SCCACHE_BUCKET=ossci-compiler-cache-circleci-v2" >> "${GITHUB_ENV}"
+ - name: Populate binary env
+ run: |
+ # shellcheck disable=SC1091
+ source "${RUNNER_TEMP}/anaconda/bin/activate"
+ "${PYTORCH_ROOT}/.circleci/scripts/binary_populate_env.sh"
+ - name: Build PyTorch binary
+ run: |
+ # shellcheck disable=SC1091
+ source "${RUNNER_TEMP}/anaconda/bin/activate"
+ "${PYTORCH_ROOT}/.circleci/scripts/binary_macos_build.sh"
+ - uses: actions/upload-artifact@v2
+ if: always()
+ with:
+ name: conda-py3_9-cpu
+ retention-days: 14
+ if-no-files-found: error
+ path: "${{ env.PYTORCH_FINAL_PACKAGE_DIR }}"
conda-py3_9-cpu-upload: # Uploading
if: ${{ github.repository_owner == 'pytorch' }}
needs: conda-py3_9-cpu-build
@@ -163,8 +346,9 @@
uses: ./.github/workflows/_binary-upload.yml
conda-py3_10-cpu-build:
if: ${{ github.repository_owner == 'pytorch' }}
- uses: ./.github/workflows/_binary-build-macos.yml
- with:
+ runs-on: macos-12
+ timeout-minutes: 240
+ env:
PYTORCH_ROOT: ${{ github.workspace }}/pytorch
BUILDER_ROOT: ${{ github.workspace }}/builder
PACKAGE_TYPE: conda
@@ -172,17 +356,77 @@
# favor of GPU_ARCH_VERSION
DESIRED_CUDA: cpu
GPU_ARCH_TYPE: cpu
+ SKIP_ALL_TESTS: 1
DESIRED_PYTHON: "3.10"
- build_name: conda-py3_10-cpu
- build_environment: macos-binary-conda
- timeout-minutes: 240
- runs-on: macos-12
# For sccache access (only on non-forked PRs)
- secrets:
- github-token: ${{ secrets.GITHUB_TOKEN }}
AWS_ACCESS_KEY_ID: ${{ secrets.MACOS_SCCACHE_S3_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.MACOS_SCCACHE_S3_SECRET_ACCESS_KEY }}
-
+ steps:
+ # NOTE: These environment variables are put here so that they can be applied on every job equally
+ # They are also here because setting them at a workflow level doesn't give us access to the
+ # runner.temp variable, which we need.
+ - name: Populate binary env
+ shell: bash
+ run: |
+ # shellcheck disable=SC2129
+ echo "BINARY_ENV_FILE=${RUNNER_TEMP}/env" >> "${GITHUB_ENV}"
+ # shellcheck disable=SC2129
+ echo "PYTORCH_FINAL_PACKAGE_DIR=${RUNNER_TEMP}/artifacts" >> "${GITHUB_ENV}"
+ # shellcheck disable=SC2129
+ echo "MAC_PACKAGE_WORK_DIR=${RUNNER_TEMP}" >> "${GITHUB_ENV}"
+ - name: Install conda and dependencies
+ run: |
+ # Install conda, setup-miniconda messes with the path that messes with the ruby stuff we do later on
+ curl --retry 3 -o "${RUNNER_TEMP}/conda.sh" https://repo.anaconda.com/miniconda/Miniconda3-latest-MacOSX-x86_64.sh
+ chmod +x "${RUNNER_TEMP}/conda.sh"
+ /bin/bash "${RUNNER_TEMP}/conda.sh" -b -p "${RUNNER_TEMP}/anaconda"
+ echo "${RUNNER_TEMP}/anaconda/bin" >> "${GITHUB_PATH}"
+ - name: Checkout PyTorch
+ uses: zhouzhuojie/checkout@05b13c9a0d21f08f6d5e64a1d5042246d13619d9
+ with:
+ ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }}
+ submodules: recursive
+ path: pytorch
+ - name: Clean PyTorch checkout
+ run: |
+ # Remove any artifacts from the previous checkouts
+ git clean -fxd
+ working-directory: pytorch
+ - name: Checkout pytorch/builder
+ uses: zhouzhuojie/checkout@05b13c9a0d21f08f6d5e64a1d5042246d13619d9
+ with:
+ ref: main
+ submodules: recursive
+ repository: pytorch/builder
+ path: builder
+ - name: Clean pytorch/builder checkout
+ run: |
+ # Remove any artifacts from the previous checkouts
+ git clean -fxd
+ working-directory: builder
+ - name: Install sccache (only for non-forked PRs, and pushes to trunk)
+ if: ${{ github.event_name == 'push' || github.event.pull_request.head.repo.full_name == github.repository }}
+ run: |
+ sudo curl --retry 3 https://s3.amazonaws.com/ossci-macos/sccache_v2.15 --output /usr/local/bin/sccache
+ sudo chmod +x /usr/local/bin/sccache
+ echo "SCCACHE_BUCKET=ossci-compiler-cache-circleci-v2" >> "${GITHUB_ENV}"
+ - name: Populate binary env
+ run: |
+ # shellcheck disable=SC1091
+ source "${RUNNER_TEMP}/anaconda/bin/activate"
+ "${PYTORCH_ROOT}/.circleci/scripts/binary_populate_env.sh"
+ - name: Build PyTorch binary
+ run: |
+ # shellcheck disable=SC1091
+ source "${RUNNER_TEMP}/anaconda/bin/activate"
+ "${PYTORCH_ROOT}/.circleci/scripts/binary_macos_build.sh"
+ - uses: actions/upload-artifact@v2
+ if: always()
+ with:
+ name: conda-py3_10-cpu
+ retention-days: 14
+ if-no-files-found: error
+ path: "${{ env.PYTORCH_FINAL_PACKAGE_DIR }}"
conda-py3_10-cpu-upload: # Uploading
if: ${{ github.repository_owner == 'pytorch' }}
needs: conda-py3_10-cpu-build
diff --git a/.github/workflows/generated-macos-binary-libtorch-cxx11-abi-nightly.yml b/.github/workflows/generated-macos-binary-libtorch-cxx11-abi-nightly.yml
index 65ee12a..ccc5e70 100644
--- a/.github/workflows/generated-macos-binary-libtorch-cxx11-abi-nightly.yml
+++ b/.github/workflows/generated-macos-binary-libtorch-cxx11-abi-nightly.yml
@@ -34,8 +34,10 @@
jobs:
libtorch-cpu-shared-with-deps-cxx11-abi-build:
if: ${{ github.repository_owner == 'pytorch' }}
- uses: ./.github/workflows/_binary-build-macos.yml
- with:
+ runs-on: macos-10.15
+ # libtorch builds take a long time on github hosted runners
+ timeout-minutes: 720
+ env:
PYTORCH_ROOT: ${{ github.workspace }}/pytorch
BUILDER_ROOT: ${{ github.workspace }}/builder
PACKAGE_TYPE: libtorch
@@ -43,22 +45,81 @@
# favor of GPU_ARCH_VERSION
DESIRED_CUDA: cpu
GPU_ARCH_TYPE: cpu
+ SKIP_ALL_TESTS: 1
LIBTORCH_VARIANT: shared-with-deps
DESIRED_DEVTOOLSET: cxx11-abi
# This is a dummy value for libtorch to work correctly with our batch scripts
# without this value pip does not get installed for some reason
DESIRED_PYTHON: "3.7"
- build_name: libtorch-cpu-shared-with-deps-cxx11-abi
- build_environment: macos-binary-libtorch-cxx11-abi
- # libtorch builds take a long time on github hosted runners
- timeout-minutes: 720
- runs-on: macos-10.15
# For sccache access (only on non-forked PRs)
- secrets:
- github-token: ${{ secrets.GITHUB_TOKEN }}
AWS_ACCESS_KEY_ID: ${{ secrets.MACOS_SCCACHE_S3_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.MACOS_SCCACHE_S3_SECRET_ACCESS_KEY }}
-
+ steps:
+ # NOTE: These environment variables are put here so that they can be applied on every job equally
+ # They are also here because setting them at a workflow level doesn't give us access to the
+ # runner.temp variable, which we need.
+ - name: Populate binary env
+ shell: bash
+ run: |
+ # shellcheck disable=SC2129
+ echo "BINARY_ENV_FILE=${RUNNER_TEMP}/env" >> "${GITHUB_ENV}"
+ # shellcheck disable=SC2129
+ echo "PYTORCH_FINAL_PACKAGE_DIR=${RUNNER_TEMP}/artifacts" >> "${GITHUB_ENV}"
+ # shellcheck disable=SC2129
+ echo "MAC_PACKAGE_WORK_DIR=${RUNNER_TEMP}" >> "${GITHUB_ENV}"
+ - name: Install conda and dependencies
+ run: |
+ # Install conda, setup-miniconda messes with the path that messes with the ruby stuff we do later on
+ curl --retry 3 -o "${RUNNER_TEMP}/conda.sh" https://repo.anaconda.com/miniconda/Miniconda3-latest-MacOSX-x86_64.sh
+ chmod +x "${RUNNER_TEMP}/conda.sh"
+ /bin/bash "${RUNNER_TEMP}/conda.sh" -b -p "${RUNNER_TEMP}/anaconda"
+ echo "${RUNNER_TEMP}/anaconda/bin" >> "${GITHUB_PATH}"
+ - name: Checkout PyTorch
+ uses: zhouzhuojie/checkout@05b13c9a0d21f08f6d5e64a1d5042246d13619d9
+ with:
+ ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }}
+ submodules: recursive
+ path: pytorch
+ - name: Clean PyTorch checkout
+ run: |
+ # Remove any artifacts from the previous checkouts
+ git clean -fxd
+ working-directory: pytorch
+ - name: Checkout pytorch/builder
+ uses: zhouzhuojie/checkout@05b13c9a0d21f08f6d5e64a1d5042246d13619d9
+ with:
+ ref: main
+ submodules: recursive
+ repository: pytorch/builder
+ path: builder
+ - name: Clean pytorch/builder checkout
+ run: |
+ # Remove any artifacts from the previous checkouts
+ git clean -fxd
+ working-directory: builder
+ - name: Install sccache (only for non-forked PRs, and pushes to trunk)
+ if: ${{ github.event_name == 'push' || github.event.pull_request.head.repo.full_name == github.repository }}
+ run: |
+ sudo curl --retry 3 https://s3.amazonaws.com/ossci-macos/sccache_v2.15 --output /usr/local/bin/sccache
+ sudo chmod +x /usr/local/bin/sccache
+ echo "SCCACHE_BUCKET=ossci-compiler-cache-circleci-v2" >> "${GITHUB_ENV}"
+ - name: Populate binary env
+ run: |
+ # shellcheck disable=SC1091
+ source "${RUNNER_TEMP}/anaconda/bin/activate"
+ "${PYTORCH_ROOT}/.circleci/scripts/binary_populate_env.sh"
+ - name: Build PyTorch binary
+ run: |
+ # shellcheck disable=SC1091
+ source "${RUNNER_TEMP}/anaconda/bin/activate"
+ "${PYTORCH_ROOT}/.circleci/scripts/binary_macos_build.sh"
+ - uses: actions/upload-artifact@v2
+ if: always()
+ with:
+ name: libtorch-cpu-shared-with-deps-cxx11-abi
+ retention-days: 14
+ if-no-files-found: error
+ path: "${{ env.PYTORCH_FINAL_PACKAGE_DIR }}"
libtorch-cpu-shared-with-deps-cxx11-abi-upload: # Uploading
if: ${{ github.repository_owner == 'pytorch' }}
needs: libtorch-cpu-shared-with-deps-cxx11-abi-build
@@ -83,8 +144,10 @@
uses: ./.github/workflows/_binary-upload.yml
libtorch-cpu-shared-without-deps-cxx11-abi-build:
if: ${{ github.repository_owner == 'pytorch' }}
- uses: ./.github/workflows/_binary-build-macos.yml
- with:
+ runs-on: macos-10.15
+ # libtorch builds take a long time on github hosted runners
+ timeout-minutes: 720
+ env:
PYTORCH_ROOT: ${{ github.workspace }}/pytorch
BUILDER_ROOT: ${{ github.workspace }}/builder
PACKAGE_TYPE: libtorch
@@ -92,22 +155,81 @@
# favor of GPU_ARCH_VERSION
DESIRED_CUDA: cpu
GPU_ARCH_TYPE: cpu
+ SKIP_ALL_TESTS: 1
LIBTORCH_VARIANT: shared-without-deps
DESIRED_DEVTOOLSET: cxx11-abi
# This is a dummy value for libtorch to work correctly with our batch scripts
# without this value pip does not get installed for some reason
DESIRED_PYTHON: "3.7"
- build_name: libtorch-cpu-shared-without-deps-cxx11-abi
- build_environment: macos-binary-libtorch-cxx11-abi
- # libtorch builds take a long time on github hosted runners
- timeout-minutes: 720
- runs-on: macos-10.15
# For sccache access (only on non-forked PRs)
- secrets:
- github-token: ${{ secrets.GITHUB_TOKEN }}
AWS_ACCESS_KEY_ID: ${{ secrets.MACOS_SCCACHE_S3_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.MACOS_SCCACHE_S3_SECRET_ACCESS_KEY }}
-
+ steps:
+ # NOTE: These environment variables are put here so that they can be applied on every job equally
+ # They are also here because setting them at a workflow level doesn't give us access to the
+ # runner.temp variable, which we need.
+ - name: Populate binary env
+ shell: bash
+ run: |
+ # shellcheck disable=SC2129
+ echo "BINARY_ENV_FILE=${RUNNER_TEMP}/env" >> "${GITHUB_ENV}"
+ # shellcheck disable=SC2129
+ echo "PYTORCH_FINAL_PACKAGE_DIR=${RUNNER_TEMP}/artifacts" >> "${GITHUB_ENV}"
+ # shellcheck disable=SC2129
+ echo "MAC_PACKAGE_WORK_DIR=${RUNNER_TEMP}" >> "${GITHUB_ENV}"
+ - name: Install conda and dependencies
+ run: |
+ # Install conda, setup-miniconda messes with the path that messes with the ruby stuff we do later on
+ curl --retry 3 -o "${RUNNER_TEMP}/conda.sh" https://repo.anaconda.com/miniconda/Miniconda3-latest-MacOSX-x86_64.sh
+ chmod +x "${RUNNER_TEMP}/conda.sh"
+ /bin/bash "${RUNNER_TEMP}/conda.sh" -b -p "${RUNNER_TEMP}/anaconda"
+ echo "${RUNNER_TEMP}/anaconda/bin" >> "${GITHUB_PATH}"
+ - name: Checkout PyTorch
+ uses: zhouzhuojie/checkout@05b13c9a0d21f08f6d5e64a1d5042246d13619d9
+ with:
+ ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }}
+ submodules: recursive
+ path: pytorch
+ - name: Clean PyTorch checkout
+ run: |
+ # Remove any artifacts from the previous checkouts
+ git clean -fxd
+ working-directory: pytorch
+ - name: Checkout pytorch/builder
+ uses: zhouzhuojie/checkout@05b13c9a0d21f08f6d5e64a1d5042246d13619d9
+ with:
+ ref: main
+ submodules: recursive
+ repository: pytorch/builder
+ path: builder
+ - name: Clean pytorch/builder checkout
+ run: |
+ # Remove any artifacts from the previous checkouts
+ git clean -fxd
+ working-directory: builder
+ - name: Install sccache (only for non-forked PRs, and pushes to trunk)
+ if: ${{ github.event_name == 'push' || github.event.pull_request.head.repo.full_name == github.repository }}
+ run: |
+ sudo curl --retry 3 https://s3.amazonaws.com/ossci-macos/sccache_v2.15 --output /usr/local/bin/sccache
+ sudo chmod +x /usr/local/bin/sccache
+ echo "SCCACHE_BUCKET=ossci-compiler-cache-circleci-v2" >> "${GITHUB_ENV}"
+ - name: Populate binary env
+ run: |
+ # shellcheck disable=SC1091
+ source "${RUNNER_TEMP}/anaconda/bin/activate"
+ "${PYTORCH_ROOT}/.circleci/scripts/binary_populate_env.sh"
+ - name: Build PyTorch binary
+ run: |
+ # shellcheck disable=SC1091
+ source "${RUNNER_TEMP}/anaconda/bin/activate"
+ "${PYTORCH_ROOT}/.circleci/scripts/binary_macos_build.sh"
+ - uses: actions/upload-artifact@v2
+ if: always()
+ with:
+ name: libtorch-cpu-shared-without-deps-cxx11-abi
+ retention-days: 14
+ if-no-files-found: error
+ path: "${{ env.PYTORCH_FINAL_PACKAGE_DIR }}"
libtorch-cpu-shared-without-deps-cxx11-abi-upload: # Uploading
if: ${{ github.repository_owner == 'pytorch' }}
needs: libtorch-cpu-shared-without-deps-cxx11-abi-build
@@ -132,8 +254,10 @@
uses: ./.github/workflows/_binary-upload.yml
libtorch-cpu-static-with-deps-cxx11-abi-build:
if: ${{ github.repository_owner == 'pytorch' }}
- uses: ./.github/workflows/_binary-build-macos.yml
- with:
+ runs-on: macos-10.15
+ # libtorch builds take a long time on github hosted runners
+ timeout-minutes: 720
+ env:
PYTORCH_ROOT: ${{ github.workspace }}/pytorch
BUILDER_ROOT: ${{ github.workspace }}/builder
PACKAGE_TYPE: libtorch
@@ -141,22 +265,81 @@
# favor of GPU_ARCH_VERSION
DESIRED_CUDA: cpu
GPU_ARCH_TYPE: cpu
+ SKIP_ALL_TESTS: 1
LIBTORCH_VARIANT: static-with-deps
DESIRED_DEVTOOLSET: cxx11-abi
# This is a dummy value for libtorch to work correctly with our batch scripts
# without this value pip does not get installed for some reason
DESIRED_PYTHON: "3.7"
- build_name: libtorch-cpu-static-with-deps-cxx11-abi
- build_environment: macos-binary-libtorch-cxx11-abi
- # libtorch builds take a long time on github hosted runners
- timeout-minutes: 720
- runs-on: macos-10.15
# For sccache access (only on non-forked PRs)
- secrets:
- github-token: ${{ secrets.GITHUB_TOKEN }}
AWS_ACCESS_KEY_ID: ${{ secrets.MACOS_SCCACHE_S3_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.MACOS_SCCACHE_S3_SECRET_ACCESS_KEY }}
-
+ steps:
+ # NOTE: These environment variables are put here so that they can be applied on every job equally
+ # They are also here because setting them at a workflow level doesn't give us access to the
+ # runner.temp variable, which we need.
+ - name: Populate binary env
+ shell: bash
+ run: |
+ # shellcheck disable=SC2129
+ echo "BINARY_ENV_FILE=${RUNNER_TEMP}/env" >> "${GITHUB_ENV}"
+ # shellcheck disable=SC2129
+ echo "PYTORCH_FINAL_PACKAGE_DIR=${RUNNER_TEMP}/artifacts" >> "${GITHUB_ENV}"
+ # shellcheck disable=SC2129
+ echo "MAC_PACKAGE_WORK_DIR=${RUNNER_TEMP}" >> "${GITHUB_ENV}"
+ - name: Install conda and dependencies
+ run: |
+ # Install conda, setup-miniconda messes with the path that messes with the ruby stuff we do later on
+ curl --retry 3 -o "${RUNNER_TEMP}/conda.sh" https://repo.anaconda.com/miniconda/Miniconda3-latest-MacOSX-x86_64.sh
+ chmod +x "${RUNNER_TEMP}/conda.sh"
+ /bin/bash "${RUNNER_TEMP}/conda.sh" -b -p "${RUNNER_TEMP}/anaconda"
+ echo "${RUNNER_TEMP}/anaconda/bin" >> "${GITHUB_PATH}"
+ - name: Checkout PyTorch
+ uses: zhouzhuojie/checkout@05b13c9a0d21f08f6d5e64a1d5042246d13619d9
+ with:
+ ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }}
+ submodules: recursive
+ path: pytorch
+ - name: Clean PyTorch checkout
+ run: |
+ # Remove any artifacts from the previous checkouts
+ git clean -fxd
+ working-directory: pytorch
+ - name: Checkout pytorch/builder
+ uses: zhouzhuojie/checkout@05b13c9a0d21f08f6d5e64a1d5042246d13619d9
+ with:
+ ref: main
+ submodules: recursive
+ repository: pytorch/builder
+ path: builder
+ - name: Clean pytorch/builder checkout
+ run: |
+ # Remove any artifacts from the previous checkouts
+ git clean -fxd
+ working-directory: builder
+ - name: Install sccache (only for non-forked PRs, and pushes to trunk)
+ if: ${{ github.event_name == 'push' || github.event.pull_request.head.repo.full_name == github.repository }}
+ run: |
+ sudo curl --retry 3 https://s3.amazonaws.com/ossci-macos/sccache_v2.15 --output /usr/local/bin/sccache
+ sudo chmod +x /usr/local/bin/sccache
+ echo "SCCACHE_BUCKET=ossci-compiler-cache-circleci-v2" >> "${GITHUB_ENV}"
+ - name: Populate binary env
+ run: |
+ # shellcheck disable=SC1091
+ source "${RUNNER_TEMP}/anaconda/bin/activate"
+ "${PYTORCH_ROOT}/.circleci/scripts/binary_populate_env.sh"
+ - name: Build PyTorch binary
+ run: |
+ # shellcheck disable=SC1091
+ source "${RUNNER_TEMP}/anaconda/bin/activate"
+ "${PYTORCH_ROOT}/.circleci/scripts/binary_macos_build.sh"
+ - uses: actions/upload-artifact@v2
+ if: always()
+ with:
+ name: libtorch-cpu-static-with-deps-cxx11-abi
+ retention-days: 14
+ if-no-files-found: error
+ path: "${{ env.PYTORCH_FINAL_PACKAGE_DIR }}"
libtorch-cpu-static-with-deps-cxx11-abi-upload: # Uploading
if: ${{ github.repository_owner == 'pytorch' }}
needs: libtorch-cpu-static-with-deps-cxx11-abi-build
@@ -181,8 +364,10 @@
uses: ./.github/workflows/_binary-upload.yml
libtorch-cpu-static-without-deps-cxx11-abi-build:
if: ${{ github.repository_owner == 'pytorch' }}
- uses: ./.github/workflows/_binary-build-macos.yml
- with:
+ runs-on: macos-10.15
+ # libtorch builds take a long time on github hosted runners
+ timeout-minutes: 720
+ env:
PYTORCH_ROOT: ${{ github.workspace }}/pytorch
BUILDER_ROOT: ${{ github.workspace }}/builder
PACKAGE_TYPE: libtorch
@@ -190,22 +375,81 @@
# favor of GPU_ARCH_VERSION
DESIRED_CUDA: cpu
GPU_ARCH_TYPE: cpu
+ SKIP_ALL_TESTS: 1
LIBTORCH_VARIANT: static-without-deps
DESIRED_DEVTOOLSET: cxx11-abi
# This is a dummy value for libtorch to work correctly with our batch scripts
# without this value pip does not get installed for some reason
DESIRED_PYTHON: "3.7"
- build_name: libtorch-cpu-static-without-deps-cxx11-abi
- build_environment: macos-binary-libtorch-cxx11-abi
- # libtorch builds take a long time on github hosted runners
- timeout-minutes: 720
- runs-on: macos-10.15
# For sccache access (only on non-forked PRs)
- secrets:
- github-token: ${{ secrets.GITHUB_TOKEN }}
AWS_ACCESS_KEY_ID: ${{ secrets.MACOS_SCCACHE_S3_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.MACOS_SCCACHE_S3_SECRET_ACCESS_KEY }}
-
+ steps:
+ # NOTE: These environment variables are put here so that they can be applied on every job equally
+ # They are also here because setting them at a workflow level doesn't give us access to the
+ # runner.temp variable, which we need.
+ - name: Populate binary env
+ shell: bash
+ run: |
+ # shellcheck disable=SC2129
+ echo "BINARY_ENV_FILE=${RUNNER_TEMP}/env" >> "${GITHUB_ENV}"
+ # shellcheck disable=SC2129
+ echo "PYTORCH_FINAL_PACKAGE_DIR=${RUNNER_TEMP}/artifacts" >> "${GITHUB_ENV}"
+ # shellcheck disable=SC2129
+ echo "MAC_PACKAGE_WORK_DIR=${RUNNER_TEMP}" >> "${GITHUB_ENV}"
+ - name: Install conda and dependencies
+ run: |
+ # Install conda, setup-miniconda messes with the path that messes with the ruby stuff we do later on
+ curl --retry 3 -o "${RUNNER_TEMP}/conda.sh" https://repo.anaconda.com/miniconda/Miniconda3-latest-MacOSX-x86_64.sh
+ chmod +x "${RUNNER_TEMP}/conda.sh"
+ /bin/bash "${RUNNER_TEMP}/conda.sh" -b -p "${RUNNER_TEMP}/anaconda"
+ echo "${RUNNER_TEMP}/anaconda/bin" >> "${GITHUB_PATH}"
+ - name: Checkout PyTorch
+ uses: zhouzhuojie/checkout@05b13c9a0d21f08f6d5e64a1d5042246d13619d9
+ with:
+ ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }}
+ submodules: recursive
+ path: pytorch
+ - name: Clean PyTorch checkout
+ run: |
+ # Remove any artifacts from the previous checkouts
+ git clean -fxd
+ working-directory: pytorch
+ - name: Checkout pytorch/builder
+ uses: zhouzhuojie/checkout@05b13c9a0d21f08f6d5e64a1d5042246d13619d9
+ with:
+ ref: main
+ submodules: recursive
+ repository: pytorch/builder
+ path: builder
+ - name: Clean pytorch/builder checkout
+ run: |
+ # Remove any artifacts from the previous checkouts
+ git clean -fxd
+ working-directory: builder
+ - name: Install sccache (only for non-forked PRs, and pushes to trunk)
+ if: ${{ github.event_name == 'push' || github.event.pull_request.head.repo.full_name == github.repository }}
+ run: |
+ sudo curl --retry 3 https://s3.amazonaws.com/ossci-macos/sccache_v2.15 --output /usr/local/bin/sccache
+ sudo chmod +x /usr/local/bin/sccache
+ echo "SCCACHE_BUCKET=ossci-compiler-cache-circleci-v2" >> "${GITHUB_ENV}"
+ - name: Populate binary env
+ run: |
+ # shellcheck disable=SC1091
+ source "${RUNNER_TEMP}/anaconda/bin/activate"
+ "${PYTORCH_ROOT}/.circleci/scripts/binary_populate_env.sh"
+ - name: Build PyTorch binary
+ run: |
+ # shellcheck disable=SC1091
+ source "${RUNNER_TEMP}/anaconda/bin/activate"
+ "${PYTORCH_ROOT}/.circleci/scripts/binary_macos_build.sh"
+ - uses: actions/upload-artifact@v2
+ if: always()
+ with:
+ name: libtorch-cpu-static-without-deps-cxx11-abi
+ retention-days: 14
+ if-no-files-found: error
+ path: "${{ env.PYTORCH_FINAL_PACKAGE_DIR }}"
libtorch-cpu-static-without-deps-cxx11-abi-upload: # Uploading
if: ${{ github.repository_owner == 'pytorch' }}
needs: libtorch-cpu-static-without-deps-cxx11-abi-build
diff --git a/.github/workflows/generated-macos-binary-libtorch-pre-cxx11-nightly.yml b/.github/workflows/generated-macos-binary-libtorch-pre-cxx11-nightly.yml
index 138e22b..e8a717c 100644
--- a/.github/workflows/generated-macos-binary-libtorch-pre-cxx11-nightly.yml
+++ b/.github/workflows/generated-macos-binary-libtorch-pre-cxx11-nightly.yml
@@ -34,8 +34,10 @@
jobs:
libtorch-cpu-shared-with-deps-pre-cxx11-build:
if: ${{ github.repository_owner == 'pytorch' }}
- uses: ./.github/workflows/_binary-build-macos.yml
- with:
+ runs-on: macos-10.15
+ # libtorch builds take a long time on github hosted runners
+ timeout-minutes: 720
+ env:
PYTORCH_ROOT: ${{ github.workspace }}/pytorch
BUILDER_ROOT: ${{ github.workspace }}/builder
PACKAGE_TYPE: libtorch
@@ -43,22 +45,81 @@
# favor of GPU_ARCH_VERSION
DESIRED_CUDA: cpu
GPU_ARCH_TYPE: cpu
+ SKIP_ALL_TESTS: 1
LIBTORCH_VARIANT: shared-with-deps
DESIRED_DEVTOOLSET: pre-cxx11
# This is a dummy value for libtorch to work correctly with our batch scripts
# without this value pip does not get installed for some reason
DESIRED_PYTHON: "3.7"
- build_name: libtorch-cpu-shared-with-deps-pre-cxx11
- build_environment: macos-binary-libtorch-pre-cxx11
- # libtorch builds take a long time on github hosted runners
- timeout-minutes: 720
- runs-on: macos-10.15
# For sccache access (only on non-forked PRs)
- secrets:
- github-token: ${{ secrets.GITHUB_TOKEN }}
AWS_ACCESS_KEY_ID: ${{ secrets.MACOS_SCCACHE_S3_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.MACOS_SCCACHE_S3_SECRET_ACCESS_KEY }}
-
+ steps:
+ # NOTE: These environment variables are put here so that they can be applied on every job equally
+ # They are also here because setting them at a workflow level doesn't give us access to the
+ # runner.temp variable, which we need.
+ - name: Populate binary env
+ shell: bash
+ run: |
+ # shellcheck disable=SC2129
+ echo "BINARY_ENV_FILE=${RUNNER_TEMP}/env" >> "${GITHUB_ENV}"
+ # shellcheck disable=SC2129
+ echo "PYTORCH_FINAL_PACKAGE_DIR=${RUNNER_TEMP}/artifacts" >> "${GITHUB_ENV}"
+ # shellcheck disable=SC2129
+ echo "MAC_PACKAGE_WORK_DIR=${RUNNER_TEMP}" >> "${GITHUB_ENV}"
+ - name: Install conda and dependencies
+ run: |
+ # Install conda, setup-miniconda messes with the path that messes with the ruby stuff we do later on
+ curl --retry 3 -o "${RUNNER_TEMP}/conda.sh" https://repo.anaconda.com/miniconda/Miniconda3-latest-MacOSX-x86_64.sh
+ chmod +x "${RUNNER_TEMP}/conda.sh"
+ /bin/bash "${RUNNER_TEMP}/conda.sh" -b -p "${RUNNER_TEMP}/anaconda"
+ echo "${RUNNER_TEMP}/anaconda/bin" >> "${GITHUB_PATH}"
+ - name: Checkout PyTorch
+ uses: zhouzhuojie/checkout@05b13c9a0d21f08f6d5e64a1d5042246d13619d9
+ with:
+ ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }}
+ submodules: recursive
+ path: pytorch
+ - name: Clean PyTorch checkout
+ run: |
+ # Remove any artifacts from the previous checkouts
+ git clean -fxd
+ working-directory: pytorch
+ - name: Checkout pytorch/builder
+ uses: zhouzhuojie/checkout@05b13c9a0d21f08f6d5e64a1d5042246d13619d9
+ with:
+ ref: main
+ submodules: recursive
+ repository: pytorch/builder
+ path: builder
+ - name: Clean pytorch/builder checkout
+ run: |
+ # Remove any artifacts from the previous checkouts
+ git clean -fxd
+ working-directory: builder
+ - name: Install sccache (only for non-forked PRs, and pushes to trunk)
+ if: ${{ github.event_name == 'push' || github.event.pull_request.head.repo.full_name == github.repository }}
+ run: |
+ sudo curl --retry 3 https://s3.amazonaws.com/ossci-macos/sccache_v2.15 --output /usr/local/bin/sccache
+ sudo chmod +x /usr/local/bin/sccache
+ echo "SCCACHE_BUCKET=ossci-compiler-cache-circleci-v2" >> "${GITHUB_ENV}"
+ - name: Populate binary env
+ run: |
+ # shellcheck disable=SC1091
+ source "${RUNNER_TEMP}/anaconda/bin/activate"
+ "${PYTORCH_ROOT}/.circleci/scripts/binary_populate_env.sh"
+ - name: Build PyTorch binary
+ run: |
+ # shellcheck disable=SC1091
+ source "${RUNNER_TEMP}/anaconda/bin/activate"
+ "${PYTORCH_ROOT}/.circleci/scripts/binary_macos_build.sh"
+ - uses: actions/upload-artifact@v2
+ if: always()
+ with:
+ name: libtorch-cpu-shared-with-deps-pre-cxx11
+ retention-days: 14
+ if-no-files-found: error
+ path: "${{ env.PYTORCH_FINAL_PACKAGE_DIR }}"
libtorch-cpu-shared-with-deps-pre-cxx11-upload: # Uploading
if: ${{ github.repository_owner == 'pytorch' }}
needs: libtorch-cpu-shared-with-deps-pre-cxx11-build
@@ -83,8 +144,10 @@
uses: ./.github/workflows/_binary-upload.yml
libtorch-cpu-shared-without-deps-pre-cxx11-build:
if: ${{ github.repository_owner == 'pytorch' }}
- uses: ./.github/workflows/_binary-build-macos.yml
- with:
+ runs-on: macos-10.15
+ # libtorch builds take a long time on github hosted runners
+ timeout-minutes: 720
+ env:
PYTORCH_ROOT: ${{ github.workspace }}/pytorch
BUILDER_ROOT: ${{ github.workspace }}/builder
PACKAGE_TYPE: libtorch
@@ -92,22 +155,81 @@
# favor of GPU_ARCH_VERSION
DESIRED_CUDA: cpu
GPU_ARCH_TYPE: cpu
+ SKIP_ALL_TESTS: 1
LIBTORCH_VARIANT: shared-without-deps
DESIRED_DEVTOOLSET: pre-cxx11
# This is a dummy value for libtorch to work correctly with our batch scripts
# without this value pip does not get installed for some reason
DESIRED_PYTHON: "3.7"
- build_name: libtorch-cpu-shared-without-deps-pre-cxx11
- build_environment: macos-binary-libtorch-pre-cxx11
- # libtorch builds take a long time on github hosted runners
- timeout-minutes: 720
- runs-on: macos-10.15
# For sccache access (only on non-forked PRs)
- secrets:
- github-token: ${{ secrets.GITHUB_TOKEN }}
AWS_ACCESS_KEY_ID: ${{ secrets.MACOS_SCCACHE_S3_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.MACOS_SCCACHE_S3_SECRET_ACCESS_KEY }}
-
+ steps:
+ # NOTE: These environment variables are put here so that they can be applied on every job equally
+ # They are also here because setting them at a workflow level doesn't give us access to the
+ # runner.temp variable, which we need.
+ - name: Populate binary env
+ shell: bash
+ run: |
+ # shellcheck disable=SC2129
+ echo "BINARY_ENV_FILE=${RUNNER_TEMP}/env" >> "${GITHUB_ENV}"
+ # shellcheck disable=SC2129
+ echo "PYTORCH_FINAL_PACKAGE_DIR=${RUNNER_TEMP}/artifacts" >> "${GITHUB_ENV}"
+ # shellcheck disable=SC2129
+ echo "MAC_PACKAGE_WORK_DIR=${RUNNER_TEMP}" >> "${GITHUB_ENV}"
+ - name: Install conda and dependencies
+ run: |
+ # Install conda, setup-miniconda messes with the path that messes with the ruby stuff we do later on
+ curl --retry 3 -o "${RUNNER_TEMP}/conda.sh" https://repo.anaconda.com/miniconda/Miniconda3-latest-MacOSX-x86_64.sh
+ chmod +x "${RUNNER_TEMP}/conda.sh"
+ /bin/bash "${RUNNER_TEMP}/conda.sh" -b -p "${RUNNER_TEMP}/anaconda"
+ echo "${RUNNER_TEMP}/anaconda/bin" >> "${GITHUB_PATH}"
+ - name: Checkout PyTorch
+ uses: zhouzhuojie/checkout@05b13c9a0d21f08f6d5e64a1d5042246d13619d9
+ with:
+ ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }}
+ submodules: recursive
+ path: pytorch
+ - name: Clean PyTorch checkout
+ run: |
+ # Remove any artifacts from the previous checkouts
+ git clean -fxd
+ working-directory: pytorch
+ - name: Checkout pytorch/builder
+ uses: zhouzhuojie/checkout@05b13c9a0d21f08f6d5e64a1d5042246d13619d9
+ with:
+ ref: main
+ submodules: recursive
+ repository: pytorch/builder
+ path: builder
+ - name: Clean pytorch/builder checkout
+ run: |
+ # Remove any artifacts from the previous checkouts
+ git clean -fxd
+ working-directory: builder
+ - name: Install sccache (only for non-forked PRs, and pushes to trunk)
+ if: ${{ github.event_name == 'push' || github.event.pull_request.head.repo.full_name == github.repository }}
+ run: |
+ sudo curl --retry 3 https://s3.amazonaws.com/ossci-macos/sccache_v2.15 --output /usr/local/bin/sccache
+ sudo chmod +x /usr/local/bin/sccache
+ echo "SCCACHE_BUCKET=ossci-compiler-cache-circleci-v2" >> "${GITHUB_ENV}"
+ - name: Populate binary env
+ run: |
+ # shellcheck disable=SC1091
+ source "${RUNNER_TEMP}/anaconda/bin/activate"
+ "${PYTORCH_ROOT}/.circleci/scripts/binary_populate_env.sh"
+ - name: Build PyTorch binary
+ run: |
+ # shellcheck disable=SC1091
+ source "${RUNNER_TEMP}/anaconda/bin/activate"
+ "${PYTORCH_ROOT}/.circleci/scripts/binary_macos_build.sh"
+ - uses: actions/upload-artifact@v2
+ if: always()
+ with:
+ name: libtorch-cpu-shared-without-deps-pre-cxx11
+ retention-days: 14
+ if-no-files-found: error
+ path: "${{ env.PYTORCH_FINAL_PACKAGE_DIR }}"
libtorch-cpu-shared-without-deps-pre-cxx11-upload: # Uploading
if: ${{ github.repository_owner == 'pytorch' }}
needs: libtorch-cpu-shared-without-deps-pre-cxx11-build
@@ -132,8 +254,10 @@
uses: ./.github/workflows/_binary-upload.yml
libtorch-cpu-static-with-deps-pre-cxx11-build:
if: ${{ github.repository_owner == 'pytorch' }}
- uses: ./.github/workflows/_binary-build-macos.yml
- with:
+ runs-on: macos-10.15
+ # libtorch builds take a long time on github hosted runners
+ timeout-minutes: 720
+ env:
PYTORCH_ROOT: ${{ github.workspace }}/pytorch
BUILDER_ROOT: ${{ github.workspace }}/builder
PACKAGE_TYPE: libtorch
@@ -141,22 +265,81 @@
# favor of GPU_ARCH_VERSION
DESIRED_CUDA: cpu
GPU_ARCH_TYPE: cpu
+ SKIP_ALL_TESTS: 1
LIBTORCH_VARIANT: static-with-deps
DESIRED_DEVTOOLSET: pre-cxx11
# This is a dummy value for libtorch to work correctly with our batch scripts
# without this value pip does not get installed for some reason
DESIRED_PYTHON: "3.7"
- build_name: libtorch-cpu-static-with-deps-pre-cxx11
- build_environment: macos-binary-libtorch-pre-cxx11
- # libtorch builds take a long time on github hosted runners
- timeout-minutes: 720
- runs-on: macos-10.15
# For sccache access (only on non-forked PRs)
- secrets:
- github-token: ${{ secrets.GITHUB_TOKEN }}
AWS_ACCESS_KEY_ID: ${{ secrets.MACOS_SCCACHE_S3_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.MACOS_SCCACHE_S3_SECRET_ACCESS_KEY }}
-
+ steps:
+ # NOTE: These environment variables are put here so that they can be applied on every job equally
+ # They are also here because setting them at a workflow level doesn't give us access to the
+ # runner.temp variable, which we need.
+ - name: Populate binary env
+ shell: bash
+ run: |
+ # shellcheck disable=SC2129
+ echo "BINARY_ENV_FILE=${RUNNER_TEMP}/env" >> "${GITHUB_ENV}"
+ # shellcheck disable=SC2129
+ echo "PYTORCH_FINAL_PACKAGE_DIR=${RUNNER_TEMP}/artifacts" >> "${GITHUB_ENV}"
+ # shellcheck disable=SC2129
+ echo "MAC_PACKAGE_WORK_DIR=${RUNNER_TEMP}" >> "${GITHUB_ENV}"
+ - name: Install conda and dependencies
+ run: |
+ # Install conda, setup-miniconda messes with the path that messes with the ruby stuff we do later on
+ curl --retry 3 -o "${RUNNER_TEMP}/conda.sh" https://repo.anaconda.com/miniconda/Miniconda3-latest-MacOSX-x86_64.sh
+ chmod +x "${RUNNER_TEMP}/conda.sh"
+ /bin/bash "${RUNNER_TEMP}/conda.sh" -b -p "${RUNNER_TEMP}/anaconda"
+ echo "${RUNNER_TEMP}/anaconda/bin" >> "${GITHUB_PATH}"
+ - name: Checkout PyTorch
+ uses: zhouzhuojie/checkout@05b13c9a0d21f08f6d5e64a1d5042246d13619d9
+ with:
+ ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }}
+ submodules: recursive
+ path: pytorch
+ - name: Clean PyTorch checkout
+ run: |
+ # Remove any artifacts from the previous checkouts
+ git clean -fxd
+ working-directory: pytorch
+ - name: Checkout pytorch/builder
+ uses: zhouzhuojie/checkout@05b13c9a0d21f08f6d5e64a1d5042246d13619d9
+ with:
+ ref: main
+ submodules: recursive
+ repository: pytorch/builder
+ path: builder
+ - name: Clean pytorch/builder checkout
+ run: |
+ # Remove any artifacts from the previous checkouts
+ git clean -fxd
+ working-directory: builder
+ - name: Install sccache (only for non-forked PRs, and pushes to trunk)
+ if: ${{ github.event_name == 'push' || github.event.pull_request.head.repo.full_name == github.repository }}
+ run: |
+ sudo curl --retry 3 https://s3.amazonaws.com/ossci-macos/sccache_v2.15 --output /usr/local/bin/sccache
+ sudo chmod +x /usr/local/bin/sccache
+ echo "SCCACHE_BUCKET=ossci-compiler-cache-circleci-v2" >> "${GITHUB_ENV}"
+ - name: Populate binary env
+ run: |
+ # shellcheck disable=SC1091
+ source "${RUNNER_TEMP}/anaconda/bin/activate"
+ "${PYTORCH_ROOT}/.circleci/scripts/binary_populate_env.sh"
+ - name: Build PyTorch binary
+ run: |
+ # shellcheck disable=SC1091
+ source "${RUNNER_TEMP}/anaconda/bin/activate"
+ "${PYTORCH_ROOT}/.circleci/scripts/binary_macos_build.sh"
+ - uses: actions/upload-artifact@v2
+ if: always()
+ with:
+ name: libtorch-cpu-static-with-deps-pre-cxx11
+ retention-days: 14
+ if-no-files-found: error
+ path: "${{ env.PYTORCH_FINAL_PACKAGE_DIR }}"
libtorch-cpu-static-with-deps-pre-cxx11-upload: # Uploading
if: ${{ github.repository_owner == 'pytorch' }}
needs: libtorch-cpu-static-with-deps-pre-cxx11-build
@@ -181,8 +364,10 @@
uses: ./.github/workflows/_binary-upload.yml
libtorch-cpu-static-without-deps-pre-cxx11-build:
if: ${{ github.repository_owner == 'pytorch' }}
- uses: ./.github/workflows/_binary-build-macos.yml
- with:
+ runs-on: macos-10.15
+ # libtorch builds take a long time on github hosted runners
+ timeout-minutes: 720
+ env:
PYTORCH_ROOT: ${{ github.workspace }}/pytorch
BUILDER_ROOT: ${{ github.workspace }}/builder
PACKAGE_TYPE: libtorch
@@ -190,22 +375,81 @@
# favor of GPU_ARCH_VERSION
DESIRED_CUDA: cpu
GPU_ARCH_TYPE: cpu
+ SKIP_ALL_TESTS: 1
LIBTORCH_VARIANT: static-without-deps
DESIRED_DEVTOOLSET: pre-cxx11
# This is a dummy value for libtorch to work correctly with our batch scripts
# without this value pip does not get installed for some reason
DESIRED_PYTHON: "3.7"
- build_name: libtorch-cpu-static-without-deps-pre-cxx11
- build_environment: macos-binary-libtorch-pre-cxx11
- # libtorch builds take a long time on github hosted runners
- timeout-minutes: 720
- runs-on: macos-10.15
# For sccache access (only on non-forked PRs)
- secrets:
- github-token: ${{ secrets.GITHUB_TOKEN }}
AWS_ACCESS_KEY_ID: ${{ secrets.MACOS_SCCACHE_S3_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.MACOS_SCCACHE_S3_SECRET_ACCESS_KEY }}
-
+ steps:
+ # NOTE: These environment variables are put here so that they can be applied on every job equally
+ # They are also here because setting them at a workflow level doesn't give us access to the
+ # runner.temp variable, which we need.
+ - name: Populate binary env
+ shell: bash
+ run: |
+ # shellcheck disable=SC2129
+ echo "BINARY_ENV_FILE=${RUNNER_TEMP}/env" >> "${GITHUB_ENV}"
+ # shellcheck disable=SC2129
+ echo "PYTORCH_FINAL_PACKAGE_DIR=${RUNNER_TEMP}/artifacts" >> "${GITHUB_ENV}"
+ # shellcheck disable=SC2129
+ echo "MAC_PACKAGE_WORK_DIR=${RUNNER_TEMP}" >> "${GITHUB_ENV}"
+ - name: Install conda and dependencies
+ run: |
+ # Install conda, setup-miniconda messes with the path that messes with the ruby stuff we do later on
+ curl --retry 3 -o "${RUNNER_TEMP}/conda.sh" https://repo.anaconda.com/miniconda/Miniconda3-latest-MacOSX-x86_64.sh
+ chmod +x "${RUNNER_TEMP}/conda.sh"
+ /bin/bash "${RUNNER_TEMP}/conda.sh" -b -p "${RUNNER_TEMP}/anaconda"
+ echo "${RUNNER_TEMP}/anaconda/bin" >> "${GITHUB_PATH}"
+ - name: Checkout PyTorch
+ uses: zhouzhuojie/checkout@05b13c9a0d21f08f6d5e64a1d5042246d13619d9
+ with:
+ ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }}
+ submodules: recursive
+ path: pytorch
+ - name: Clean PyTorch checkout
+ run: |
+ # Remove any artifacts from the previous checkouts
+ git clean -fxd
+ working-directory: pytorch
+ - name: Checkout pytorch/builder
+ uses: zhouzhuojie/checkout@05b13c9a0d21f08f6d5e64a1d5042246d13619d9
+ with:
+ ref: main
+ submodules: recursive
+ repository: pytorch/builder
+ path: builder
+ - name: Clean pytorch/builder checkout
+ run: |
+ # Remove any artifacts from the previous checkouts
+ git clean -fxd
+ working-directory: builder
+ - name: Install sccache (only for non-forked PRs, and pushes to trunk)
+ if: ${{ github.event_name == 'push' || github.event.pull_request.head.repo.full_name == github.repository }}
+ run: |
+ sudo curl --retry 3 https://s3.amazonaws.com/ossci-macos/sccache_v2.15 --output /usr/local/bin/sccache
+ sudo chmod +x /usr/local/bin/sccache
+ echo "SCCACHE_BUCKET=ossci-compiler-cache-circleci-v2" >> "${GITHUB_ENV}"
+ - name: Populate binary env
+ run: |
+ # shellcheck disable=SC1091
+ source "${RUNNER_TEMP}/anaconda/bin/activate"
+ "${PYTORCH_ROOT}/.circleci/scripts/binary_populate_env.sh"
+ - name: Build PyTorch binary
+ run: |
+ # shellcheck disable=SC1091
+ source "${RUNNER_TEMP}/anaconda/bin/activate"
+ "${PYTORCH_ROOT}/.circleci/scripts/binary_macos_build.sh"
+ - uses: actions/upload-artifact@v2
+ if: always()
+ with:
+ name: libtorch-cpu-static-without-deps-pre-cxx11
+ retention-days: 14
+ if-no-files-found: error
+ path: "${{ env.PYTORCH_FINAL_PACKAGE_DIR }}"
libtorch-cpu-static-without-deps-pre-cxx11-upload: # Uploading
if: ${{ github.repository_owner == 'pytorch' }}
needs: libtorch-cpu-static-without-deps-pre-cxx11-build
diff --git a/.github/workflows/generated-macos-binary-wheel-nightly.yml b/.github/workflows/generated-macos-binary-wheel-nightly.yml
index ea52401..dc5be5a 100644
--- a/.github/workflows/generated-macos-binary-wheel-nightly.yml
+++ b/.github/workflows/generated-macos-binary-wheel-nightly.yml
@@ -34,8 +34,9 @@
jobs:
wheel-py3_7-cpu-build:
if: ${{ github.repository_owner == 'pytorch' }}
- uses: ./.github/workflows/_binary-build-macos.yml
- with:
+ runs-on: macos-12
+ timeout-minutes: 240
+ env:
PYTORCH_ROOT: ${{ github.workspace }}/pytorch
BUILDER_ROOT: ${{ github.workspace }}/builder
PACKAGE_TYPE: wheel
@@ -43,17 +44,77 @@
# favor of GPU_ARCH_VERSION
DESIRED_CUDA: cpu
GPU_ARCH_TYPE: cpu
+ SKIP_ALL_TESTS: 1
DESIRED_PYTHON: "3.7"
- build_name: wheel-py3_7-cpu
- build_environment: macos-binary-wheel
- timeout-minutes: 240
- runs-on: macos-12
# For sccache access (only on non-forked PRs)
- secrets:
- github-token: ${{ secrets.GITHUB_TOKEN }}
AWS_ACCESS_KEY_ID: ${{ secrets.MACOS_SCCACHE_S3_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.MACOS_SCCACHE_S3_SECRET_ACCESS_KEY }}
-
+ steps:
+ # NOTE: These environment variables are put here so that they can be applied on every job equally
+ # They are also here because setting them at a workflow level doesn't give us access to the
+ # runner.temp variable, which we need.
+ - name: Populate binary env
+ shell: bash
+ run: |
+ # shellcheck disable=SC2129
+ echo "BINARY_ENV_FILE=${RUNNER_TEMP}/env" >> "${GITHUB_ENV}"
+ # shellcheck disable=SC2129
+ echo "PYTORCH_FINAL_PACKAGE_DIR=${RUNNER_TEMP}/artifacts" >> "${GITHUB_ENV}"
+ # shellcheck disable=SC2129
+ echo "MAC_PACKAGE_WORK_DIR=${RUNNER_TEMP}" >> "${GITHUB_ENV}"
+ - name: Install conda and dependencies
+ run: |
+ # Install conda, setup-miniconda messes with the path that messes with the ruby stuff we do later on
+ curl --retry 3 -o "${RUNNER_TEMP}/conda.sh" https://repo.anaconda.com/miniconda/Miniconda3-latest-MacOSX-x86_64.sh
+ chmod +x "${RUNNER_TEMP}/conda.sh"
+ /bin/bash "${RUNNER_TEMP}/conda.sh" -b -p "${RUNNER_TEMP}/anaconda"
+ echo "${RUNNER_TEMP}/anaconda/bin" >> "${GITHUB_PATH}"
+ - name: Checkout PyTorch
+ uses: zhouzhuojie/checkout@05b13c9a0d21f08f6d5e64a1d5042246d13619d9
+ with:
+ ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }}
+ submodules: recursive
+ path: pytorch
+ - name: Clean PyTorch checkout
+ run: |
+ # Remove any artifacts from the previous checkouts
+ git clean -fxd
+ working-directory: pytorch
+ - name: Checkout pytorch/builder
+ uses: zhouzhuojie/checkout@05b13c9a0d21f08f6d5e64a1d5042246d13619d9
+ with:
+ ref: main
+ submodules: recursive
+ repository: pytorch/builder
+ path: builder
+ - name: Clean pytorch/builder checkout
+ run: |
+ # Remove any artifacts from the previous checkouts
+ git clean -fxd
+ working-directory: builder
+ - name: Install sccache (only for non-forked PRs, and pushes to trunk)
+ if: ${{ github.event_name == 'push' || github.event.pull_request.head.repo.full_name == github.repository }}
+ run: |
+ sudo curl --retry 3 https://s3.amazonaws.com/ossci-macos/sccache_v2.15 --output /usr/local/bin/sccache
+ sudo chmod +x /usr/local/bin/sccache
+ echo "SCCACHE_BUCKET=ossci-compiler-cache-circleci-v2" >> "${GITHUB_ENV}"
+ - name: Populate binary env
+ run: |
+ # shellcheck disable=SC1091
+ source "${RUNNER_TEMP}/anaconda/bin/activate"
+ "${PYTORCH_ROOT}/.circleci/scripts/binary_populate_env.sh"
+ - name: Build PyTorch binary
+ run: |
+ # shellcheck disable=SC1091
+ source "${RUNNER_TEMP}/anaconda/bin/activate"
+ "${PYTORCH_ROOT}/.circleci/scripts/binary_macos_build.sh"
+ - uses: actions/upload-artifact@v2
+ if: always()
+ with:
+ name: wheel-py3_7-cpu
+ retention-days: 14
+ if-no-files-found: error
+ path: "${{ env.PYTORCH_FINAL_PACKAGE_DIR }}"
wheel-py3_7-cpu-upload: # Uploading
if: ${{ github.repository_owner == 'pytorch' }}
needs: wheel-py3_7-cpu-build
@@ -77,8 +138,9 @@
uses: ./.github/workflows/_binary-upload.yml
wheel-py3_8-cpu-build:
if: ${{ github.repository_owner == 'pytorch' }}
- uses: ./.github/workflows/_binary-build-macos.yml
- with:
+ runs-on: macos-12
+ timeout-minutes: 240
+ env:
PYTORCH_ROOT: ${{ github.workspace }}/pytorch
BUILDER_ROOT: ${{ github.workspace }}/builder
PACKAGE_TYPE: wheel
@@ -86,17 +148,77 @@
# favor of GPU_ARCH_VERSION
DESIRED_CUDA: cpu
GPU_ARCH_TYPE: cpu
+ SKIP_ALL_TESTS: 1
DESIRED_PYTHON: "3.8"
- build_name: wheel-py3_8-cpu
- build_environment: macos-binary-wheel
- timeout-minutes: 240
- runs-on: macos-12
# For sccache access (only on non-forked PRs)
- secrets:
- github-token: ${{ secrets.GITHUB_TOKEN }}
AWS_ACCESS_KEY_ID: ${{ secrets.MACOS_SCCACHE_S3_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.MACOS_SCCACHE_S3_SECRET_ACCESS_KEY }}
-
+ steps:
+ # NOTE: These environment variables are put here so that they can be applied on every job equally
+ # They are also here because setting them at a workflow level doesn't give us access to the
+ # runner.temp variable, which we need.
+ - name: Populate binary env
+ shell: bash
+ run: |
+ # shellcheck disable=SC2129
+ echo "BINARY_ENV_FILE=${RUNNER_TEMP}/env" >> "${GITHUB_ENV}"
+ # shellcheck disable=SC2129
+ echo "PYTORCH_FINAL_PACKAGE_DIR=${RUNNER_TEMP}/artifacts" >> "${GITHUB_ENV}"
+ # shellcheck disable=SC2129
+ echo "MAC_PACKAGE_WORK_DIR=${RUNNER_TEMP}" >> "${GITHUB_ENV}"
+ - name: Install conda and dependencies
+ run: |
+ # Install conda, setup-miniconda messes with the path that messes with the ruby stuff we do later on
+ curl --retry 3 -o "${RUNNER_TEMP}/conda.sh" https://repo.anaconda.com/miniconda/Miniconda3-latest-MacOSX-x86_64.sh
+ chmod +x "${RUNNER_TEMP}/conda.sh"
+ /bin/bash "${RUNNER_TEMP}/conda.sh" -b -p "${RUNNER_TEMP}/anaconda"
+ echo "${RUNNER_TEMP}/anaconda/bin" >> "${GITHUB_PATH}"
+ - name: Checkout PyTorch
+ uses: zhouzhuojie/checkout@05b13c9a0d21f08f6d5e64a1d5042246d13619d9
+ with:
+ ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }}
+ submodules: recursive
+ path: pytorch
+ - name: Clean PyTorch checkout
+ run: |
+ # Remove any artifacts from the previous checkouts
+ git clean -fxd
+ working-directory: pytorch
+ - name: Checkout pytorch/builder
+ uses: zhouzhuojie/checkout@05b13c9a0d21f08f6d5e64a1d5042246d13619d9
+ with:
+ ref: main
+ submodules: recursive
+ repository: pytorch/builder
+ path: builder
+ - name: Clean pytorch/builder checkout
+ run: |
+ # Remove any artifacts from the previous checkouts
+ git clean -fxd
+ working-directory: builder
+ - name: Install sccache (only for non-forked PRs, and pushes to trunk)
+ if: ${{ github.event_name == 'push' || github.event.pull_request.head.repo.full_name == github.repository }}
+ run: |
+ sudo curl --retry 3 https://s3.amazonaws.com/ossci-macos/sccache_v2.15 --output /usr/local/bin/sccache
+ sudo chmod +x /usr/local/bin/sccache
+ echo "SCCACHE_BUCKET=ossci-compiler-cache-circleci-v2" >> "${GITHUB_ENV}"
+ - name: Populate binary env
+ run: |
+ # shellcheck disable=SC1091
+ source "${RUNNER_TEMP}/anaconda/bin/activate"
+ "${PYTORCH_ROOT}/.circleci/scripts/binary_populate_env.sh"
+ - name: Build PyTorch binary
+ run: |
+ # shellcheck disable=SC1091
+ source "${RUNNER_TEMP}/anaconda/bin/activate"
+ "${PYTORCH_ROOT}/.circleci/scripts/binary_macos_build.sh"
+ - uses: actions/upload-artifact@v2
+ if: always()
+ with:
+ name: wheel-py3_8-cpu
+ retention-days: 14
+ if-no-files-found: error
+ path: "${{ env.PYTORCH_FINAL_PACKAGE_DIR }}"
wheel-py3_8-cpu-upload: # Uploading
if: ${{ github.repository_owner == 'pytorch' }}
needs: wheel-py3_8-cpu-build
@@ -120,8 +242,9 @@
uses: ./.github/workflows/_binary-upload.yml
wheel-py3_9-cpu-build:
if: ${{ github.repository_owner == 'pytorch' }}
- uses: ./.github/workflows/_binary-build-macos.yml
- with:
+ runs-on: macos-12
+ timeout-minutes: 240
+ env:
PYTORCH_ROOT: ${{ github.workspace }}/pytorch
BUILDER_ROOT: ${{ github.workspace }}/builder
PACKAGE_TYPE: wheel
@@ -129,17 +252,77 @@
# favor of GPU_ARCH_VERSION
DESIRED_CUDA: cpu
GPU_ARCH_TYPE: cpu
+ SKIP_ALL_TESTS: 1
DESIRED_PYTHON: "3.9"
- build_name: wheel-py3_9-cpu
- build_environment: macos-binary-wheel
- timeout-minutes: 240
- runs-on: macos-12
# For sccache access (only on non-forked PRs)
- secrets:
- github-token: ${{ secrets.GITHUB_TOKEN }}
AWS_ACCESS_KEY_ID: ${{ secrets.MACOS_SCCACHE_S3_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.MACOS_SCCACHE_S3_SECRET_ACCESS_KEY }}
-
+ steps:
+ # NOTE: These environment variables are put here so that they can be applied on every job equally
+ # They are also here because setting them at a workflow level doesn't give us access to the
+ # runner.temp variable, which we need.
+ - name: Populate binary env
+ shell: bash
+ run: |
+ # shellcheck disable=SC2129
+ echo "BINARY_ENV_FILE=${RUNNER_TEMP}/env" >> "${GITHUB_ENV}"
+ # shellcheck disable=SC2129
+ echo "PYTORCH_FINAL_PACKAGE_DIR=${RUNNER_TEMP}/artifacts" >> "${GITHUB_ENV}"
+ # shellcheck disable=SC2129
+ echo "MAC_PACKAGE_WORK_DIR=${RUNNER_TEMP}" >> "${GITHUB_ENV}"
+ - name: Install conda and dependencies
+ run: |
+ # Install conda, setup-miniconda messes with the path that messes with the ruby stuff we do later on
+ curl --retry 3 -o "${RUNNER_TEMP}/conda.sh" https://repo.anaconda.com/miniconda/Miniconda3-latest-MacOSX-x86_64.sh
+ chmod +x "${RUNNER_TEMP}/conda.sh"
+ /bin/bash "${RUNNER_TEMP}/conda.sh" -b -p "${RUNNER_TEMP}/anaconda"
+ echo "${RUNNER_TEMP}/anaconda/bin" >> "${GITHUB_PATH}"
+ - name: Checkout PyTorch
+ uses: zhouzhuojie/checkout@05b13c9a0d21f08f6d5e64a1d5042246d13619d9
+ with:
+ ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }}
+ submodules: recursive
+ path: pytorch
+ - name: Clean PyTorch checkout
+ run: |
+ # Remove any artifacts from the previous checkouts
+ git clean -fxd
+ working-directory: pytorch
+ - name: Checkout pytorch/builder
+ uses: zhouzhuojie/checkout@05b13c9a0d21f08f6d5e64a1d5042246d13619d9
+ with:
+ ref: main
+ submodules: recursive
+ repository: pytorch/builder
+ path: builder
+ - name: Clean pytorch/builder checkout
+ run: |
+ # Remove any artifacts from the previous checkouts
+ git clean -fxd
+ working-directory: builder
+ - name: Install sccache (only for non-forked PRs, and pushes to trunk)
+ if: ${{ github.event_name == 'push' || github.event.pull_request.head.repo.full_name == github.repository }}
+ run: |
+ sudo curl --retry 3 https://s3.amazonaws.com/ossci-macos/sccache_v2.15 --output /usr/local/bin/sccache
+ sudo chmod +x /usr/local/bin/sccache
+ echo "SCCACHE_BUCKET=ossci-compiler-cache-circleci-v2" >> "${GITHUB_ENV}"
+ - name: Populate binary env
+ run: |
+ # shellcheck disable=SC1091
+ source "${RUNNER_TEMP}/anaconda/bin/activate"
+ "${PYTORCH_ROOT}/.circleci/scripts/binary_populate_env.sh"
+ - name: Build PyTorch binary
+ run: |
+ # shellcheck disable=SC1091
+ source "${RUNNER_TEMP}/anaconda/bin/activate"
+ "${PYTORCH_ROOT}/.circleci/scripts/binary_macos_build.sh"
+ - uses: actions/upload-artifact@v2
+ if: always()
+ with:
+ name: wheel-py3_9-cpu
+ retention-days: 14
+ if-no-files-found: error
+ path: "${{ env.PYTORCH_FINAL_PACKAGE_DIR }}"
wheel-py3_9-cpu-upload: # Uploading
if: ${{ github.repository_owner == 'pytorch' }}
needs: wheel-py3_9-cpu-build
@@ -163,8 +346,9 @@
uses: ./.github/workflows/_binary-upload.yml
wheel-py3_10-cpu-build:
if: ${{ github.repository_owner == 'pytorch' }}
- uses: ./.github/workflows/_binary-build-macos.yml
- with:
+ runs-on: macos-12
+ timeout-minutes: 240
+ env:
PYTORCH_ROOT: ${{ github.workspace }}/pytorch
BUILDER_ROOT: ${{ github.workspace }}/builder
PACKAGE_TYPE: wheel
@@ -172,17 +356,77 @@
# favor of GPU_ARCH_VERSION
DESIRED_CUDA: cpu
GPU_ARCH_TYPE: cpu
+ SKIP_ALL_TESTS: 1
DESIRED_PYTHON: "3.10"
- build_name: wheel-py3_10-cpu
- build_environment: macos-binary-wheel
- timeout-minutes: 240
- runs-on: macos-12
# For sccache access (only on non-forked PRs)
- secrets:
- github-token: ${{ secrets.GITHUB_TOKEN }}
AWS_ACCESS_KEY_ID: ${{ secrets.MACOS_SCCACHE_S3_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.MACOS_SCCACHE_S3_SECRET_ACCESS_KEY }}
-
+ steps:
+ # NOTE: These environment variables are put here so that they can be applied on every job equally
+ # They are also here because setting them at a workflow level doesn't give us access to the
+ # runner.temp variable, which we need.
+ - name: Populate binary env
+ shell: bash
+ run: |
+ # shellcheck disable=SC2129
+ echo "BINARY_ENV_FILE=${RUNNER_TEMP}/env" >> "${GITHUB_ENV}"
+ # shellcheck disable=SC2129
+ echo "PYTORCH_FINAL_PACKAGE_DIR=${RUNNER_TEMP}/artifacts" >> "${GITHUB_ENV}"
+ # shellcheck disable=SC2129
+ echo "MAC_PACKAGE_WORK_DIR=${RUNNER_TEMP}" >> "${GITHUB_ENV}"
+ - name: Install conda and dependencies
+ run: |
+ # Install conda, setup-miniconda messes with the path that messes with the ruby stuff we do later on
+ curl --retry 3 -o "${RUNNER_TEMP}/conda.sh" https://repo.anaconda.com/miniconda/Miniconda3-latest-MacOSX-x86_64.sh
+ chmod +x "${RUNNER_TEMP}/conda.sh"
+ /bin/bash "${RUNNER_TEMP}/conda.sh" -b -p "${RUNNER_TEMP}/anaconda"
+ echo "${RUNNER_TEMP}/anaconda/bin" >> "${GITHUB_PATH}"
+ - name: Checkout PyTorch
+ uses: zhouzhuojie/checkout@05b13c9a0d21f08f6d5e64a1d5042246d13619d9
+ with:
+ ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }}
+ submodules: recursive
+ path: pytorch
+ - name: Clean PyTorch checkout
+ run: |
+ # Remove any artifacts from the previous checkouts
+ git clean -fxd
+ working-directory: pytorch
+ - name: Checkout pytorch/builder
+ uses: zhouzhuojie/checkout@05b13c9a0d21f08f6d5e64a1d5042246d13619d9
+ with:
+ ref: main
+ submodules: recursive
+ repository: pytorch/builder
+ path: builder
+ - name: Clean pytorch/builder checkout
+ run: |
+ # Remove any artifacts from the previous checkouts
+ git clean -fxd
+ working-directory: builder
+ - name: Install sccache (only for non-forked PRs, and pushes to trunk)
+ if: ${{ github.event_name == 'push' || github.event.pull_request.head.repo.full_name == github.repository }}
+ run: |
+ sudo curl --retry 3 https://s3.amazonaws.com/ossci-macos/sccache_v2.15 --output /usr/local/bin/sccache
+ sudo chmod +x /usr/local/bin/sccache
+ echo "SCCACHE_BUCKET=ossci-compiler-cache-circleci-v2" >> "${GITHUB_ENV}"
+ - name: Populate binary env
+ run: |
+ # shellcheck disable=SC1091
+ source "${RUNNER_TEMP}/anaconda/bin/activate"
+ "${PYTORCH_ROOT}/.circleci/scripts/binary_populate_env.sh"
+ - name: Build PyTorch binary
+ run: |
+ # shellcheck disable=SC1091
+ source "${RUNNER_TEMP}/anaconda/bin/activate"
+ "${PYTORCH_ROOT}/.circleci/scripts/binary_macos_build.sh"
+ - uses: actions/upload-artifact@v2
+ if: always()
+ with:
+ name: wheel-py3_10-cpu
+ retention-days: 14
+ if-no-files-found: error
+ path: "${{ env.PYTORCH_FINAL_PACKAGE_DIR }}"
wheel-py3_10-cpu-upload: # Uploading
if: ${{ github.repository_owner == 'pytorch' }}
needs: wheel-py3_10-cpu-build