-
Notifications
You must be signed in to change notification settings - Fork 613
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add support for publishing macOS M1 ARM64 wheels (#2559)
* Add support for publishing macOS M1 ARM64 wheels * Link against the tensorflow-macos when building for ARM Macs
- Loading branch information
Showing
5 changed files
with
55 additions
and
3 deletions.
There are no files selected for viewing
File renamed without changes.
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
set -e -x | ||
|
||
export TF_NEED_CUDA=0 | ||
|
||
python --version | ||
python -m pip install --default-timeout=1000 delocate wheel setuptools tensorflow==$TF_VERSION | ||
|
||
python configure.py | ||
|
||
# For dynamic linking, we want the ARM version of TensorFlow. | ||
# Since we cannot run it on x86 so we need to force pip to install it regardless | ||
python -m pip install \ | ||
--platform=macosx_11_0_arm64 \ | ||
--no-deps \ | ||
--target=$(python -c 'import site; print(site.getsitepackages()[0])') \ | ||
--upgrade \ | ||
tensorflow-macos==$TF_VERSION | ||
|
||
bazel build \ | ||
--cpu=darwin_arm64 \ | ||
--copt -mmacosx-version-min=11.0 \ | ||
--linkopt -mmacosx-version-min=11.0 \ | ||
--noshow_progress \ | ||
--noshow_loading_progress \ | ||
--verbose_failures \ | ||
--test_output=errors \ | ||
build_pip_pkg | ||
|
||
bazel-bin/build_pip_pkg artifacts "--plat-name macosx_11_0_arm64 $NIGHTLY_FLAG" | ||
delocate-wheel -w wheelhouse artifacts/*.whl | ||
|
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -41,6 +41,16 @@ jobs: | |
os: ['macos-latest', 'windows-latest', 'ubuntu-18.04'] | ||
py-version: ['3.6', '3.7', '3.8', '3.9'] | ||
tf-version: ['2.4.2', '2.6.0'] | ||
cpu: ['x86'] | ||
include: | ||
- os: 'macos-11' | ||
cpu: 'arm64' | ||
tf-version: '2.5.0' | ||
py-version: '3.8' | ||
- os: 'macos-11' | ||
cpu: 'arm64' | ||
tf-version: '2.5.0' | ||
py-version: '3.9' | ||
fail-fast: false | ||
steps: | ||
- uses: actions/[email protected] | ||
|
@@ -68,12 +78,13 @@ jobs: | |
PY_VERSION: ${{ matrix.py-version }} | ||
TF_VERSION: ${{ matrix.tf-version }} | ||
NIGHTLY_TIME: ${{ steps.author-date.outputs.result }} | ||
CPU: ${{ matrix.cpu }} | ||
shell: bash | ||
run: bash .github/workflows/make_wheel_${OS}.sh | ||
run: bash .github/workflows/make_wheel_${OS}_${CPU}.sh | ||
- if: matrix.py-version != '3.9' || matrix.tf-version != '2.4.2' | ||
uses: actions/upload-artifact@v1 | ||
with: | ||
name: ${{ runner.os }}-${{ matrix.py-version }}-tf${{ matrix.tf-version }}-wheel | ||
name: ${{ runner.os }}-${{ matrix.py-version }}-tf${{ matrix.tf-version }}-${{ matrix.cpu }}-wheel | ||
path: wheelhouse | ||
upload-wheels: | ||
name: Publish wheels to PyPi | ||
|
@@ -84,12 +95,22 @@ jobs: | |
os: ['macOS', 'Windows', 'Linux'] | ||
py-version: ['3.6', '3.7', '3.8', '3.9'] | ||
tf-version: ['2.6.0'] | ||
cpu: ['x86'] | ||
include: | ||
- os: 'macos-11' | ||
cpu: 'arm64' | ||
tf-version: '2.5.0' | ||
py-version: '3.8' | ||
- os: 'macos-11' | ||
cpu: 'arm64' | ||
tf-version: '2.5.0' | ||
py-version: '3.9' | ||
fail-fast: false | ||
if: (github.event_name == 'push' && github.ref == 'refs/heads/master') || github.event_name == 'release' | ||
steps: | ||
- uses: actions/download-artifact@v1 | ||
with: | ||
name: ${{ matrix.os }}-${{ matrix.py-version }}-tf${{ matrix.tf-version }}-wheel | ||
name: ${{ matrix.os }}-${{ matrix.py-version }}-tf${{ matrix.tf-version }}-${{ matrix.cpu }}-wheel | ||
path: ./dist | ||
- run: | | ||
set -e -x | ||
|