github.com/mariuspot/gqlgen@v0.7.2/.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