Skip to content

Commit 7b7084d

Browse files
authored
Add LinuxBuildsArm64 to python wheels in release (#7155)
1 parent e873664 commit 7b7084d

File tree

1 file changed

+37
-2
lines changed

1 file changed

+37
-2
lines changed

scripts/release.yml

+37-2
Original file line numberDiff line numberDiff line change
@@ -199,6 +199,39 @@ stages:
199199
artifactName: 'ManyLinuxBuild'
200200
targetPath: $(Build.ArtifactStagingDirectory)
201201

202+
- job: LinuxBuildsArm64
203+
displayName: "ManyLinux ARM64 build"
204+
variables:
205+
name: ManyLinux
206+
python: "/opt/python/cp37-cp37m/bin/python"
207+
pool:
208+
vmImage: "ubuntu-latest"
209+
container: "quay.io/pypa/manylinux2014_x86_64:latest"
210+
steps:
211+
- script: curl -L -o /tmp/arm-toolchain.tar.xz 'https://developer.arm.com/-/media/Files/downloads/gnu/11.2-2022.02/binrel/gcc-arm-11.2-2022.02-x86_64-aarch64-none-linux-gnu.tar.xz?rev=33c6e30e5ac64e6dba8f0431f2c35f1b&hash=9918A05BF47621B632C7A5C8D2BB438FB80A4480'
212+
- script: mkdir -p /tmp/arm-toolchain/
213+
- script: tar xf /tmp/arm-toolchain.tar.xz -C /tmp/arm-toolchain/ --strip-components=1
214+
- script: echo '##vso[task.prependpath]/tmp/arm-toolchain/bin'
215+
- script: echo '##vso[task.prependpath]/tmp/arm-toolchain/aarch64-none-linux-gnu/libc/usr/bin'
216+
- script: echo $PATH
217+
- script: stat /tmp/arm-toolchain/bin/aarch64-none-linux-gnu-gcc
218+
- task: PythonScript@0
219+
displayName: Build
220+
inputs:
221+
scriptSource: 'filepath'
222+
scriptPath: scripts/mk_unix_dist.py
223+
arguments: --nodotnet --nojava --arch=arm64
224+
pythonInterpreter: $(python)
225+
- task: CopyFiles@2
226+
inputs:
227+
sourceFolder: dist
228+
contents: '*.zip'
229+
targetFolder: $(Build.ArtifactStagingDirectory)
230+
- task: PublishPipelineArtifact@0
231+
inputs:
232+
artifactName: 'ManyLinuxBuildArm64'
233+
targetPath: $(Build.ArtifactStagingDirectory)
234+
202235
- template: build-win-signed.yml
203236
parameters:
204237
ReleaseVersion: $(ReleaseVersion)
@@ -470,15 +503,17 @@ stages:
470503
path: $(Agent.TempDirectory)
471504
- script: cd $(Agent.TempDirectory); mkdir osx-x64-bin; cd osx-x64-bin; unzip ../*x64-osx*.zip
472505
- script: cd $(Agent.TempDirectory); mkdir osx-arm64-bin; cd osx-arm64-bin; unzip ../*arm64-osx*.zip
473-
- script: cd $(Agent.TempDirectory); mkdir libc-bin; cd libc-bin; unzip ../*glibc*.zip
506+
- script: cd $(Agent.TempDirectory); mkdir libc-x64-bin; cd libc-x64-bin; unzip ../*x64-glibc*.zip
507+
- script: cd $(Agent.TempDirectory); mkdir libc-arm64-bin; cd libc-arm64-bin; unzip ../*arm64-glibc*.zip
474508
- script: cd $(Agent.TempDirectory); mkdir win32-bin; cd win32-bin; unzip ../*x86-win*.zip
475509
- script: cd $(Agent.TempDirectory); mkdir win64-bin; cd win64-bin; unzip ../*x64-win*.zip
476510
- script: python3 -m pip install --user -U setuptools wheel
477511
- script: cd src/api/python; python3 setup.py sdist
478512
# take a look at this PREMIUM HACK I came up with to get around the fact that the azure variable syntax overloads the bash syntax for subshells
479513
- script: cd src/api/python; echo $(Agent.TempDirectory)/osx-x64-bin/* | xargs printf 'PACKAGE_FROM_RELEASE=%s\n' | xargs -I '{}' env '{}' python3 setup.py bdist_wheel
480514
- script: cd src/api/python; echo $(Agent.TempDirectory)/osx-arm64-bin/* | xargs printf 'PACKAGE_FROM_RELEASE=%s\n' | xargs -I '{}' env '{}' python3 setup.py bdist_wheel
481-
- script: cd src/api/python; echo $(Agent.TempDirectory)/libc-bin/* | xargs printf 'PACKAGE_FROM_RELEASE=%s\n' | xargs -I '{}' env '{}' python3 setup.py bdist_wheel
515+
- script: cd src/api/python; echo $(Agent.TempDirectory)/libc-x64-bin/* | xargs printf 'PACKAGE_FROM_RELEASE=%s\n' | xargs -I '{}' env '{}' python3 setup.py bdist_wheel
516+
- script: cd src/api/python; echo $(Agent.TempDirectory)/libc-arm64-bin/* | xargs printf 'PACKAGE_FROM_RELEASE=%s\n' | xargs -I '{}' env '{}' python3 setup.py bdist_wheel
482517
- script: cd src/api/python; echo $(Agent.TempDirectory)/win32-bin/* | xargs printf 'PACKAGE_FROM_RELEASE=%s\n' | xargs -I '{}' env '{}' python3 setup.py bdist_wheel
483518
- script: cd src/api/python; echo $(Agent.TempDirectory)/win64-bin/* | xargs printf 'PACKAGE_FROM_RELEASE=%s\n' | xargs -I '{}' env '{}' python3 setup.py bdist_wheel
484519
- task: PublishPipelineArtifact@0

0 commit comments

Comments
 (0)