@@ -182,71 +182,71 @@ jobs:
182182 inputs :
183183 filePath : $(Build.SourcesDirectory)/.ci/test.sh
184184 targetType : ' filePath'
185- # # ##########################################
186- # - job: QEMU_multiarch
187- # # ##########################################
188- # variables:
189- # BUILD_DIRECTORY: /LightGBM
190- # COMPILER: gcc
191- # PRODUCES_ARTIFACTS: 'true'
192- # pool:
193- # vmImage: ubuntu-22.04
194- # timeoutInMinutes: 180
195- # strategy:
196- # matrix:
197- # bdist:
198- # TASK: bdist
199- # ARCH: aarch64
200- # steps:
201- # - script: |
202- # sudo apt-get update
203- # sudo apt-get install --no-install-recommends -y \
204- # binfmt-support \
205- # qemu \
206- # qemu-user \
207- # qemu-user-static
208- # displayName: 'Install QEMU'
209- # - script: |
210- # docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
211- # displayName: 'Enable Docker multi-architecture support'
212- # - script: |
213- # git clean -d -f -x
214- # displayName: 'Clean source directory'
215- # - script: |
216- # cat > docker-script.sh <<EOF
217- # export CONDA=\$HOME/miniforge
218- # export PATH=\$CONDA/bin:/opt/rh/llvm-toolset-7.0/root/usr/bin:\$PATH
219- # export LD_LIBRARY_PATH=/opt/rh/llvm-toolset-7.0/root/usr/lib64:\$LD_LIBRARY_PATH
220- # \$BUILD_DIRECTORY/.ci/setup.sh || exit 1
221- # \$BUILD_DIRECTORY/.ci/test.sh || exit 1
222- # EOF
223- # IMAGE_URI="lightgbm/vsts-agent:manylinux2014_aarch64"
224- # docker pull "${IMAGE_URI}" || exit 1
225- # PLATFORM=$(docker inspect --format='{{.Os}}/{{.Architecture}}' "${IMAGE_URI}") || exit 1
226- # echo "detected image platform: ${PLATFORM}"
227- # docker run \
228- # --platform "${PLATFORM}" \
229- # --rm \
230- # --env AZURE=true \
231- # --env BUILD_ARTIFACTSTAGINGDIRECTORY=$BUILD_ARTIFACTSTAGINGDIRECTORY \
232- # --env BUILD_DIRECTORY=$BUILD_DIRECTORY \
233- # --env COMPILER=$COMPILER \
234- # --env METHOD=$METHOD \
235- # --env OS_NAME=linux \
236- # --env PRODUCES_ARTIFACTS=$PRODUCES_ARTIFACTS \
237- # --env PYTHON_VERSION=$PYTHON_VERSION \
238- # --env TASK=$TASK \
239- # -v "$(Build.SourcesDirectory)":"$BUILD_DIRECTORY" \
240- # -v "$(Build.ArtifactStagingDirectory)":"$(Build.ArtifactStagingDirectory)" \
241- # "${IMAGE_URI}" \
242- # /bin/bash $BUILD_DIRECTORY/docker-script.sh
243- # displayName: 'Setup and run tests'
244- # - task: PublishBuildArtifacts@1
245- # condition: and(succeeded(), in(variables['TASK'], 'bdist'), not(startsWith(variables['Build.SourceBranch'], 'refs/pull/')))
246- # inputs:
247- # pathtoPublish: '$(Build.ArtifactStagingDirectory)'
248- # artifactName: PackageAssets
249- # artifactType: container
185+ # ##########################################
186+ - job : QEMU_multiarch
187+ # ##########################################
188+ variables :
189+ BUILD_DIRECTORY : /LightGBM
190+ COMPILER : gcc
191+ PRODUCES_ARTIFACTS : ' true'
192+ pool :
193+ vmImage : ubuntu-22.04
194+ timeoutInMinutes : 180
195+ strategy :
196+ matrix :
197+ bdist :
198+ TASK : bdist
199+ ARCH : aarch64
200+ steps :
201+ - script : |
202+ sudo apt-get update
203+ sudo apt-get install --no-install-recommends -y \
204+ binfmt-support \
205+ qemu \
206+ qemu-user \
207+ qemu-user-static
208+ displayName: 'Install QEMU'
209+ - script : |
210+ docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
211+ displayName: 'Enable Docker multi-architecture support'
212+ - script : |
213+ git clean -d -f -x
214+ displayName: 'Clean source directory'
215+ - script : |
216+ cat > docker-script.sh <<EOF
217+ export CONDA=\$HOME/miniforge
218+ export PATH=\$CONDA/bin:/opt/rh/llvm-toolset-7.0/root/usr/bin:\$PATH
219+ export LD_LIBRARY_PATH=/opt/rh/llvm-toolset-7.0/root/usr/lib64:\$LD_LIBRARY_PATH
220+ \$BUILD_DIRECTORY/.ci/setup.sh || exit 1
221+ \$BUILD_DIRECTORY/.ci/test.sh || exit 1
222+ EOF
223+ IMAGE_URI="lightgbm/vsts-agent:manylinux2014_aarch64"
224+ docker pull "${IMAGE_URI}" || exit 1
225+ PLATFORM=$(docker inspect --format='{{.Os}}/{{.Architecture}}' "${IMAGE_URI}") || exit 1
226+ echo "detected image platform: ${PLATFORM}"
227+ docker run \
228+ --platform "${PLATFORM}" \
229+ --rm \
230+ --env AZURE=true \
231+ --env BUILD_ARTIFACTSTAGINGDIRECTORY=$BUILD_ARTIFACTSTAGINGDIRECTORY \
232+ --env BUILD_DIRECTORY=$BUILD_DIRECTORY \
233+ --env COMPILER=$COMPILER \
234+ --env METHOD=$METHOD \
235+ --env OS_NAME=linux \
236+ --env PRODUCES_ARTIFACTS=$PRODUCES_ARTIFACTS \
237+ --env PYTHON_VERSION=$PYTHON_VERSION \
238+ --env TASK=$TASK \
239+ -v "$(Build.SourcesDirectory)":"$BUILD_DIRECTORY" \
240+ -v "$(Build.ArtifactStagingDirectory)":"$(Build.ArtifactStagingDirectory)" \
241+ "${IMAGE_URI}" \
242+ /bin/bash $BUILD_DIRECTORY/docker-script.sh
243+ displayName: 'Setup and run tests'
244+ - task : PublishBuildArtifacts@1
245+ condition : and(succeeded(), in(variables['TASK'], 'bdist'), not(startsWith(variables['Build.SourceBranch'], 'refs/pull/')))
246+ inputs :
247+ pathtoPublish : ' $(Build.ArtifactStagingDirectory)'
248+ artifactName : PackageAssets
249+ artifactType : container
250250# ##########################################
251251- job : macOS
252252# ##########################################
@@ -376,7 +376,7 @@ jobs:
376376 dependsOn :
377377 - Linux
378378 - Linux_latest
379- # - QEMU_multiarch
379+ - QEMU_multiarch
380380 - macOS
381381 - Windows
382382 - R_artifact
0 commit comments