forked from datatogether/api
-
Notifications
You must be signed in to change notification settings - Fork 0
/
config.yml
67 lines (67 loc) · 2.51 KB
/
config.yml
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
version: '2'
jobs:
build:
working_directory: /go/src/github.com/datatogether/api
docker:
- image: circleci/cci-demo-go-primary:0.0.2
environment:
GOLANG_ENV: test
BASE_URL: localhost:3000
PORT: 3000
DEBUG: false
POSTGRES_DB_URL: postgres://ubuntu:@localhost:5432/circle_test?sslmode=disable
- image: postgres:9.6.2
environment:
POSTGRES_USER: ubuntu
POSTGRES_DB: circle_test
POSTGRES_PASSWORD: ""
steps:
- checkout
- run:
name: Wait for Postgres to be ready
command: |
for i in `seq 1 10`;
do
nc -z localhost 5432 && echo Success && exit 0
echo -n .
sleep 1
done
echo Failed waiting for Postgres && exit 1
- run:
name: Make test results directory
command: mkdir -p /tmp/test-reports/datatogether
- run:
name: Install dependencies
command: go-wrapper download && go-wrapper install && go get -v github.com/jstemmer/go-junit-report
- run:
name: Run tests
command: go test -v -race --coverprofile=coverage.txt -covermode=atomic | tee /tmp/test-reports/datatogether/original.txt ; test ${PIPESTATUS[0]} -eq 0
- run:
name: Convert test output to junit-style xml
command: cat /tmp/test-reports/datatogether/original.txt | go-junit-report > /tmp/test-reports/datatogether/junit.xml
- store_test_results:
path: /tmp/test-reports/datatogether/junit.xml
- run:
name: Publish coverage info to codecov.io
command: bash <(curl -s https://codecov.io/bash)
- setup_remote_docker
- run:
name: Install Docker client
command: |
if [ $CIRCLE_BRANCH = 'master' ]; then
set -x
VER="17.03.0-ce"
curl -L -o /tmp/docker-$VER.tgz https://get.docker.com/builds/Linux/x86_64/docker-$VER.tgz
tar -xz -C /tmp -f /tmp/docker-$VER.tgz
mv /tmp/docker/* /usr/bin
fi
- run:
name: Publish to Docker Hub
command: |
if [ $CIRCLE_BRANCH = 'master' ]; then
TAG=0.1.$CIRCLE_BUILD_NUM
docker build -t datatogether/api:latest -t datatogether/api:$TAG .
docker login -u $DOCKER_USER -p $DOCKER_PASS
docker push datatogether/api:$TAG
docker push datatogether/api:latest
fi