~juju-qa/juju-ci-tools/trunk

1652.1.1 by Aaron Bentley
Add github-merge-juju execute step as representative-tests.sh
1
#!/bin/bash
1652.1.2 by Aaron Bentley
Unify with check-merge-juju.
2
set -eux
1652.1.1 by Aaron Bentley
Add github-merge-juju execute step as representative-tests.sh
3
TARFILE=$(find $(pwd) -name juju-core*.tar.gz)
4
echo Using build tarball $TARFILE
5
TARFILE_NAME=$(basename "$TARFILE")
6
7
export GOPATH=$(dirname $(find $WORKSPACE -type d -name src -regex '.*juju-core[^/]*/src'))
1652.1.2 by Aaron Bentley
Unify with check-merge-juju.
8
if ! go install github.com/juju/juju/...; then
9
    exit 127
1652.1.1 by Aaron Bentley
Add github-merge-juju execute step as representative-tests.sh
10
fi
2008 by Christopher Lee
Repr tests fix for 1.8 (give xenial ppa). Plus driveby typo fix.
11
JUJU_BIN=$GOPATH/bin/juju
1963.1.1 by Christopher Lee
Update repr tests so grant/revoke test works.
12
export PATH=$(dirname $JUJU_BIN):$PATH
13
export GOCOOKIES=$WORKSPACE/.go-cookies
1652.1.1 by Aaron Bentley
Add github-merge-juju execute step as representative-tests.sh
14
2005 by Nicholas Skaggs
Drop upgrade step, use c4 aws instances, bump tmpfs to 10g, use xenial for unit test runs
15
XENIAL_AMI=$($SCRIPTS/get_ami.py xenial amd64 --virt hvm)
1652.1.1 by Aaron Bentley
Add github-merge-juju execute step as representative-tests.sh
16
17
VERSION=$($JUJU_BIN version | cut -d '-' -f1)
18
if [[ $VERSION =~ 1\..*  ]]; then
2006 by Nicholas Skaggs
List go version information during unit tests
19
    NETWORK="echo '1.x does not support networking tests'"
1772.2.1 by Nicholas Skaggs
Add grant-revoke test to representative tests
20
    GRANT="echo '1.x does not support grant revoke'"
1652.1.1 by Aaron Bentley
Add github-merge-juju execute step as representative-tests.sh
21
    RACE="echo '1.x does not pass race unit tests'"
22
else
2006 by Nicholas Skaggs
List go version information during unit tests
23
    mkdir -p $WORKSPACE/artifacts/network
1772.2.1 by Nicholas Skaggs
Add grant-revoke test to representative tests
24
    mkdir -p $WORKSPACE/artifacts/grant
2007 by Nicholas Skaggs
fix network test
25
    NETWORK="timeout -s INT 20m $SCRIPTS/assess_network_health.py parallel-rackspace $JUJU_BIN $WORKSPACE/artifacts/network merge-juju-network --series xenial --bundle 'cs:bundle/mediawiki-single'"
2016 by Nicholas Skaggs
drop timeout to 45mins, skip network tests for the moment (need to run on stable cloud)
26
    NETWORK="echo 'Skipping network tests.'"
2006 by Nicholas Skaggs
List go version information during unit tests
27
    GRANT="timeout -s INT 20m $SCRIPTS/assess_user_grant_revoke.py parallel-lxd $JUJU_BIN $WORKSPACE/artifacts/grant merge-juju-grant --timeout 1500 --series xenial"
28
    RACE="run-unit-tests c4.4xlarge $XENIAL_AMI --force-archive --race --local $TARFILE_NAME"
1652.1.1 by Aaron Bentley
Add github-merge-juju execute step as representative-tests.sh
29
    RACE="echo 'Skipping race unit tests.'"
30
fi
2016 by Nicholas Skaggs
drop timeout to 45mins, skip network tests for the moment (need to run on stable cloud)
31
timeout 45m concurrently.py -v -l $WORKSPACE/artifacts \
2008 by Christopher Lee
Repr tests fix for 1.8 (give xenial ppa). Plus driveby typo fix.
32
    xenial="$SCRIPTS/run-unit-tests c4.4xlarge $XENIAL_AMI --local $TARFILE_NAME --use-tmpfs --use-ppa ppa:juju/golang --force-archive" \
1652.1.1 by Aaron Bentley
Add github-merge-juju execute step as representative-tests.sh
33
    windows="$SCRIPTS/gotestwin.py developer-win-unit-tester.vapour.ws $TARFILE_NAME github.com/juju/juju/cmd" \
2006 by Nicholas Skaggs
List go version information during unit tests
34
    network="$NETWORK" \
1772.2.1 by Nicholas Skaggs
Add grant-revoke test to representative tests
35
    grant="$GRANT" \
1916.1.1 by Aaron Bentley
Remove check_tar from representative tests.
36
    race="$RACE"