Skip to content

Commit

Permalink
AZP/RELEASE: Add ARM release - Part openucx#2
Browse files Browse the repository at this point in the history
  • Loading branch information
Alexey-Rivkin committed Apr 9, 2023
1 parent f1c5d96 commit 3214713
Show file tree
Hide file tree
Showing 5 changed files with 162 additions and 103 deletions.
47 changes: 47 additions & 0 deletions buildlib/az-GitHubDraft.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
# Create an empty draft to avoid race condition in distro release

parameters:
name:
container:
demands: []

jobs:
- job: DraftRelease_${{ parameters.name }}
displayName: Draft release ${{ parameters.name }}
container: ${{ parameters.container }}
pool:
name: MLNX
demands: ${{ parameters.demands }}

steps:
- checkout: self
clean: true
fetchDepth: 100
path: "we/need/to/go/deeper"

- bash: ./autogen.sh
displayName: Setup autotools

- bash: |
set -eEx
# gcc --version
./contrib/configure-release --with-java=no
./contrib/buildrpm.sh -s -t -b
displayName: Build tarball
- task: GithubRelease@0
condition: eq(variables['Build.Reason'], 'IndividualCI')
displayName: Create/edit GitHub Draft Release
inputs:
githubConnection: release
repositoryName: openucx/ucx
action: edit
tag: $(Build.SourceBranchName)
isDraft: true
addChangeLog: false
releaseNotesSource: file
releaseNotesFile: NEWS
assetUploadMode: replace
assets: |
./ucx-*.tar.gz
./rpm-dist/ucx-*.src.rpm
106 changes: 69 additions & 37 deletions buildlib/az-distro-release.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
parameters:
name:
demands: []

jobs:
- job: distro_release
displayName: distro
- job: distro_release_${{ parameters.name }}
displayName: Distro ${{ parameters.name }}
variables:
${{ if eq(variables['Build.Reason'], 'ResourceTrigger') }}:
POSTFIX: ucx-${{ replace(variables['Build.SourceBranch'], 'refs/heads/', '') }}
Expand All @@ -9,43 +13,71 @@ jobs:
${{ if eq(variables['Build.Reason'], 'PullRequest') }}:
POSTFIX: ucx-pr$(System.PullRequest.PullRequestNumber)

pool:
name: MLNX
demands:
- harbor_registry -equals yes
${{ if eq(parameters.name, 'x86_64') }}:
strategy:
matrix:
centos7_cuda11_x86_64:
build_container: centos7_cuda11_x86_64
artifact_name: $(POSTFIX)-centos7-mofed5-cuda11-x86_64.tar.bz2
centos8_cuda11_x86_64:
build_container: centos8_cuda11_x86_64
artifact_name: $(POSTFIX)-centos8-mofed5-cuda11-x86_64.tar.bz2
ubuntu16_cuda11_x86_64:
build_container: ubuntu16_cuda11_x86_64
artifact_name: $(POSTFIX)-ubuntu16.04-mofed5-cuda11-x86_64.tar.bz2
ubuntu18_cuda11_x86_64:
build_container: ubuntu18_cuda11_x86_64
artifact_name: $(POSTFIX)-ubuntu18.04-mofed5-cuda11-x86_64.tar.bz2
ubuntu20_cuda11_x86_64:
build_container: ubuntu20_cuda11_x86_64
artifact_name: $(POSTFIX)-ubuntu20.04-mofed5-cuda11-x86_64.tar.bz2
ubuntu22_cuda11_x86_64:
build_container: ubuntu22_cuda11_x86_64
artifact_name: $(POSTFIX)-ubuntu22.04-mofed5-cuda11-x86_64.tar.bz2
centos7_cuda12_x86_64:
build_container: centos7_cuda12_x86_64
artifact_name: $(POSTFIX)-centos7-mofed5-cuda12-x86_64.tar.bz2
ubuntu18_cuda12_x86_64:
build_container: ubuntu18_cuda12_x86_64
artifact_name: $(POSTFIX)-ubuntu18.04-mofed5-cuda12-x86_64.tar.bz2
ubuntu20_cuda12_x86_64:
build_container: ubuntu20_cuda12_x86_64
artifact_name: $(POSTFIX)-ubuntu20.04-mofed5-cuda12-x86_64.tar.bz2
ubuntu22_cuda12_x86_64:
build_container: ubuntu22_cuda12_x86_64
artifact_name: $(POSTFIX)-ubuntu22.04-mofed5-cuda12-x86_64.tar.bz2

