Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Framework: PR testing changed packages #3218

Merged
merged 10 commits into from
Aug 5, 2018
57 changes: 39 additions & 18 deletions cmake/std/PullRequestLinuxDriver.sh
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
#!/bin/env bash
#!/usr/bin/env bash
# set -x # echo commands

export https_proxy=https://wwwproxy.sandia.gov:80
export http_proxy=http://wwwproxy.sandia.gov:80
Expand Down Expand Up @@ -100,14 +101,6 @@ exit $ierror
fi

cd ../
#process list of changes here with script and save to 'packageEnables'
declare packageEnables=$(bash Trilinos/commonTools/test/utilities/changedPackages.bash)
ierror=$?
if [[ $ierror != 0 ]]; then
echo "There was an issue creating the list of package enables. The error code was: $ierror"
exit $ierror
fi
echo "List of package enables is: $packageEnables"

# Set up the full environment for the build
if [ "Trilinos_pullrequest_gcc_4.8.4" == "${JOB_BASE_NAME:?}" ]
Expand All @@ -134,6 +127,18 @@ then
echo "There was an issue loading the intel environment. The error code was: $ierror"
exit $ierror
fi
# --- BEGIN SCAFFOLDING ---
# nurgleflurgle... name match! can we change this to a regex or something to
Copy link
Contributor

Choose a reason for hiding this comment

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

"nurgleflurgle"?

# allow separate testing jobs!?
#elif [ "Trilinos_pullrequest_gcc_4.9.3_wcmclen_test" == "${JOB_BASE_NAME:?}" ]
#then
# source Trilinos/cmake/std/sems/PullRequestGCC4.9.3TestingEnv.sh
# ierror=$?
# if [[ $ierror != 0 ]]; then
# echo "There was an issue loading the gcc environment. The error code was: $ierror"
# exit $ierror
# fi
# --- END SCAFFOLDING ---
else
ierror=42
echo "There was an issue loading the proper environment. The error code was: $ierror"
Expand All @@ -154,7 +159,16 @@ echo "CDash Track = ${CDASH_TRACK:?}"
#-------------------------------------
# Doing configure/build/test/submit
#-------------------------------------
echo $packageEnables | sed -e "s/-D\([^= ]*\)=\([^ ]*\)/set(\1 \2 CACHE BOOL \"Enabled by PR package enable file.\")^/g" | tr "^" "\n" > packageEnables.cmake
rm packageEnables.cmake
changed_packages_app=Trilinos/commonTools/framework/get-changed-trilinos-packages.sh
${changed_packages_app} ${TRILINOS_SOURCE_SHA} ${TRILINOS_TARGET_SHA} packageEnables.cmake

ierror=$?
if [[ $ierror != 0 ]]; then
echo "There was an issue generating packageEnables.cmake. The error code was: $ierror"
exit $ierror
fi


build_name="PR-$PULLREQUESTNUM-test-$JOB_BASE_NAME-$BUILD_NUMBER"

Expand All @@ -164,15 +178,19 @@ cd TFW_testing_single_configure_prototype

if [ "icc" == ${CC:?} ]
then
CONFIG_SCRIPT=PullRequestLinuxIntelTestingSettings.cmake
CONFIG_SCRIPT=PullRequestLinuxIntelTestingSettings.cmake
else
if [ "Trilinos_pullrequest_gcc_4.8.4" == "${JOB_BASE_NAME:?}" ]
then
CONFIG_SCRIPT=PullRequestLinuxGCC4.8.4TestingSettings.cmake
elif [ "Trilinos_pullrequest_gcc_4.9.3" == "${JOB_BASE_NAME:?}" ]
then
CONFIG_SCRIPT=PullRequestLinuxGCC4.9.3TestingSettings.cmake
fi
if [ "Trilinos_pullrequest_gcc_4.8.4" == "${JOB_BASE_NAME:?}" ]; then
CONFIG_SCRIPT=PullRequestLinuxGCC4.8.4TestingSettings.cmake
elif [ "Trilinos_pullrequest_gcc_4.9.3" == "${JOB_BASE_NAME:?}" ]; then
CONFIG_SCRIPT=PullRequestLinuxGCC4.9.3TestingSettings.cmake
# --- BEGIN SCAFFOLDING ---
# nurgleflurgle... name match! can we change this to a regex or something to
Copy link
Contributor

