current config is

## Allura

* Discard old builds - 5
* git `https://gitbox.apache.org/repos/asf/allura.git/`
* poll `H/5 * * * *`
* Delete workspace before build starts
* Abort the build if it's stuck - 50 min

```
#!/bin/bash
# need to specify the shell, else Jenkins will quit after the first non-zero 
exit

echo -n 'cpu count: '; grep -c processor /proc/cpuinfo 
python -V
which python
which python27
which python2.7
echo path: $PATH
echo workspace: $WORKSPACE
echo jenkins_home: $JENKINS_HOME
echo home: $HOME
echo pwd: `pwd`
echo REBUILD_VENV: $REBUILD_VENV
echo LANG: $LANG
env
svn --version
echo pip: `pip --version`
echo virtualenv: `virtualenv --version`
echo setuptools: `easy_install --version`
echo npm: `npm --version`
#pip freeze

#if [ $REBUILD_VENV == "true" ]; then
   rm -rf ".allura-venv"
#fi

# hosts have a new enough virtualenv/pip/setuptools we don't need to bootstrap 
from source:
#rm -rf virtualenv-*
#if [ ! -d ".allura-venv" ]; then
#    if [ ! -f virtualenv-*/virtualenv.py ]; then
#        #wget --no-check-certificate 
https://pypi.python.org/packages/source/v/virtualenv/virtualenv-1.9.1.tar.gz || 
exit
#        wget 
https://pypi.org/packages/source/v/virtualenv/virtualenv-16.0.0.tar.gz || exit
#        tar xvfz virtualenv-*.tar.gz
#    fi
#    python virtualenv-*/virtualenv.py .allura-venv
#fi

virtualenv .allura-venv

. .allura-venv/bin/activate

git clean -f -x  # remove test.log, nosetest.xml etc (don't use -d since it'd 
remove our venv dir)

echo venv-pip: `pip --version`

# upgrading beforehand used to be necessary, but not any more
#pip install 'pip>=9'
#pip install 'setuptools>=11.3'
#python -m pip install --upgrade pip setuptools wheel

# retry a few times
MAIN_PIP="pip install -r requirements.txt"
$MAIN_PIP || (echo "retrying pip install after short sleep"; sleep 2; 
$MAIN_PIP) || exit

pip install pycodestyle pyflakes coverage nose-xunitmp || exit

ln -s /usr/lib/python2.7/dist-packages/pysvn 
$VIRTUAL_ENV/lib/python2.7/site-packages/

# use "Allura* Forge* scripts" instead of "." so that .allura-venv doesn't get 
checked too (and '.' gives './' prefixed results which don't work out)
pyflakes Allura* Forge* scripts | awk -F\: '{printf "%s:%s: [E]%s\n", $1, $2, 
$3}' > pyflakes.txt
pycodestyle Allura* Forge* scripts > pep8.txt

./rebuild-all.bash

# fresh start with npm
#rm -rf node_modules
npm install || (echo "retrying npm install"; sleep 5; npm install) || (echo 
"retrying npm install"; sleep 5; npm install) || (echo "retrying npm install"; 
sleep 5; npm install) || (echo "retrying npm install"; sleep 5; npm install) || 
(echo "retrying npm install"; sleep 5; npm install) 

# TODO: ALLURA_VALIDATION=all
LANG=en_US.UTF-8 ./run_tests --with-xunitmp # --with-coverage --cover-erase
retcode=$?

#find . -name .coverage -maxdepth 2 | while read coveragefile; do pushd 
`dirname $coveragefile`; coverage xml --include='forge*,allura*'; popd; done;

rm -f call_count.csv
./scripts/perf/call_count.py --data-file call_count.csv


# debugging
echo npm: `npm --version`
echo hostname: `hostname --short`
echo NODE_NAME: $NODE_NAME

exit $retcode
```

* post-build: Plot "Call Counts of 1 "typical" request" from `call_count.csv` 
* post-build: Cobertura from `**/coverage.xml`
* post-build: junit from `**/nosetests.xml`
* post-build: email dev@ every unstable buld

## Allura-licensing-check

* Discard old builds - 10
* git `https://gitbox.apache.org/repos/asf/allura.git/`
* build after Allura
* Delete workspace before build starts
* Abort the build if it's stuck - 15 min

```
#!/bin/bash -x

# clean start
#rm -rf tmp

mkdir -p tmp
cd tmp

if [ ! -e apache-ant-*/bin/ant ]; then
    rm -rf apache-ant-*  # empty/partial dir may exist
    # ant 1.10.x requires Java8 runtime
    # download from archive since mirrors delete older releases when new ones 
come out
    wget -nv 
http://archive.apache.org/dist/ant/binaries/apache-ant-1.9.9-bin.tar.gz || exit
    tar xzf apache-ant-*.tar.gz
    rm -rf apache-ant-*.tar.gz
fi

if [ ! -e apache-rat-*/*.jar ]; then
    rm -rf apache-rat-*  # empty/partial dir may exist
    wget -nv 
http://apache.mirrors.tds.net/creadur/apache-rat-0.13/apache-rat-0.13-bin.tar.gz
 || exit
    tar xzf apache-rat-*.tar.gz
    rm -rf apache-rat-*.tar.gz
fi

ANT=$WORKSPACE/tmp/apache-ant-*/bin/ant
OUTFILE=$WORKSPACE/tmp/apache_rat_results.txt

cd $WORKSPACE/scripts/src-license-check/
$ANT -lib $WORKSPACE/tmp/apache-rat-*/ > $OUTFILE

cat $OUTFILE

# exit OK if we found no unknowns
# TODO: better check.  I think this will pass on known license that are 
incompatible
grep ' 0 Unknown Licenses' $OUTFILE -q
```

* post-build: email dev@ every unstable buld


---

** [tickets:#8371] Migrate jenkins builds - due Aug 15**

**Status:** open
**Milestone:** unreleased
**Labels:** asf 
**Created:** Sun Jul 19, 2020 06:14 PM UTC by Dave Brondsema
**Last Updated:** Sun Jul 19, 2020 06:14 PM UTC
**Owner:** nobody


For details see 
https://lists.apache.org/thread.html/re974eed417a1bc294694701d5c91b4bf92689fcf32a4c91f169be87d%40%3Cbuilds.apache.org%3E

Basically we need to move these:

* https://builds.apache.org/job/Allura/
* https://builds.apache.org/job/Allura-licensing-check/

Over to https://ci-builds.apache.org/  Shouldn't be too hard since their 
configs are mostly inline bash scripts, no fancy plugin usage etc.


---

Sent from forge-allura.apache.org because dev@allura.apache.org is subscribed 
to https://forge-allura.apache.org/p/allura/tickets/

To unsubscribe from further messages, a project admin can change settings at 
https://forge-allura.apache.org/p/allura/admin/tickets/options.  Or, if this is 
a mailing list, you can unsubscribe from the mailing list.

Reply via email to