strategy:
matrix:
centos7_cuda11:
build_container: centos7_cuda11
artifact_name: $(POSTFIX)-centos7-mofed5-cuda11.tar.bz2
centos8_cuda11:
build_container: centos8_cuda11
artifact_name: $(POSTFIX)-centos8-mofed5-cuda11.tar.bz2
ubuntu18_cuda11:
build_container: ubuntu18_cuda11
artifact_name: $(POSTFIX)-ubuntu18.04-mofed5-cuda11.tar.bz2
ubuntu20_cuda11:
build_container: ubuntu20_cuda11
artifact_name: $(POSTFIX)-ubuntu20.04-mofed5-cuda11.tar.bz2
ubuntu22_cuda11:
build_container: ubuntu22_cuda11
artifact_name: $(POSTFIX)-ubuntu22.04-mofed5-cuda11.tar.bz2
centos7_cuda12:
build_container: centos7_cuda12
artifact_name: $(POSTFIX)-centos7-mofed5-cuda12.tar.bz2
ubuntu18_cuda12:
build_container: ubuntu18_cuda12
artifact_name: $(POSTFIX)-ubuntu18.04-mofed5-cuda12.tar.bz2
ubuntu20_cuda12:
build_container: ubuntu20_cuda12
artifact_name: $(POSTFIX)-ubuntu20.04-mofed5-cuda12.tar.bz2
ubuntu22_cuda12:
build_container: ubuntu22_cuda12
artifact_name: $(POSTFIX)-ubuntu22.04-mofed5-cuda12.tar.bz2
container: $[ variables['build_container'] ]
pool:
name: MLNX
demands: ${{ parameters.demands }}

${{ if eq(parameters.name, 'aarch64') }}:
strategy:
matrix:
centos8_cuda11_aarch64:
build_container: centos8_cuda11_aarch64
artifact_name: $(POSTFIX)-centos8-mofed5-cuda11-aarch64.tar.bz2
ubuntu18_cuda11_aarch64:
build_container: ubuntu18_cuda11_aarch64
artifact_name: $(POSTFIX)-ubuntu18.04-mofed5-cuda11-aarch64.tar.bz2
ubuntu20_cuda11_aarch64:
build_container: ubuntu20_cuda11_aarch64
artifact_name: $(POSTFIX)-ubuntu20.04-mofed5-cuda11-aarch64.tar.bz2
ubuntu22_cuda11_aarch64:
build_container: ubuntu22_cuda11_aarch64
artifact_name: $(POSTFIX)-ubuntu22.04-mofed5-cuda11-aarch64.tar.bz2
ubuntu20_cuda12_aarch64:
build_container: ubuntu20_cuda12_aarch64
artifact_name: $(POSTFIX)-ubuntu20.04-mofed5-cuda12-aarch64.tar.bz2
ubuntu22_cuda12_aarch64:
build_container: ubuntu22_cuda12_aarch64
artifact_name: $(POSTFIX)-ubuntu22.04-mofed5-cuda12-aarch64.tar.bz2

container: $[ variables['build_container'] ]
container: $[ variables['build_container'] ]
pool:
name: MLNX
demands: ${{ parameters.demands }}

