mirror of
https://github.com/fnproject/fn.git
synced 2022-10-28 21:29:17 +03:00
Use alpine images to make tests take less time (#629)
* Use retry func while trying to ping SQL datastore
- implements retry func specifically for SQL datastore ping
- fmt fixes
- using sqlx.Db.PingContext instead of sqlx.Db.Ping
- propogate context to SQL datastore
* Use alpine images to make tests take less time
* use PG alpine
* use Minio alpine
* no official alpine distro for MySQL, uhhh :(
* install swagger tool instead of docker image
* use retry func to confirm that datastore is okay before running tests
* Store swagger tool at Fn during CI time
somehow it's a problem to put binary to ${GOPATH}/bin
* Adjust swagger tool reference path
* Revert minio image
* Use amd64/alpine-based swagger tool image for API spec validation
* Cleanup
This commit is contained in:
committed by
Reed Allman
parent
c9ab6b9729
commit
4bb0744853
29
test.sh
29
test.sh
@@ -2,34 +2,12 @@
|
||||
# Top level test script to start all other tests
|
||||
set -exuo pipefail
|
||||
|
||||
function host {
|
||||
case ${DOCKER_LOCATION:-localhost} in
|
||||
localhost)
|
||||
echo "localhost"
|
||||
;;
|
||||
docker_ip)
|
||||
if [[ ! -z ${DOCKER_HOST} ]]
|
||||
then
|
||||
DOCKER_IP=`echo ${DOCKER_HOST} | awk -F/ '{print $3}'| awk -F: '{print $1}'`
|
||||
fi
|
||||
|
||||
echo ${DOCKER_IP}
|
||||
;;
|
||||
container_ip)
|
||||
echo "$(docker inspect -f '{{.NetworkSettings.IPAddress}}' ${1})"
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
function remove_containers {
|
||||
docker rm -fv func-postgres-test 2>/dev/null || true
|
||||
docker rm -fv func-mysql-test 2>/dev/null || true
|
||||
docker rm -fv func-minio-test 2>/dev/null || true
|
||||
}
|
||||
source ./helpers.sh
|
||||
|
||||
remove_containers
|
||||
|
||||
docker run --name func-postgres-test -e "POSTGRES_DB=funcs" -e "POSTGRES_PASSWORD=root" -p 5432:5432 -d postgres
|
||||
docker run --name func-postgres-test -e "POSTGRES_DB=funcs" -e "POSTGRES_PASSWORD=root" -p 5432:5432 -d postgres:9.3-alpine
|
||||
docker run --name func-mysql-test -p 3306:3306 -e MYSQL_DATABASE=funcs -e MYSQL_ROOT_PASSWORD=root -d mysql
|
||||
docker run -d -p 9000:9000 --name func-minio-test -e "MINIO_ACCESS_KEY=admin" -e "MINIO_SECRET_KEY=password" minio/minio server /data
|
||||
|
||||
@@ -51,5 +29,4 @@ go vet $(go list ./... | grep -v vendor)
|
||||
|
||||
remove_containers
|
||||
|
||||
docker run -v `pwd`:/go/src/github.com/fnproject/fn --rm quay.io/goswagger/swagger validate /go/src/github.com/fnproject/fn/docs/swagger.yml
|
||||
|
||||
docker run -v `pwd`:/go/src/github.com/fnproject/fn --rm fnproject/swagger:0.0.1 /go/src/github.com/fnproject/fn/docs/swagger.yml
|
||||
|
||||
Reference in New Issue
Block a user