diff --git a/buildlib/az-github-draft.yml b/buildlib/az-github-draft.yml index 2dca59d2712..c34ced059eb 100644 --- a/buildlib/az-github-draft.yml +++ b/buildlib/az-github-draft.yml @@ -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 diff --git a/buildlib/azure-pipelines-release-drp.yml b/buildlib/azure-pipelines-release-drp.yml deleted file mode 100644 index bd4141bbdb0..00000000000 --- a/buildlib/azure-pipelines-release-drp.yml +++ /dev/null @@ -1,149 +0,0 @@ -trigger: - tags: - include: - - v* -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 - REPO_MIRROR: harbor-pdc.nvidia.com - -resources: - containers: - # x86_64 - - container: centos7_cuda11_x86_64 - image: $(REPO_MIRROR)/ucx/x86_64/centos7-mofed5-cuda11:3 - options: $(DOCKER_OPT_VOLUMES) - - container: centos8_cuda11_x86_64 - image: $(REPO_MIRROR)/ucx/x86_64/centos8-mofed5-cuda11:3 - options: $(DOCKER_OPT_VOLUMES) - - container: ubuntu16_cuda11_x86_64 - image: $(REPO_MIRROR)/ucx/x86_64/ubuntu16.04-mofed5-cuda11:3 - - container: ubuntu18_cuda11_x86_64 - image: $(REPO_MIRROR)/ucx/x86_64/ubuntu18.04-mofed5-cuda11:3 - - container: ubuntu20_cuda11_x86_64 - image: $(REPO_MIRROR)/ucx/x86_64/ubuntu20.04-mofed5-cuda11:3 - - container: ubuntu22_cuda11_x86_64 - image: $(REPO_MIRROR)/ucx/x86_64/ubuntu22.04-mofed5-cuda11:3 - - container: centos7_cuda12_x86_64 - image: $(REPO_MIRROR)/ucx/x86_64/centos7-mofed5-cuda12:3 - options: $(DOCKER_OPT_VOLUMES) - - container: ubuntu18_cuda12_x86_64 - image: $(REPO_MIRROR)/ucx/x86_64/ubuntu18.04-mofed5-cuda12:3 - - container: ubuntu20_cuda12_x86_64 - image: $(REPO_MIRROR)/ucx/x86_64/ubuntu20.04-mofed5-cuda12:3 - - container: ubuntu24_cuda12_x86_64 - image: $(REPO_MIRROR)/ucx/x86_64/ubuntu24.04-mofed24.10-cuda12.5:1 - - container: ubuntu22_cuda13_x86_64 - image: $(REPO_MIRROR)/ucx/x86_64/ubuntu22.04-mofed5-cuda13:1 - - container: ubuntu24_cuda13_x86_64 - image: $(REPO_MIRROR)/ucx/x86_64/ubuntu24.04-mofed24.10-cuda13:1 - - container: rocky8_cuda13_x86_64 - image: $(REPO_MIRROR)/ucx/x86_64/rocky8-mofed24.10-cuda13:1 - options: $(DOCKER_OPT_VOLUMES) - - container: rocky9_cuda13_x86_64 - image: $(REPO_MIRROR)/ucx/x86_64/rocky9-mofed24.10-cuda13:1 - options: $(DOCKER_OPT_VOLUMES) - - # aarch64 - - container: centos8_cuda11_aarch64 - image: $(REPO_MIRROR)/ucx/aarch64/centos8-mofed5-cuda11:3 - options: $(DOCKER_OPT_VOLUMES) - - container: ubuntu18_cuda11_aarch64 - image: $(REPO_MIRROR)/ucx/aarch64/ubuntu18.04-mofed5-cuda11:3 - - container: ubuntu20_cuda11_aarch64 - image: $(REPO_MIRROR)/ucx/aarch64/ubuntu20.04-mofed5-cuda11:3 - - container: ubuntu22_cuda11_aarch64 - image: $(REPO_MIRROR)/ucx/aarch64/ubuntu22.04-mofed5-cuda11:3 - - container: ubuntu20_cuda12_aarch64 - image: $(REPO_MIRROR)/ucx/aarch64/ubuntu20.04-mofed5-cuda12:3 - - container: ubuntu22_cuda12_aarch64 - image: $(REPO_MIRROR)/ucx/aarch64/ubuntu22.04-mofed5-cuda12:3 - - container: ubuntu24_cuda12_aarch64 - image: $(REPO_MIRROR)/ucx/aarch64/ubuntu24.04-mofed24.10-cuda12.5:1 - - container: ubuntu22_cuda13_aarch64 - image: $(REPO_MIRROR)/ucx/aarch64/ubuntu22.04-mofed5-cuda13:1 - - container: ubuntu24_cuda13_aarch64 - image: $(REPO_MIRROR)/ucx/aarch64/ubuntu24.04-mofed24.10-cuda13:1 - - container: rocky8_cuda13_aarch64 - image: $(REPO_MIRROR)/ucx/aarch64/rocky8-mofed24.10-cuda13:2 - options: $(DOCKER_OPT_VOLUMES) - - container: rocky9_cuda13_aarch64 - image: $(REPO_MIRROR)/ucx/aarch64/rocky9-mofed24.10-cuda13:2 - options: $(DOCKER_OPT_VOLUMES) - -stages: - - stage: Prepare - jobs: - - job: CheckRelease - pool: - name: MLNX - demands: - - ucx_docker_drp - workspace: - clean: all - steps: - - checkout: self - fetchDepth: 100 - clean: true - retryCountOnTaskFailure: 5 - - - bash: | - set -eE - source ./buildlib/az-helpers.sh - set -x - check_release_build $(Build.Reason) $(Build.SourceVersion) "AZP/DRP-RELEASE: " - name: Result - displayName: Check build condition - 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: - container: centos7_cuda11_x86_64 - demands: ucx_docker_drp - - - stage: Build - displayName: Build binary packages - dependsOn: - - Prepare - - GitHubDraft - condition: eq(dependencies.Prepare.outputs['CheckRelease.Result.Launch'], 'True') - jobs: - - template: az-distro-release.yml - parameters: - arch: x86_64 - demands: ucx_docker_drp - - - template: az-distro-release.yml - parameters: - arch: aarch64 - demands: ucx_arm64_drp - - - template: jucx/jucx-build.yml - parameters: - arch: amd64 - container: centos8_cuda11_x86_64 - demands: ucx_docker_drp - target: publish-release - - - template: jucx/jucx-build.yml - parameters: - arch: aarch64 - container: centos8_cuda11_aarch64 - demands: ucx_arm64_drp - target: publish-release diff --git a/buildlib/azure-pipelines-release.yml b/buildlib/azure-pipelines-release.yml index 028f3f29d32..0f8e6c059ed 100644 --- a/buildlib/azure-pipelines-release.yml +++ b/buildlib/azure-pipelines-release.yml @@ -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: @@ -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: @@ -85,7 +110,7 @@ stages: pool: name: MLNX demands: - - ucx_docker + - ${{variables.DEMANDS_DOCKER}} workspace: clean: all steps: @@ -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 @@ -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}}