Skip to content
This repository has been archived by the owner on Dec 2, 2021. It is now read-only.

Commit

Permalink
CART-89 build: Improvements for GA supportability
Browse files Browse the repository at this point in the history
Several improvements to enhance supportability of DAOS 1.0 once it's
released:
- remove libfabric requirement as that's mercury's job
- require mercury to be < 2.0.0a1 as that was an improper way of
  specifying a pre-release
  - would prefer to set a minimum version also however
    rpm-software-management/yum#124

Signed-off-by: Brian J. Murrell <[email protected]>
PR-repos: mercury@PR-44

Relax minimum version of mercury

Due to rpm-software-management/yum#124

PR-repos: mercury@PR-44
Signed-off-by: Brian J. Murrell <[email protected]>
  • Loading branch information
brianjmurrell committed May 9, 2020
1 parent 0fa54d9 commit 47eb230
Show file tree
Hide file tree
Showing 3 changed files with 54 additions and 18 deletions.
43 changes: 33 additions & 10 deletions Jenkinsfile
Original file line number Diff line number Diff line change
Expand Up @@ -40,12 +40,35 @@
// I.e. for testing library changes
//@Library(value="pipeline-lib@your_branch") _


def component_repos() {
return cachedCommitPragma(pragma: 'PR-repos')
}

def cart_repo() {
return "cart@${env.BRANCH_NAME}:${env.BUILD_NUMBER}"
}

def cart_repos() {
return component_repos() + ' ' + cart_repo()
}

commit_pragma_cache = [:]
def cachedCommitPragma(Map config) {

if (commit_pragma_cache[config['pragma']]) {
return commit_pragma_cache[config['pragma']]
}

commit_pragma_cache[config['pragma']] = commitPragma(config)

return commit_pragma_cache[config['pragma']]

}

def arch = "-Linux"
def sanitized_JOB_NAME = JOB_NAME.toLowerCase().replaceAll('/', '-').replaceAll('%2f', '-')

