@@ -199,6 +199,39 @@ stages:
199
199
artifactName : ' ManyLinuxBuild'
200
200
targetPath : $(Build.ArtifactStagingDirectory)
201
201
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
+
202
235
- template : build-win-signed.yml
203
236
parameters :
204
237
ReleaseVersion : $(ReleaseVersion)
@@ -470,15 +503,17 @@ stages:
470
503
path : $(Agent.TempDirectory)
471
504
- script : cd $(Agent.TempDirectory); mkdir osx-x64-bin; cd osx-x64-bin; unzip ../*x64-osx*.zip
472
505
- 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
474
508
- script : cd $(Agent.TempDirectory); mkdir win32-bin; cd win32-bin; unzip ../*x86-win*.zip
475
509
- script : cd $(Agent.TempDirectory); mkdir win64-bin; cd win64-bin; unzip ../*x64-win*.zip
476
510
- script : python3 -m pip install --user -U setuptools wheel
477
511
- script : cd src/api/python; python3 setup.py sdist
478
512
# 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
479
513
- 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
480
514
- 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
482
517
- 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
483
518
- 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
484
519
- task : PublishPipelineArtifact@0
0 commit comments