Choose a reason for hiding this comment

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

"nurgleflurgle"?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

hah... as noted in my 1st comment -- all the stuff in scaffolding blocks will be removed before merging. This was just in there because the testing scripts do a name-match on the Jenkins job... once the framework team is ready to merge this in, I'll remove those comment blocks.

# allow separate testing jobs!?
#elif [ "Trilinos_pullrequest_gcc_4.9.3_wcmclen_test" == "${JOB_BASE_NAME:?}" ]; then
# CONFIG_SCRIPT=PullRequestLinuxGCC4.9.3TestingSettings.cmake
# --- END SCAFFOLDING ---
fi
fi

ctest -S simple_testing.cmake \
Expand Down Expand Up @@ -205,3 +223,6 @@ fi

#pushd Trilinos/cmake/ctest/drivers/parameterized
#ctest -S ctest_linux_nightly_generic.cmake



6 changes: 6 additions & 0 deletions cmake/std/sems/PullRequestGCC4.8.4TestingEnv.sh
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,12 @@ module load sems-parmetis/4.0.3/parallel
module load sems-scotch/6.0.3/nopthread_64bit_parallel
module load sems-superlu/4.3/base

# Load the SEMS CMake Module
# - One of the SEMS modules will load CMake 3.4.x also,
# so this will pull in the SEMS cmake 3.10.3 version
# for Trilinos compatibility.
module load sems-cmake/3.10.3

# Using CMake and Ninja modules from the ATDM project space.
# SEMS does not yet supply a recent enough version of CMake
# for the single configure/build/test capability. We are also
Expand Down
11 changes: 7 additions & 4 deletions cmake/std/sems/PullRequestGCC4.9.3TestingEnv.sh
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,6 @@

# usage: $ source PullRequestGCC4.9.3TestingEnv.sh

# After the environment is no longer needed, it can be purged using
# $ module purge
# or Trilinos/cmake/unload_sems_dev_env.sh

source /projects/sems/modulefiles/utils/sems-modules-init.sh

module load sems-gcc/4.9.3
Expand All @@ -22,6 +18,12 @@ module load sems-parmetis/4.0.3/parallel
module load sems-scotch/6.0.3/nopthread_64bit_parallel
module load sems-superlu/4.3/base

# Load the SEMS CMake Module
# - One of the SEMS modules will load CMake 3.4.x also,
# so this will pull in the SEMS cmake 3.10.3 version
# for Trilinos compatibility.
module load sems-cmake/3.10.3
Copy link
Member

Choose a reason for hiding this comment

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

Loaded CMake module twice.


# Using CMake and Ninja modules from the ATDM project space.
# SEMS does not yet supply a recent enough version of CMake
# for the single configure/build/test capability. We are also
Expand All @@ -32,3 +34,4 @@ module load atdm-env
module load atdm-cmake/3.11.1
module load atdm-ninja_fortran/1.7.2


6 changes: 6 additions & 0 deletions cmake/std/sems/PullRequestIntel17.0.1TestingEnv.sh
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,12 @@ module load sems-parmetis/4.0.3/parallel
module load sems-scotch/6.0.3/nopthread_64bit_parallel
module load sems-superlu/4.3/base

# Load the SEMS CMake Module
# - One of the SEMS modules will load CMake 3.4.x also,
# so this will pull in the SEMS cmake 3.10.3 version
# for Trilinos compatibility.
module load sems-cmake/3.10.3

# Using CMake and Ninja modules from the ATDM project space.
# SEMS does not yet supply a recent enough version of CMake
# for the single configure/build/test capability. We are also
Expand Down
3 changes: 3 additions & 0 deletions commonTools/test/utilities/changedPackages.bash
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
#!/bin/env bash

# 2018-08-01 : This script is deprecated in the PR testing suite and
# is replaced by `commonTools/framework/get-changed-trilinos-packages.sh`

#The purpose of this file is to generate a list of package enables that
#when used with forward packages turned on will result in the right set of
#tests being run to test a pull request. The current implementation is neither
Expand Down