steps:
- checkout: self
Expand All @@ -61,7 +93,7 @@ jobs:
cd pkg-build
../contrib/configure-release --with-cuda --with-java=no
../contrib/buildrpm.sh -s -t -b --noclean
cd rpm-dist/`uname -m`
cd rpm-dist/$(uname -m)
tar -cjf "../../../${AZ_ARTIFACT_NAME}" *.rpm
cd ../../..
tar -tjf "${AZ_ARTIFACT_NAME}"
Expand Down
98 changes: 45 additions & 53 deletions buildlib/azure-pipelines-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,35 +14,52 @@ variables:

resources:
containers:
- container: centos7_cuda11
# x86_64
- container: centos7_cuda11_x86_64
image: rdmz-harbor.rdmz.labs.mlnx/ucx/x86_64/centos7-mofed5-cuda11:3
options: $(DOCKER_OPT_VOLUMES)
- container: centos8_cuda11
- container: centos8_cuda11_x86_64
image: rdmz-harbor.rdmz.labs.mlnx/ucx/x86_64/centos8-mofed5-cuda11:3
- container: ubuntu18_cuda11
- container: ubuntu16_cuda11_x86_64
image: rdmz-harbor.rdmz.labs.mlnx/ucx/x86_64/ubuntu16.04-mofed5-cuda11:3
- container: ubuntu18_cuda11_x86_64
image: rdmz-harbor.rdmz.labs.mlnx/ucx/x86_64/ubuntu18.04-mofed5-cuda11:3
- container: ubuntu20_cuda11
- container: ubuntu20_cuda11_x86_64
image: rdmz-harbor.rdmz.labs.mlnx/ucx/x86_64/ubuntu20.04-mofed5-cuda11:3
- container: ubuntu22_cuda11
- container: ubuntu22_cuda11_x86_64
image: rdmz-harbor.rdmz.labs.mlnx/ucx/x86_64/ubuntu22.04-mofed5-cuda11:3
- container: centos7_cuda12
- container: centos7_cuda12_x86_64
image: rdmz-harbor.rdmz.labs.mlnx/ucx/x86_64/centos7-mofed5-cuda12:3
options: $(DOCKER_OPT_VOLUMES)
- container: ubuntu18_cuda12
- container: ubuntu18_cuda12_x86_64
image: rdmz-harbor.rdmz.labs.mlnx/ucx/x86_64/ubuntu18.04-mofed5-cuda12:3
- container: ubuntu20_cuda12
- container: ubuntu20_cuda12_x86_64
image: rdmz-harbor.rdmz.labs.mlnx/ucx/x86_64/ubuntu20.04-mofed5-cuda12:3
- container: ubuntu22_cuda12
- container: ubuntu22_cuda12_x86_64
image: rdmz-harbor.rdmz.labs.mlnx/ucx/x86_64/ubuntu22.04-mofed5-cuda12:3

# aarch64
- container: centos8_cuda11_aarch64
image: rdmz-harbor.rdmz.labs.mlnx/ucx/aarch64/centos8-mofed5-cuda11:3
- container: ubuntu18_cuda11_aarch64
image: rdmz-harbor.rdmz.labs.mlnx/ucx/aarch64/ubuntu18.04-mofed5-cuda11:3
- container: ubuntu20_cuda11_aarch64
image: rdmz-harbor.rdmz.labs.mlnx/ucx/aarch64/ubuntu20.04-mofed5-cuda11:3
- container: ubuntu22_cuda11_aarch64
image: rdmz-harbor.rdmz.labs.mlnx/ucx/aarch64/ubuntu22.04-mofed5-cuda11:3
- container: ubuntu20_cuda12_aarch64
image: rdmz-harbor.rdmz.labs.mlnx/ucx/aarch64/ubuntu20.04-mofed5-cuda12:3
- container: ubuntu22_cuda12_aarch64
image: rdmz-harbor.rdmz.labs.mlnx/ucx/aarch64/ubuntu22.04-mofed5-cuda12:3

