mirror of
https://github.com/OPM/opm-simulators.git
synced 2025-01-24 01:26:26 -06:00
add multiconfiguration support to jenkins build script
also unifies build.sh and build-pr.sh and gets rid of build-opm-simulators.sh
This commit is contained in:
parent
cd822bc714
commit
4f779b7a01
@ -1,41 +1,32 @@
|
||||
# opm-simulators jenkins build scripts:
|
||||
|
||||
**build-opm-simulators.sh**:
|
||||
This is a helper script which contains functions for building,
|
||||
testing and cloning opm-simulators and its dependencies.
|
||||
|
||||
**build.sh**:
|
||||
This script will build dependencies, then build opm-simulators and execute its tests.
|
||||
It is intended for post-merge builds of the master branch.
|
||||
|
||||
**build-pr.sh**:
|
||||
This script will build dependencies, then build opm-simulators and execute its tests.
|
||||
It inspects the $ghbPrBuildComment environmental variable to obtain a pull request
|
||||
to use for ert, opm-common, opm-parser, opm-material, opm-core and
|
||||
opm-grid (defaults to master) and then builds $sha1 of opm-simulators.
|
||||
It also inspects the $ghbPrBuildComment environmental variable and builds
|
||||
downstreams if requested. It inspects the $ghbPrBuildComment
|
||||
environmental variable to obtain a pull request to use for the modules.
|
||||
|
||||
It is intended for pre-merge builds of pull requests.
|
||||
|
||||
You can optionally specify a given pull request to use for ert, opm-common,
|
||||
opm-parser, opm-material, opm-core and opm-grid through the trigger.
|
||||
The trigger line needs to contain ert=<pull request number> and/or
|
||||
opm-common=<pull request number> and/or opm-parser=<pull request number>
|
||||
and/or opm-material=<pull request number>
|
||||
and/or opm-core=<pull request number>
|
||||
and/or opm-grid=<pull request number>
|
||||
and/or opm-output=<pull request number>.
|
||||
To specify a given pull request to use for upstreams and downstreams,
|
||||
trigger line needs to contain <module-name>=<pull request number>.
|
||||
|
||||
To build with downstreams the trigger line needs to contain 'with downstreams'.
|
||||
|
||||
**run-spe.sh**:
|
||||
This script will execute the SPE1, SPE3 and SPE9 cases, then compare against
|
||||
OPM and Eclipse reference results. It is meant to be executed after either
|
||||
of the two build scripts above.
|
||||
OPM and Eclipse reference results. It is meant to be executed after a build.
|
||||
The binary used used is from the build identified by the configuration
|
||||
environment variable.
|
||||
|
||||
**run-norne.sh**:
|
||||
This script will execute the Norne case, and generate a document with
|
||||
plots of the results. It is meant to be executed after either
|
||||
of the two build scripts above.
|
||||
plots of the results. It is meant to be executed after a build.
|
||||
The binary used used is from the build identified by the configuration
|
||||
environment variable.
|
||||
|
||||
**run-polymer.sh**:
|
||||
This script will execute the simple2D polymer case, then compare against
|
||||
Eclipse reference results. It is meant to be executed after either
|
||||
of the two build scripts above.
|
||||
Eclipse reference results. It is meant to be executed after a build.
|
||||
The binary used used is from the build identified by the configuration
|
||||
environment variable.
|
||||
|
@ -1,37 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
function build_opm_simulators {
|
||||
# Build opm-common
|
||||
pushd .
|
||||
mkdir -p $WORKSPACE/deps/opm-common
|
||||
cd $WORKSPACE/deps/opm-common
|
||||
git init .
|
||||
git remote add origin https://github.com/OPM/opm-common
|
||||
git fetch --depth 1 origin $OPM_COMMON_REVISION:branch_to_build
|
||||
test $? -eq 0 || exit 1
|
||||
git checkout branch_to_build
|
||||
popd
|
||||
|
||||
source $WORKSPACE/deps/opm-common/jenkins/build-opm-module.sh
|
||||
|
||||
pushd .
|
||||
mkdir -p serial/build-opm-common
|
||||
cd serial/build-opm-common
|
||||
build_module "-DCMAKE_INSTALL_PREFIX=$WORKSPACE/serial/install" 0 $WORKSPACE/deps/opm-common
|
||||
test $? -eq 0 || exit 1
|
||||
popd
|
||||
|
||||
# Build upstreams
|
||||
build_upstreams
|
||||
|
||||
# Setup opm-data
|
||||
source $WORKSPACE/deps/opm-common/jenkins/setup-opm-data.sh
|
||||
|
||||
# Build opm-simulators
|
||||
pushd .
|
||||
mkdir serial/build-opm-simulators
|
||||
cd serial/build-opm-simulators
|
||||
build_module "-DCMAKE_PREFIX_PATH=$WORKSPACE/serial/install -DOPM_DATA_ROOT=$OPM_DATA_ROOT" 1 $WORKSPACE
|
||||
test $? -eq 0 || exit 1
|
||||
popd
|
||||
}
|
@ -1,41 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
source `dirname $0`/build-opm-simulators.sh
|
||||
|
||||
declare -a upstreams
|
||||
upstreams=(ert
|
||||
opm-parser
|
||||
opm-output
|
||||
opm-material
|
||||
opm-core
|
||||
opm-grid)
|
||||
|
||||
declare -A upstreamRev
|
||||
upstreamRev[ert]=master
|
||||
upstreamRev[opm-parser]=master
|
||||
upstreamRev[opm-material]=master
|
||||
upstreamRev[opm-core]=master
|
||||
upstreamRev[opm-grid]=master
|
||||
upstreamRev[opm-output]=master
|
||||
|
||||
OPM_COMMON_REVISION=master
|
||||
|
||||
if grep -q "opm-common=" <<< $ghprbCommentBody
|
||||
then
|
||||
OPM_COMMON_REVISION=pull/`echo $ghprbCommentBody | sed -r 's/.*opm-common=([0-9]+).*/\1/g'`/merge
|
||||
fi
|
||||
|
||||
for upstream in ${upstreams[*]}
|
||||
do
|
||||
if grep -q "$upstream=" <<< $ghprbCommentBody
|
||||
then
|
||||
upstreamRev[$upstream]=pull/`echo $ghprbCommentBody | sed -r "s/.*$upstream=([0-9]+).*/\1/g"`/merge
|
||||
fi
|
||||
done
|
||||
|
||||
echo "Building with opm-common=$OPM_COMMON_REVISION ert=${upstreamRev[ert]} opm-parser=${upstreamRev[opm-parser]} opm-material=${upstreamRev[opm-material]} opm-core=${upstreamRev[opm-core]} opm-grid=${upstreamRev[opm-grid]} opm-output=${upstreamRev[opm-output]} opm-simulators=$sha1"
|
||||
|
||||
build_opm_simulators
|
||||
test $? -eq 0 || exit 1
|
||||
|
||||
cp serial/build-opm-simulators/testoutput.xml .
|
@ -1,9 +1,8 @@
|
||||
#!/bin/bash
|
||||
|
||||
source `dirname $0`/build-opm-simulators.sh
|
||||
|
||||
declare -a upstreams
|
||||
upstreams=(ert
|
||||
upstreams=(opm-common
|
||||
ert
|
||||
opm-parser
|
||||
opm-output
|
||||
opm-material
|
||||
@ -11,6 +10,7 @@ upstreams=(ert
|
||||
opm-grid)
|
||||
|
||||
declare -A upstreamRev
|
||||
upstreamRev[opm-common]=master
|
||||
upstreamRev[ert]=master
|
||||
upstreamRev[opm-parser]=master
|
||||
upstreamRev[opm-material]=master
|
||||
@ -18,9 +18,32 @@ upstreamRev[opm-core]=master
|
||||
upstreamRev[opm-grid]=master
|
||||
upstreamRev[opm-output]=master
|
||||
|
||||
OPM_COMMON_REVISION=master
|
||||
if grep -q "opm-common=" <<< $ghprbCommentBody
|
||||
then
|
||||
upstreamRev[opm-common]=pull/`echo $ghprbCommentBody | sed -r 's/.*opm-common=([0-9]+).*/\1/g'`/merge
|
||||
fi
|
||||
|
||||
build_opm_simulators
|
||||
# No downstreams currently
|
||||
declare -a downstreams
|
||||
declare -A downstreamRev
|
||||
|
||||
# Clone opm-common
|
||||
pushd .
|
||||
mkdir -p $WORKSPACE/deps/opm-common
|
||||
cd $WORKSPACE/deps/opm-common
|
||||
git init .
|
||||
git remote add origin https://github.com/OPM/opm-common
|
||||
git fetch --depth 1 origin ${upstreamRev[opm-common]}:branch_to_build
|
||||
test $? -eq 0 || exit 1
|
||||
git checkout branch_to_build
|
||||
popd
|
||||
|
||||
cp serial/build-opm-simulators/testoutput.xml .
|
||||
source $WORKSPACE/deps/opm-common/jenkins/build-opm-module.sh
|
||||
|
||||
parseRevisions
|
||||
printHeader opm-simulators
|
||||
|
||||
# Setup opm-data
|
||||
source $WORKSPACE/deps/opm-common/jenkins/setup-opm-data.sh
|
||||
|
||||
build_module_full opm-simulators
|
||||
|
@ -5,8 +5,8 @@ cd deps/opm-data
|
||||
|
||||
# Run the norne case
|
||||
cd norne
|
||||
$WORKSPACE/serial/build-opm-simulators/bin/flow deck_filename=NORNE_ATW2013.DATA output_dir=OPM
|
||||
$WORKSPACE/$configuration/build-opm-simulators/bin/flow deck_filename=NORNE_ATW2013.DATA output_dir=OPM
|
||||
test $? -eq 0 || exit 1
|
||||
PATH=$WORKSPACE/serial/install/bin:$PATH ./plotwells.sh
|
||||
PATH=$WORKSPACE/$configuration/install/bin:$PATH ./plotwells.sh
|
||||
|
||||
popd
|
||||
|
@ -5,12 +5,12 @@ cd deps/opm-data
|
||||
|
||||
# Run the simple2D polymer case
|
||||
cd polymer_test_suite/simple2D
|
||||
$WORKSPACE/serial/build-opm-simulators/bin/flow_polymer run.param
|
||||
$WORKSPACE/$configuration/build-opm-simulators/bin/flow_polymer run.param
|
||||
test $? -eq 0 || exit 1
|
||||
cd ../..
|
||||
|
||||
# Compare OPM with eclipse reference
|
||||
PYTHONPATH=$WORKSPACE/serial/install/lib/python2.7/dist-packages/ python output_comparator/src/compare_eclipse.py polymer_test_suite/simple2D/eclipse-simulation/ polymer_test_suite/simple2D/opm-simulation/ 2D_THREEPHASE_POLY_HETER 0.0006 0.004
|
||||
PYTHONPATH=$WORKSPACE/$configuration/install/lib/python2.7/dist-packages/ python output_comparator/src/compare_eclipse.py polymer_test_suite/simple2D/eclipse-simulation/ polymer_test_suite/simple2D/opm-simulation/ 2D_THREEPHASE_POLY_HETER 0.0006 0.004
|
||||
test $? -eq 0 || exit 1
|
||||
|
||||
popd
|
||||
|
@ -5,32 +5,32 @@ cd deps/opm-data
|
||||
|
||||
# Run the SPE1/3/9 cases
|
||||
cd spe1
|
||||
$WORKSPACE/serial/build-opm-simulators/bin/flow deck_filename=SPE1CASE2.DATA
|
||||
$WORKSPACE/$configuration/build-opm-simulators/bin/flow deck_filename=SPE1CASE2.DATA
|
||||
test $? -eq 0 || exit 1
|
||||
cd ..
|
||||
cd spe3
|
||||
$WORKSPACE/serial/build-opm-simulators/bin/flow max_iter=50 deck_filename=SPE3CASE1.DATA
|
||||
$WORKSPACE/$configuration/build-opm-simulators/bin/flow max_iter=50 deck_filename=SPE3CASE1.DATA
|
||||
test $? -eq 0 || exit 1
|
||||
cd ..
|
||||
cd spe9
|
||||
$WORKSPACE/serial/build-opm-simulators/bin/flow max_iter=50 deck_filename=SPE9_CP.DATA
|
||||
$WORKSPACE/$configuration/build-opm-simulators/bin/flow max_iter=50 deck_filename=SPE9_CP.DATA
|
||||
test $? -eq 0 || exit 1
|
||||
cd ..
|
||||
|
||||
# Compare OPM with eclipse reference
|
||||
PYTHONPATH=$WORKSPACE/serial/install/lib/python2.7/dist-packages/ python output_comparator/src/compare_eclipse.py spe1/eclipse-simulation/ spe1/ SPE1CASE2 0.01 0.01
|
||||
PYTHONPATH=$WORKSPACE/$configuration/install/lib/python2.7/dist-packages/ python output_comparator/src/compare_eclipse.py spe1/eclipse-simulation/ spe1/ SPE1CASE2 0.01 0.01
|
||||
test $? -eq 0 || exit 1
|
||||
PYTHONPATH=$WORKSPACE/serial/install/lib/python2.7/dist-packages/ python output_comparator/src/compare_eclipse.py spe3/eclipse-simulation/ spe3/ SPE3CASE1 0.02 0.02
|
||||
PYTHONPATH=$WORKSPACE/$configuration/install/lib/python2.7/dist-packages/ python output_comparator/src/compare_eclipse.py spe3/eclipse-simulation/ spe3/ SPE3CASE1 0.02 0.02
|
||||
test $? -eq 0 || exit 1
|
||||
PYTHONPATH=$WORKSPACE/serial/install/lib/python2.7/dist-packages/ python output_comparator/src/compare_eclipse.py spe9/eclipse-simulation/ spe9/ SPE9_CP 0.002 0.001
|
||||
PYTHONPATH=$WORKSPACE/$configuration/install/lib/python2.7/dist-packages/ python output_comparator/src/compare_eclipse.py spe9/eclipse-simulation/ spe9/ SPE9_CP 0.002 0.001
|
||||
test $? -eq 0 || exit 1
|
||||
|
||||
# Compare OPM with OPM reference
|
||||
PYTHONPATH=$WORKSPACE/serial/install/lib/python2.7/dist-packages/ python output_comparator/src/compare_eclipse.py spe1/opm-simulation-reference/ spe1/ SPE1CASE2 0.001 0.001
|
||||
PYTHONPATH=$WORKSPACE/$configuration/install/lib/python2.7/dist-packages/ python output_comparator/src/compare_eclipse.py spe1/opm-simulation-reference/ spe1/ SPE1CASE2 0.001 0.001
|
||||
test $? -eq 0 || exit 1
|
||||
PYTHONPATH=$WORKSPACE/serial/install/lib/python2.7/dist-packages/ python output_comparator/src/compare_eclipse.py spe3/opm-simulation-reference/ spe3/ SPE3CASE1 0.001 0.001
|
||||
PYTHONPATH=$WORKSPACE/$configuration/install/lib/python2.7/dist-packages/ python output_comparator/src/compare_eclipse.py spe3/opm-simulation-reference/ spe3/ SPE3CASE1 0.001 0.001
|
||||
test $? -eq 0 || exit 1
|
||||
PYTHONPATH=$WORKSPACE/serial/install/lib/python2.7/dist-packages/ python output_comparator/src/compare_eclipse.py spe9/opm-simulation-reference/ spe9/ SPE9_CP 0.002 0.007
|
||||
PYTHONPATH=$WORKSPACE/$configuration/install/lib/python2.7/dist-packages/ python output_comparator/src/compare_eclipse.py spe9/opm-simulation-reference/ spe9/ SPE9_CP 0.002 0.007
|
||||
test $? -eq 0 || exit 1
|
||||
|
||||
popd
|
||||
|
Loading…
Reference in New Issue
Block a user