Skip to content
This repository was archived by the owner on Dec 2, 2021. It is now read-only.
Open
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
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,9 +1,7 @@
%global carthome %{_exec_prefix}/lib/%{name}

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

Name: cart
Version: 4.8.0
Version: 4.8.1
Release: 1%{?relval}%{?dist}
Summary: CaRT

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
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It seems like there's a lot of flip-flopping between using the macro version and hard-coding it... Maybe I don't understand the relationship between the PRs.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, because the concept with the macro was that it was an exact version but now we are migrating to any version less than. I don't want people mistakingly continuing to populate the macro as an exact version when it's actually being used as a less than as the results would be not at all what they are looking for.

This really is just a 1.0 branch issue, for future supportability.

# 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 @@ -149,6 +154,12 @@ ln %{?buildroot}%{carthome}/{TESTING/.build_vars,.build_vars-Linux}.sh


%changelog
* Tue Jun 23 2020 Brian J. Murrell <brian.murrell@intel.com> - 4.8.1-1
- 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.

* Wed May 19 2020 Maureen Jean <maureen.jean@intel.com> - 4.8.0-1
- add fault_status to cart-tests files list

Expand Down