def component_repos = ""
def cart_repo = "cart@${env.BRANCH_NAME}:${env.BUILD_NUMBER}"
def cart_repos = component_repos + ' ' + cart_repo
//def cart_rpms = "openpa libfabric mercury"
// don't need to install any RPMs for testing yet
def cart_rpms = "openmpi3"
Expand Down Expand Up @@ -424,7 +447,7 @@ pipeline {
additionalBuildArgs "-t ${sanitized_JOB_NAME}-centos7 " +
'$BUILDARGS ' +
'--build-arg QUICKBUILD=' + env.QUICKBUILD +
' --build-arg REPOS="' + component_repos + '"'
' --build-arg REPOS="' + component_repos() + '"'
}
}
steps {
Expand Down Expand Up @@ -992,7 +1015,7 @@ pipeline {
additionalBuildArgs "-t ${sanitized_JOB_NAME}-centos7 " +
'$BUILDARGS ' +
'--build-arg QUICKBUILD=0' +
' --build-arg REPOS="' + cart_repos + '"'
' --build-arg REPOS="' + cart_repos() + '"'
}
}
steps {
Expand Down Expand Up @@ -1040,7 +1063,7 @@ pipeline {
provisionNodes NODELIST: env.NODELIST,
node_count: 1,
snapshot: true,
inst_repos: component_repos,
inst_repos: component_repos(),
inst_rpms: cart_rpms
timeout (time: 30, unit: 'MINUTES') {
runTest stashes: [ 'CentOS-install', 'CentOS-build-vars' ],
Expand Down Expand Up @@ -1102,7 +1125,7 @@ pipeline {
provisionNodes NODELIST: env.NODELIST,
node_count: 1,
snapshot: true,
inst_repos: component_repos,
inst_repos: component_repos(),
inst_rpms: cart_rpms
timeout (time: 30, unit: 'MINUTES') {
runTest stashes: [ 'CentOS-install', 'CentOS-build-vars' ],
Expand Down Expand Up @@ -1178,7 +1201,7 @@ pipeline {
provisionNodes NODELIST: env.NODELIST,
node_count: 2,
snapshot: true,
inst_repos: component_repos,
inst_repos: component_repos(),
inst_rpms: cart_rpms
timeout (time: 30, unit: 'MINUTES') {
runTest stashes: [ 'CentOS-install', 'CentOS-build-vars' ],
Expand Down Expand Up @@ -1240,7 +1263,7 @@ pipeline {
provisionNodes NODELIST: env.NODELIST,
node_count: 3,
snapshot: true,
inst_repos: component_repos,
inst_repos: component_repos(),
inst_rpms: cart_rpms
timeout (time: 30, unit: 'MINUTES') {
runTest stashes: [ 'CentOS-install', 'CentOS-build-vars' ],
Expand Down Expand Up @@ -1302,7 +1325,7 @@ pipeline {
provisionNodes NODELIST: env.NODELIST,
node_count: 5,
snapshot: true,
inst_repos: component_repos,
inst_repos: component_repos(),
inst_rpms: cart_rpms
timeout (time: 30, unit: 'MINUTES') {
runTest stashes: [ 'CentOS-install', 'CentOS-build-vars' ],
Expand Down
2 changes: 2 additions & 0 deletions utils/rpms/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@ SLES_12_REPOS := https://download.opensuse.org/repositories/science:/HPC/open
https://download.opensuse.org/repositories/science:/HPC:/SLE12SP3_Missing/SLE_12_SP3/ \
https://download.opensuse.org/repositories/devel:libraries:c_c++/SLE_12_SP3/

PR_REPOS := $(shell set -x; git show -s --format=%B | sed -ne 's/^PR-repos: *\(.*\)/\1/p')

GIT_SHA1 := $(shell git rev-parse HEAD)
GIT_SHORT := $(shell git rev-parse --short HEAD)
GIT_NUM_COMMITS := $(shell git rev-list HEAD --count)
Expand Down
27 changes: 19 additions & 8 deletions utils/rpms/cart.spec
Original file line number Diff line number Diff line change
@@ -1,10 +1,8 @@
%global carthome %{_exec_prefix}/lib/%{name}

%global mercury_version 2.0.0a1-0.8.git.4871023%{?dist}

Name: cart
Version: 4.7.0
Release: 1%{?relval}%{?dist}
Release: 2%{?relval}%{?dist}
Summary: CaRT

License: Apache
Expand All @@ -13,9 +11,11 @@ Source0: %{name}-%{version}.tar.gz
Source1: scons_local-%{version}.tar.gz

BuildRequires: scons >= 2.4
BuildRequires: libfabric-devel
BuildRequires: openpa-devel
BuildRequires: mercury-devel = %{mercury_version}
BuildRequires: mercury-devel < 2.0.0a1
# we ideally want to set this minimum version however it seems to confuse yum:
# https://github.com/rpm-software-management/yum/issues/124
#BuildRequires: mercury-devel >= 2.0.0~a1
BuildRequires: openmpi3-devel
BuildRequires: libpsm2-devel
BuildRequires: libevent-devel
Expand All @@ -41,7 +41,10 @@ Provides: %{name}-%{sha1}
# This should only be temporary until we can get a stable upstream release
# of mercury, at which time the autoprov shared library version should
# suffice
Requires: mercury = %{mercury_version}
Requires: mercury < 2.0.0a1
# we ideally want to set this minimum version however it seems to confuse yum:
# https://github.com/rpm-software-management/yum/issues/124
#Requires: mercury >= 2.0.0~a1

%description
Collective and RPC Transport (CaRT)
Expand All @@ -60,9 +63,11 @@ Requires: %{name} = %{version}-%{release}
Requires: libuuid-devel
Requires: libyaml-devel
Requires: boost-devel
Requires: mercury-devel = %{mercury_version}
Requires: mercury-devel < 2.0.0a1
# we ideally want to set this minimum version however it seems to confuse yum:
# https://github.com/rpm-software-management/yum/issues/124
#Requires: mercury >= 2.0.0~a1
Requires: openpa-devel
Requires: libfabric-devel
Requires: hwloc-devel
%if %{defined sha1}
Provides: %{name}-devel-%{sha1}
Expand Down Expand Up @@ -148,6 +153,12 @@ ln %{?buildroot}%{carthome}/{TESTING/.build_vars,.build_vars-Linux}.sh


%changelog
* Thu May 07 2020 Brian J. Murrell <[email protected]> - 4.7.0-2
- Allow a range of versions for mercury to allow for future updates
- but need to set an upper limit so we don't get the mis-versioned
2.0.0a1
- Remove requires on libfabric-devel. That's mercury's job.

* Fri May 01 2020 Alexander Oganezov <[email protected]> - 4.7.0-1
- Bumped version to 4.7.0, as it was previously missed when new fi function
was added
Expand Down

0 comments on commit 47eb230

Please sign in to comment.