Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 3 additions & 4 deletions buildlib/az-github-draft.yml
Original file line number Diff line number Diff line change
@@ -1,13 +1,12 @@
# Create an empty draft to avoid race condition in distro release

parameters:
arch:
container:
container:
demands: []

jobs:
- job: DraftRelease_${{ parameters.arch }}
displayName: Draft release ${{ parameters.arch }}
- job: DraftRelease
displayName: Draft release
container: ${{ parameters.container }}
pool:
name: MLNX
Expand Down
149 changes: 0 additions & 149 deletions buildlib/azure-pipelines-release-drp.yml

This file was deleted.

117 changes: 68 additions & 49 deletions buildlib/azure-pipelines-release.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
# See https://aka.ms/yaml
# This pipeline to be run on tags creation
# This pipeline is used for both regular and DRP releases.
# Two Azure DevOps pipeline definitions point to this file:
# - "UCX release" (production)
# - "UCX release DRP" (disaster recovery, using harbor-pdc registry and *_drp agents)
# Build.DefinitionName is used to detect which mode is active.

trigger:
tags:
Expand All @@ -9,73 +12,95 @@ pr:
- master
- v*.*.x

schedules:
- cron: '0 0 * * 6'
displayName: Saturday night test
always: true
branches:
include:
- master

variables:
DOCKER_OPT_VOLUMES: -v /hpc/local:/hpc/local
${{ if contains(variables['Build.DefinitionName'], 'DRP') }}:
REPO_MIRROR: 'harbor-pdc.nvidia.com'
DEMANDS_DOCKER: 'ucx_docker_drp'
DEMANDS_ARM: 'ucx_arm64_drp'
TITLE_MASK: 'AZP/DRP-RELEASE: '
${{ else }}:
REPO_MIRROR: 'rdmz-harbor.rdmz.labs.mlnx'
DEMANDS_DOCKER: 'ucx_docker'
DEMANDS_ARM: 'ucx-arm64'
TITLE_MASK: 'AZP/RELEASE: '
${{ if eq(variables['Build.Reason'], 'IndividualCI') }}:
JUCX_TARGET: 'publish-release'
${{ else }}:
JUCX_TARGET: 'publish-snapshot'

