Skip to content

Commit

Permalink
Try workflows
Browse files Browse the repository at this point in the history
  • Loading branch information
gbbr committed Jun 4, 2020
1 parent b5a9849 commit a18cae3
Show file tree
Hide file tree
Showing 2 changed files with 48 additions and 114 deletions.
161 changes: 47 additions & 114 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
@@ -1,143 +1,76 @@
version: 2

jobs:
build:
working_directory: /go/src/gopkg.in/DataDog/dd-trace-go.v1
resource_class: xlarge

docker:
- image: circleci/golang:1.13
environment:
GO111MODULE: "on"
- image: cassandra:3.7
- image: circleci/mysql:5.7
environment:
MYSQL_ROOT_PASSWORD: admin
MYSQL_PASSWORD: test
MYSQL_USER: test
MYSQL_DATABASE: test
- image: circleci/postgres:9.5
environment:
POSTGRES_PASSWORD: postgres
POSTGRES_USER: postgres
POSTGRES_DB: postgres
- image: consul:1.6.0
- image: redis:3.2
- image: elasticsearch:2
environment:
ES_JAVA_OPTS: "-Xms750m -Xmx750m" # https://github.com/10up/wp-local-docker/issues/6
- image: elasticsearch:5
environment:
ES_JAVA_OPTS: "-Xms750m -Xmx750m" # https://github.com/10up/wp-local-docker/issues/6
- image: datadog/docker-dd-agent
environment:
DD_APM_ENABLED: "true"
DD_BIND_HOST: "0.0.0.0"
DD_API_KEY: invalid_key_but_this_is_fine
- image: circleci/mongo:latest-ram
- image: memcached:1.5.9
- image: confluentinc/cp-zookeeper:5.0.0
environment:
ZOOKEEPER_CLIENT_PORT: "2181"
- image: confluentinc/cp-kafka:5.0.0
environment:
KAFKA_ZOOKEEPER_CONNECT: localhost:2181
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://localhost:9092
KAFKA_LISTENERS: PLAINTEXT://0.0.0.0:9092
KAFKA_CREATE_TOPICS: gotest:1:1
KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: "1"
working_directory: /go/src/gopkg.in/DataDog/dd-trace-go.v1

steps:
- checkout

- run:
name: Check milestone
command: |
go run checkmilestone.go
- run:
name: Check copyright
command: |
go run checkcopyright.go
- run:
name: Check gofmt
name: gofmt
command: |
if [ "$(gofmt -e -l . | wc -l)" -gt 0 ]; then
exit 1
fi
- restore_cache:
keys:
- v1-librdkafka-v1.3.0-{{ checksum "/etc/os-release" }}
- run:
name: Install librdkafka v1.3.0
name: milestone
command: |
if [ ! -d /tmp/librdkafka-v1.3.0 ] ; then
echo "building librdkafka"
git clone --branch v1.3.0 https://github.com/edenhill/librdkafka.git /tmp/librdkafka-v1.3.0
(cd /tmp/librdkafka-v1.3.0 && ./configure && make)
fi
echo "installing librdkafka"
(cd /tmp/librdkafka-v1.3.0 && sudo make install)
sudo ldconfig
- save_cache:
key: v1-librdkafka-v1.3.0-{{ checksum "/etc/os-release" }}
paths:
- /tmp/librdkafka-v1.3.0
go run checkmilestone.go
- run:
name: Enforce some dependencies
name: copyright
command: |
go get k8s.io/client-go@v0.17.0
go get k8s.io/apimachinery@v0.17.0
- run:
name: Wait for MySQL
command: dockerize -wait tcp://localhost:3306 -timeout 1m

- run:
name: Wait for Postgres
command: dockerize -wait tcp://localhost:5432 -timeout 1m

- run:
name: Wait for Redis
command: dockerize -wait tcp://localhost:6379 -timeout 1m

- run:
name: Wait for ElasticSearch (1)
command: dockerize -wait http://localhost:9200 -timeout 1m

- run:
name: Wait for ElasticSearch (2)
command: dockerize -wait http://localhost:9201 -timeout 1m
go run checkcopyright.go
- run:
name: Wait for Datadog Agent
command: dockerize -wait tcp://127.0.0.1:8126 -timeout 1m
- persist_to_workspace:
root: /go
paths:
- src
- pkg
- bin

- run:
name: Wait for Cassandra
command: dockerize -wait tcp://localhost:9042 -timeout 2m
test_core:
- image: circleci/golang:1.13
environment:
GO111MODULE: "on"
working_directory: /go/src/gopkg.in/DataDog/dd-trace-go.v1

- run:
name: Wait for Mongo
command: dockerize -wait tcp://localhost:27017 -timeout 1m
steps:
- attach_workspace:
at: /go

- run:
name: Wait for Consul
command: dockerize -wait http://localhost:8500 -timeout 1m
- run:
name: Testing
command: go test -race ./ddtrace/...

- run:
name: Linting
command: |
# TODO(gbbr): linting
# go get -v -u golang.org/x/lint/golint
# golint `go list ./...` | grep -v globalsign/mgo/collection.go
test_integrations:
- image: circleci/golang:1.13
environment:
GO111MODULE: "on"
working_directory: /go/src/gopkg.in/DataDog/dd-trace-go.v1

- run:
name: Testing
command: |
INTEGRATION=1 go test -race `go list ./... | grep -v grpc.v12`
go get google.golang.org/grpc@v1.2.0
go test ./contrib/google.golang.org/grpc.v12/...
steps:
- attach_workspace:
at: /go

- run:
name: Testing
command: go test -race ./contrib/net/...

workflows:
version: 2
build_and_test:
jobs:
- build
- test_core:
requires:
- build
- test_integrations:
requires:
- build
1 change: 1 addition & 0 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIA
cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw=
cloud.google.com/go/storage v1.5.0/go.mod h1:tpKbwo567HUNpVclU5sGELwQWBDZ8gh0ZeosJ0Rtdos=
cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohlUTyfDhBk=
dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9 h1:VpgP7xuJadIUuKccphEpTJnWhS2jkQyMt6Y7pJCD7fY=
dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU=
github.com/BurntSushi/toml v0.3.1 h1:WXkYYl6Yr3qBf1K79EBnL4mak0OimBfB0XUf9Vl28OQ=
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
Expand Down

0 comments on commit a18cae3

Please sign in to comment.