add build container for testing in ci (#89)
build fails if container exit code fails. One step closer to #71
This commit is contained in:
+14
-13
@@ -1,16 +1,17 @@
|
||||
machine:
|
||||
environment:
|
||||
IMPORT_PATH: "/home/ubuntu/.go_workspace/src/github.com/kolide"
|
||||
APP_PATH: "$IMPORT_PATH/kolide-ose"
|
||||
GO15VENDOREXPERIMENT: 1
|
||||
dependencies:
|
||||
override:
|
||||
- make deps
|
||||
- go generate
|
||||
test:
|
||||
pre:
|
||||
- mkdir -p "$IMPORT_PATH"
|
||||
- ln -sf "$(pwd)" "$APP_PATH"
|
||||
- cd "$APP_PATH" && glide install
|
||||
- sudo curl -L -o /usr/bin/docker 'https://s3-external-1.amazonaws.com/circle-downloads/docker-1.9.1-circleci'
|
||||
- sudo chmod 0755 /usr/bin/docker
|
||||
services:
|
||||
- docker
|
||||
|
||||
dependencies:
|
||||
pre:
|
||||
- docker info
|
||||
- docker login -e $DOCKER_HUB_EMAIL -u $DOCKER_HUB_USERNAME -p $DOCKER_HUB_PASSWORD
|
||||
override:
|
||||
- cd "$APP_PATH" && go test -cover $(glide nv)
|
||||
- docker pull kolide/kolide-builder:1.6
|
||||
|
||||
test:
|
||||
override:
|
||||
- docker run -v $(pwd):/go/src/github.com/kolide/kolide-ose -v /home/ubuntu/.go_workspace/pkg:/go/pkg kolide/kolide-builder:1.6 -C
|
||||
|
||||
@@ -78,7 +78,6 @@ func New(driver, conn string, opts ...DBOption) (Datastore, error) {
|
||||
return opt.db, nil
|
||||
}
|
||||
|
||||
var ds Datastore
|
||||
switch driver {
|
||||
case "gorm-mysql":
|
||||
db, err := openGORM("mysql", conn, opt.maxAttempts)
|
||||
@@ -110,6 +109,7 @@ func New(driver, conn string, opts ...DBOption) (Datastore, error) {
|
||||
return nil, errors.DatabaseError(err)
|
||||
}
|
||||
return ds, nil
|
||||
default:
|
||||
return nil, errors.New("unsupported datastore driver %s", driver)
|
||||
}
|
||||
return ds, nil
|
||||
}
|
||||
|
||||
@@ -69,14 +69,19 @@ func TestSaveUserMySQLGORM(t *testing.T) {
|
||||
}
|
||||
|
||||
func setupMySQLGORM(t *testing.T) Datastore {
|
||||
// TODO use ENV vars from docker config
|
||||
user := "kolide"
|
||||
password := "kolide"
|
||||
host := "127.0.0.1:3306"
|
||||
dbName := "kolide"
|
||||
|
||||
// try container first
|
||||
host := os.Getenv("MYSQL_PORT_3306_TCP_ADDR")
|
||||
if host == "" {
|
||||
host = "127.0.0.1"
|
||||
}
|
||||
host = fmt.Sprintf("%s:3306", host)
|
||||
|
||||
conn := fmt.Sprintf("%s:%s@(%s)/%s?charset=utf8&parseTime=True&loc=Local", user, password, host, dbName)
|
||||
db, err := New("gorm", conn, LimitAttempts(1))
|
||||
db, err := New("gorm-mysql", conn, LimitAttempts(1))
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
+13
-1
@@ -12,4 +12,16 @@ mailhog:
|
||||
image: mailhog/mailhog:latest
|
||||
ports:
|
||||
- "8025:8025"
|
||||
- "1025:1025"
|
||||
- "1025:1025"
|
||||
|
||||
test:
|
||||
image: kolide/kolide-builder:1.6
|
||||
environment:
|
||||
MYSQL_ADDR: 127.0.0.1
|
||||
links:
|
||||
- mysql
|
||||
- mailhog
|
||||
command:
|
||||
- -C
|
||||
volumes:
|
||||
- ./:/go/src/github.com/kolide/kolide-ose
|
||||
|
||||
Reference in New Issue
Block a user