resources:
containers:
# x86_64
- container: centos7_cuda11_x86_64
image: rdmz-harbor.rdmz.labs.mlnx/ucx/x86_64/centos7-mofed5-cuda11:3
image: $(REPO_MIRROR)/ucx/x86_64/centos7-mofed5-cuda11:3
options: $(DOCKER_OPT_VOLUMES)
- container: centos8_cuda11_x86_64
image: rdmz-harbor.rdmz.labs.mlnx/ucx/x86_64/centos8-mofed5-cuda11:3
image: $(REPO_MIRROR)/ucx/x86_64/centos8-mofed5-cuda11:3
options: $(DOCKER_OPT_VOLUMES)
- container: ubuntu16_cuda11_x86_64
image: rdmz-harbor.rdmz.labs.mlnx/ucx/x86_64/ubuntu16.04-mofed5-cuda11:3
image: $(REPO_MIRROR)/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
image: $(REPO_MIRROR)/ucx/x86_64/ubuntu18.04-mofed5-cuda11:3
- container: ubuntu20_cuda11_x86_64
image: rdmz-harbor.rdmz.labs.mlnx/ucx/x86_64/ubuntu20.04-mofed5-cuda11:3
image: $(REPO_MIRROR)/ucx/x86_64/ubuntu20.04-mofed5-cuda11:3
- container: ubuntu22_cuda11_x86_64
image: rdmz-harbor.rdmz.labs.mlnx/ucx/x86_64/ubuntu22.04-mofed5-cuda11:3
image: $(REPO_MIRROR)/ucx/x86_64/ubuntu22.04-mofed5-cuda11:3
- container: centos7_cuda12_x86_64
image: rdmz-harbor.rdmz.labs.mlnx/ucx/x86_64/centos7-mofed5-cuda12:3
image: $(REPO_MIRROR)/ucx/x86_64/centos7-mofed5-cuda12:3
options: $(DOCKER_OPT_VOLUMES)
- container: ubuntu18_cuda12_x86_64
image: rdmz-harbor.rdmz.labs.mlnx/ucx/x86_64/ubuntu18.04-mofed5-cuda12:3
image: $(REPO_MIRROR)/ucx/x86_64/ubuntu18.04-mofed5-cuda12:3
- container: ubuntu20_cuda12_x86_64
image: rdmz-harbor.rdmz.labs.mlnx/ucx/x86_64/ubuntu20.04-mofed5-cuda12:3
image: $(REPO_MIRROR)/ucx/x86_64/ubuntu20.04-mofed5-cuda12:3
- container: ubuntu22_cuda12_x86_64
image: rdmz-harbor.rdmz.labs.mlnx/ucx/x86_64/ubuntu22.04-mofed5-cuda12:3
image: $(REPO_MIRROR)/ucx/x86_64/ubuntu22.04-mofed5-cuda12:3
- container: ubuntu24_cuda12_x86_64
image: rdmz-harbor.rdmz.labs.mlnx/ucx/x86_64/ubuntu24.04-mofed24.10-cuda12.5:1
image: $(REPO_MIRROR)/ucx/x86_64/ubuntu24.04-mofed24.10-cuda12.5:1
- container: ubuntu22_cuda13_x86_64
image: rdmz-harbor.rdmz.labs.mlnx/ucx/x86_64/ubuntu22.04-mofed5-cuda13:1
image: $(REPO_MIRROR)/ucx/x86_64/ubuntu22.04-mofed5-cuda13:1
- container: ubuntu24_cuda13_x86_64
image: rdmz-harbor.rdmz.labs.mlnx/ucx/x86_64/ubuntu24.04-mofed24.10-cuda13:1
image: $(REPO_MIRROR)/ucx/x86_64/ubuntu24.04-mofed24.10-cuda13:1
- container: rocky8_cuda13_x86_64
image: rdmz-harbor.rdmz.labs.mlnx/ucx/x86_64/rocky8-mofed24.10-cuda13:1
image: $(REPO_MIRROR)/ucx/x86_64/rocky8-mofed24.10-cuda13:1
options: $(DOCKER_OPT_VOLUMES)
- container: rocky9_cuda13_x86_64
image: rdmz-harbor.rdmz.labs.mlnx/ucx/x86_64/rocky9-mofed24.10-cuda13:1
image: $(REPO_MIRROR)/ucx/x86_64/rocky9-mofed24.10-cuda13:1
options: $(DOCKER_OPT_VOLUMES)

