summaryrefslogtreecommitdiff
path: root/hack/infrastructure/docker-ci/testbuilder/testbuilder.sh
blob: 70701343c2eef3e32b041167a1da38785a40035b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#!/usr/bin/env bash
# Download,  build and run a docker project tests
# Environment variables: DEPLOYMENT

cat $0
set -e
set -x

PROJECT=$1
COMMIT=${2-HEAD}
REPO=${3-https://github.com/dotcloud/$PROJECT}
BRANCH=${4-master}
REPO_PROJ="https://github.com/docker-test/$PROJECT"
if [ "$DEPLOYMENT" == "production" ]; then
    REPO_PROJ="https://github.com/dotcloud/$PROJECT"
fi
set +x

# Generate a random string of $1 characters
function random {
    cat /dev/urandom | tr -cd 'a-f0-9' | head -c $1
}

PROJECT_PATH="$PROJECT-tmp-$(random 12)"

# Set docker-test git user
set -x
git config --global user.email "docker-test@docker.io"
git config --global user.name "docker-test"

# Fetch project
git clone -q $REPO_PROJ -b master /data/$PROJECT_PATH
cd /data/$PROJECT_PATH
echo "Git commit: $(git rev-parse HEAD)"
git fetch -q $REPO $BRANCH
git merge --no-edit $COMMIT

# Build the project dockertest
/testbuilder/$PROJECT.sh $PROJECT_PATH
rm -rf /data/$PROJECT_PATH