github.com/tobiash/gqlgen@v0.5.1/.circleci/config.yml (about) 1 version: 2 2 jobs: 3 build: 4 working_directory: /app 5 docker: 6 - image: docker:18 7 steps: 8 - checkout 9 - setup_remote_docker: 10 docker_layer_caching: true 11 - run: 12 name: "docker build" 13 command: | 14 docker build -f .circleci/golang.Dockerfile -t gqlgen/golang . 15 docker build -f .circleci/node.Dockerfile -t gqlgen/node . 16 17 - run: 18 name: "golang tests" 19 command: docker run --rm gqlgen/golang .circleci/test.sh 20 21 - run: 22 name: "integration tests" 23 command: | 24 function cleanup { 25 echo "Cleaning up containers..." 26 docker kill $SERVER_CONTAINER 1>/dev/null 2>/dev/null || true 27 docker rm --force -v $SERVER_CONTAINER 1>/dev/null 2>/dev/null || true 28 } 29 trap cleanup EXIT 30 31 SERVER_CONTAINER=$(docker run -d \ 32 -e PORT=1234 \ 33 --name integration_server \ 34 gqlgen/golang go run ./integration/server/server.go \ 35 ) 36 37 sleep 2 38 39 docker run \ 40 -e SERVER_URL=http://integration_server:1234/query \ 41 --link=integration_server \ 42 gqlgen/node ../.circleci/integration.sh 43 44 echo "### server logs" 45 docker logs $SERVER_CONTAINER 46 47 exit $(docker inspect $SERVER_CONTAINER --format='{{.State.ExitCode}}') 48