# aarch64
- container: centos8_cuda11_aarch64
image: rdmz-harbor.rdmz.labs.mlnx/ucx/aarch64/centos8-mofed5-cuda11:3
image: $(REPO_MIRROR)/ucx/aarch64/centos8-mofed5-cuda11:3
options: $(DOCKER_OPT_VOLUMES)
- container: ubuntu18_cuda11_aarch64
image: rdmz-harbor.rdmz.labs.mlnx/ucx/aarch64/ubuntu18.04-mofed5-cuda11:3
image: $(REPO_MIRROR)/ucx/aarch64/ubuntu18.04-mofed5-cuda11:3
- container: ubuntu20_cuda11_aarch64
image: rdmz-harbor.rdmz.labs.mlnx/ucx/aarch64/ubuntu20.04-mofed5-cuda11:3
image: $(REPO_MIRROR)/ucx/aarch64/ubuntu20.04-mofed5-cuda11:3
- container: ubuntu22_cuda11_aarch64
image: rdmz-harbor.rdmz.labs.mlnx/ucx/aarch64/ubuntu22.04-mofed5-cuda11:3
image: $(REPO_MIRROR)/ucx/aarch64/ubuntu22.04-mofed5-cuda11:3
- container: ubuntu20_cuda12_aarch64
image: rdmz-harbor.rdmz.labs.mlnx/ucx/aarch64/ubuntu20.04-mofed5-cuda12:3
image: $(REPO_MIRROR)/ucx/aarch64/ubuntu20.04-mofed5-cuda12:3
- container: ubuntu22_cuda12_aarch64
image: rdmz-harbor.rdmz.labs.mlnx/ucx/aarch64/ubuntu22.04-mofed5-cuda12:3
image: $(REPO_MIRROR)/ucx/aarch64/ubuntu22.04-mofed5-cuda12:3
- container: ubuntu24_cuda12_aarch64
image: rdmz-harbor.rdmz.labs.mlnx/ucx/aarch64/ubuntu24.04-mofed24.10-cuda12.5:1
image: $(REPO_MIRROR)/ucx/aarch64/ubuntu24.04-mofed24.10-cuda12.5:1
- container: ubuntu22_cuda13_aarch64
image: rdmz-harbor.rdmz.labs.mlnx/ucx/aarch64/ubuntu22.04-mofed5-cuda13:1
image: $(REPO_MIRROR)/ucx/aarch64/ubuntu22.04-mofed5-cuda13:1
- container: ubuntu24_cuda13_aarch64
image: rdmz-harbor.rdmz.labs.mlnx/ucx/aarch64/ubuntu24.04-mofed24.10-cuda13:1
image: $(REPO_MIRROR)/ucx/aarch64/ubuntu24.04-mofed24.10-cuda13:1
- container: rocky8_cuda13_aarch64
image: rdmz-harbor.rdmz.labs.mlnx/ucx/aarch64/rocky8-mofed24.10-cuda13:2
image: $(REPO_MIRROR)/ucx/aarch64/rocky8-mofed24.10-cuda13:2
options: $(DOCKER_OPT_VOLUMES)
- container: rocky9_cuda13_aarch64
image: rdmz-harbor.rdmz.labs.mlnx/ucx/aarch64/rocky9-mofed24.10-cuda13:2
image: $(REPO_MIRROR)/ucx/aarch64/rocky9-mofed24.10-cuda13:2
options: $(DOCKER_OPT_VOLUMES)

stages:
Expand All @@ -85,7 +110,7 @@ stages:
pool:
name: MLNX
demands:
- ucx_docker
- ${{variables.DEMANDS_DOCKER}}
workspace:
clean: all
steps:
Expand All @@ -98,27 +123,21 @@ stages:
set -eE
source ./buildlib/az-helpers.sh
set -x
check_release_build $(Build.Reason) $(Build.SourceVersion) "AZP/RELEASE: "
check_release_build $(Build.Reason) $(Build.SourceVersion) "$(TITLE_MASK)"
name: Result
displayName: Check build condition

${{ if contains(variables['Build.DefinitionName'], 'DRP') }}:
env:
AZURE_DEVOPS_EXT_PAT: $(AZURE_DEVOPS_EXT_PAT)

- stage: GitHubDraft
condition: eq(dependencies.Prepare.outputs['CheckRelease.Result.Launch'], 'True')
dependsOn: Prepare
jobs:
- template: az-github-draft.yml
parameters:
arch: x86_64
container: centos7_cuda11_x86_64
demands: ucx_docker

- template: az-github-draft.yml
parameters:
arch: aarch64
container: centos8_cuda11_aarch64
demands: ucx-arm64

- template: az-github-draft.yml
parameters:
container: centos7_cuda11_x86_64
demands: ${{variables.DEMANDS_DOCKER}}

- stage: Build
displayName: Build binary packages
Expand All @@ -130,23 +149,23 @@ stages:
- template: az-distro-release.yml
parameters:
arch: x86_64
demands: ucx_docker
demands: ${{variables.DEMANDS_DOCKER}}

- template: az-distro-release.yml
parameters:
arch: aarch64
demands: ucx-arm64
demands: ${{variables.DEMANDS_ARM}}

- template: jucx/jucx-build.yml
parameters:
arch: amd64
container: centos8_cuda11_x86_64
demands: ucx_docker
target: publish-release
demands: ${{variables.DEMANDS_DOCKER}}
target: ${{variables.JUCX_TARGET}}

- template: jucx/jucx-build.yml
parameters:
arch: aarch64
container: centos8_cuda11_aarch64
demands: ucx-arm64
target: publish-release
demands: ${{variables.DEMANDS_ARM}}
target: ${{variables.JUCX_TARGET}}
Loading