shellfiles/build_mercurial.sh.in
author Jan Vrany <jan.vrany@fit.cvut.cz>
Fri, 24 Aug 2018 11:23:42 +0100
branchjv
changeset 528 67d1c7df7f90
parent 159 40cdb9aa191d
permissions -rw-r--r--
Refactor timeout scaling factor initialization In order to stabilize tests on (heavily loaded) CI infrastructure, reasses scaling factor every three minutes. Also include (simple) I/O benchmark to compensate for (overloaded) I/O subsystem of CI slaves. For details, see `Builder::TestReport::Result >> timeoutScale`

#!/bin/bash 
# Simple Unix shell script to build Mercurial using Jenkins CI
# Designed to run under Cygwin as well. 

PROJECT="Mercurial Support"


m4_include(common.sh.in)

# Checkout
function checkout {
    # Checkout stx
    if [ ! -d stx ]; then
      if ! cvs co stx; then
        error "CVS: Cannot checkout stx";
      fi
    #else
    #  (cd stx && cvs update -d)
    fi

    # Checkout stx:libscm
    repo="https://bitbucket.org/janvrany/stx-libscm"
    if [ ! -d stx/libscm ]; then
        hg clone "$repo" stx/libscm || error "HG: cannot clone stx:libscm"
    else
        hg --cwd stx/libscm pull "$repo" || error "HG: cannot pull stx:libscm"
        hg --cwd stx/libscm update || error "HG: cannot update stx:libscm"
    fi
}


# Compile
function compile {
    TARGETS1="stx stx/libscm/common stx/libscm/mercurial stx/librun"
    for target in $TARGETS1; do
      if ! (cd "$target" && mk); then
        echo "ERROR:  cannot $MAKE in $target"
        exit 3
      fi
    done
}

function runtests {
    sunit "stx:libscm/mercurial"
}


# Now, call main
main $1 $2 $3