stages:
- stage: Prepare
jobs:
- job: CheckRelease
pool:
name: MLNX
demands:
- ucx_docker -equals yes
- ucx_docker
steps:
- checkout: self
fetchDepth: 100
Expand All @@ -56,50 +73,23 @@ stages:
name: Result
displayName: Check build condition
# Create an empty draft to avoid race condition in distro releases
- stage: GitHubDraft
condition: eq(dependencies.Prepare.outputs['CheckRelease.Result.Launch'], 'True')
dependsOn: Prepare
jobs:
- job: DraftRelease
displayName: Create draft release
container: centos7_cuda11
pool:
name: MLNX
demands:
- ucx_docker -equals yes
steps:
- checkout: self
clean: true
fetchDepth: 100
path: "we/need/to/go/deeper"

- bash: ./autogen.sh
displayName: Setup autotools
- template: az-GitHubDraft.yml
parameters:
name: x86_64
container: centos7_cuda11_x86_64
demands: ucx_docker

- bash: |
set -eE
gcc --version
./contrib/configure-release --with-java=no
./contrib/buildrpm.sh -s -t -b
displayName: Build tarball
- template: az-GitHubDraft.yml
parameters:
name: aarch64
container: centos8_cuda11_aarch64
demands: ucx-arm64

- task: GithubRelease@0
condition: eq(variables['Build.Reason'], 'IndividualCI')
displayName: Create/edit GitHub Draft Release
inputs:
githubConnection: release
repositoryName: openucx/ucx
action: edit
tag: $(Build.SourceBranchName)
isDraft: true
addChangeLog: false
releaseNotesSource: file
releaseNotesFile: NEWS
assetUploadMode: replace
assets: |
./ucx-*.tar.gz
./rpm-dist/ucx-*.src.rpm

- stage: Build
displayName: Build binary packages
Expand All @@ -109,9 +99,11 @@ stages:
condition: eq(dependencies.Prepare.outputs['CheckRelease.Result.Launch'], 'True')
jobs:
- template: az-distro-release.yml
- template: jucx/jucx-publish.yml
parameters:
${{ if eq(variables['Build.Reason'], 'IndividualCI') }}:
target: publish-release
${{ if eq(variables['Build.Reason'], 'PullRequest') }}:
target: package
name: x86_64
demands: ucx_docker

- template: az-distro-release.yml
parameters:
name: aarch64
demands: ucx-arm64
12 changes: 0 additions & 12 deletions buildlib/dockers/docker-compose-aarch64.yml
Original file line number Diff line number Diff line change
Expand Up @@ -57,18 +57,6 @@ services:
CUDA_VERSION: 11.7.0
NV_DRIVER_VERSION: 515
ARCH: aarch64
centos7-mofed5-cuda12:
image: centos7-mofed5-cuda12:3
build:
context: .
network: host
dockerfile: centos-release.Dockerfile
args:
MOFED_VERSION: 5.0-1.0.0.0
MOFED_OS: rhel7.6
CUDA_VERSION: 12.0.0
OS_VERSION: 7
ARCH: aarch64
ubuntu20.04-mofed5-cuda12:
image: ubuntu20.04-mofed5-cuda12:3
build:
Expand Down
2 changes: 1 addition & 1 deletion buildlib/tools/common.sh
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ MVN_MODULE="dev/mvn"
XPMEM_MODULE="dev/xpmem-90a95a4"
PGI_MODULE="hpc-sdk/nvhpc/21.2"
GCC_MODULE="dev/gcc-10.1.0"
ARM_MODULE="arm-compiler/armcc-19.0"
ARM_MODULE="arm-compiler/armcc-22.1_RHEL7"
INTEL_MODULE="intel/ics-19.1.1"
FUSE3_MODULE="dev/fuse-3.10.5"

Expand Down

0 comments on commit 3214713

Please sign in to comment.