Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

all: commit full go.mod and go.sum files #1188

Merged
merged 9 commits into from Mar 7, 2022
35 changes: 5 additions & 30 deletions .circleci/config.yml
Expand Up @@ -24,6 +24,11 @@ jobs:
environment:
GOPATH: "/home/circleci/go"
working_directory: /home/circleci/dd-trace-go.v1
environment:
# Go 1.12 doesn't have the proxy turned on by default but we need it to
# fetch some dependencies that aren't handled by fetching directly
# (such as github.com/go-chi/chi/v4@v4.0.0-rc1)
GOPROXY: "https://proxy.golang.org"
steps:
- checkout

Expand Down Expand Up @@ -127,11 +132,6 @@ jobs:
- restore_cache: # restores saved cache if no changes are detected since last run
keys:
- go-mod-v5-core-{{ checksum "go.sum.orig" }}
- run:
name: Enforce some dependencies
command: |
# last version compatible with go1.14, needed for testtraceprof
echo 'replace golang.org/x/net => golang.org/x/net d418f374d30933c6c7db22cf349625c295a5afaa' >> go.mod
- run:
name: Testing
command: |
Expand Down Expand Up @@ -258,31 +258,6 @@ jobs:
paths:
- /tmp/librdkafka-v1.3.0

- run:
name: Enforce some dependencies
command: |
go get k8s.io/client-go@v0.17.0
go get k8s.io/apimachinery@v0.17.0
go get cloud.google.com/go/pubsub@v1.6.1
# Temporarily enforce this version. 1.9.0 is incompatible with go < 1.16
go get github.com/hashicorp/consul/api@v1.8.1
# github.com/hashicorp/vault/sdk > v0.2.0 doesn't compile with go1.14
go get github.com/hashicorp/vault/sdk@v0.2.0
# Shopify/sarama > v1.22 doesn't compile with go1.14
go get github.com/Shopify/sarama@v1.22.0
# Temporary enforcing gorm to v1.22.4 to avoid the problems of v1.22.5
go get -v gorm.io/gorm@v1.22.4
# gofiber >= v2.27.0 has a transitive dependency on a newer version of
# golang.org/x/net that requires Go >= 1.15, breaking our build
go get github.com/gofiber/fiber/v2@v2.26.0
# The following gorm drivers need to be pinned, or newer versions
# will force an update to gorm.io/gorm, which we are also trying to
# pin above.
go get gorm.io/driver/mysql@v1.2.3
go get gorm.io/driver/postgres@v1.2.3
go get gorm.io/driver/sqlserver@v1.2.1
go get github.com/zenazn/goji@v1.0.1

- run:
name: Wait for MySQL
command: dockerize -wait tcp://localhost:3306 -timeout 1m
Expand Down
10 changes: 2 additions & 8 deletions CONTRIBUTING.md
Expand Up @@ -40,15 +40,9 @@ Please view our contrib [README.md](contrib/README.md) for information on new in

### Go Modules

This repository currently takes an [idiosyncratic approach](https://github.com/DataDog/dd-trace-go/issues/810) to using Go modules which means that you should not commit modified versions of the `go.mod` or `go.sum` files.
When adding a new dependency, especially for `contrib/` packages, prefer the minimum secure versions of any modules rather than the latest versions. This is to avoid forcing upgrades on downstream users for modules such as `google.golang.org/grpc` which often introduce breaking changes within major versions.

The following git command can be used to permanently ignore modifications to these files:

```
git update-index --assume-unchanged go.*
```

If you need to undo this for any reason, you can run:
This repository used to omit many dependencies from the `go.mod` file due to concerns around version compatibility [(ref)](https://github.com/DataDog/dd-trace-go/issues/810). As such, you may have configured git to ignore changes to `go.mod` and `go.sum`. To undo this, run

```
git update-index --no-assume-unchanged go.*
Expand Down
176 changes: 174 additions & 2 deletions go.mod
Expand Up @@ -3,16 +3,188 @@ module gopkg.in/DataDog/dd-trace-go.v1
go 1.12

require (
cloud.google.com/go/pubsub v1.4.0
github.com/Azure/go-ansiterm v0.0.0-20170929234023-d6e3b3328b78 // indirect
github.com/DataDog/datadog-agent/pkg/obfuscate v0.0.0-20211129110424-6491aa3bf583
github.com/DataDog/datadog-go/v5 v5.0.2
github.com/DataDog/gostackparse v0.5.0
github.com/DataDog/sketches-go v1.0.0
github.com/DataDog/zstd v1.3.5 // indirect
github.com/Microsoft/hcsshim v0.8.9 // indirect
github.com/PuerkitoBio/goquery v1.5.1 // indirect
github.com/Shopify/sarama v1.22.0
github.com/Shopify/toxiproxy v2.1.4+incompatible // indirect
github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751 // indirect
github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4 // indirect
github.com/armon/go-radix v1.0.0 // indirect
github.com/aws/aws-sdk-go v1.34.28
github.com/aws/aws-sdk-go-v2 v1.0.0
github.com/aws/aws-sdk-go-v2/config v1.0.0
github.com/aws/aws-sdk-go-v2/service/sqs v1.0.0
github.com/aws/aws-sdk-go-v2/service/sso v1.0.0 // indirect
github.com/aws/smithy-go v1.11.0
github.com/beorn7/perks v1.0.1 // indirect
github.com/bradfitz/gomemcache v0.0.0-20220106215444-fb4bf637b56d
github.com/cenkalti/backoff/v3 v3.0.0 // indirect
github.com/cespare/xxhash/v2 v2.1.2 // indirect
github.com/cncf/udpa/go v0.0.0-20210930031921-04548b0d99d4 // indirect
github.com/cncf/xds/go v0.0.0-20211011173535-cb28da3451f1 // indirect
github.com/confluentinc/confluent-kafka-go v1.4.0
github.com/containerd/containerd v1.3.4 // indirect
github.com/containerd/continuity v0.0.0-20200709052629-daa8e1ccc0bc // indirect
github.com/denisenkom/go-mssqldb v0.11.0
github.com/docker/distribution v2.7.1+incompatible // indirect
github.com/docker/docker v1.4.2-0.20200319182547-c7ad2b866182 // indirect
github.com/docker/go-connections v0.4.0 // indirect
github.com/eapache/go-resiliency v1.1.0 // indirect
github.com/eapache/go-xerial-snappy v0.0.0-20180814174437-776d5712da21 // indirect
github.com/eapache/queue v1.1.0 // indirect
github.com/elastic/go-elasticsearch/v6 v6.8.5
github.com/elastic/go-elasticsearch/v7 v7.17.1
github.com/emicklei/go-restful v0.0.0-20170410110728-ff4f55a20633
github.com/envoyproxy/go-control-plane v0.9.8 // indirect
github.com/erikstmartin/go-testdb v0.0.0-20160219214506-8d10e4a1bae5 // indirect
github.com/evanphx/json-patch/v5 v5.5.0 // indirect
github.com/fatih/structs v1.1.0 // indirect
github.com/frankban/quicktest v1.13.0 // indirect
github.com/garyburd/redigo v1.6.3
github.com/gin-gonic/gin v1.6.3
github.com/globalsign/mgo v0.0.0-20181015135952-eeefdecb41b8
github.com/go-chi/chi v1.5.0
github.com/go-chi/chi/v4 v4.0.0-rc1
github.com/go-chi/chi/v5 v5.0.0
github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1 // indirect
github.com/go-ini/ini v1.25.4 // indirect
github.com/go-kit/kit v0.9.0 // indirect
github.com/go-ldap/ldap v3.0.2+incompatible // indirect
github.com/go-ldap/ldap/v3 v3.1.10 // indirect
github.com/go-pg/pg/v10 v10.0.0
github.com/go-playground/validator/v10 v10.4.1 // indirect
github.com/go-redis/redis v6.15.9+incompatible
github.com/go-redis/redis/v7 v7.1.0
github.com/go-redis/redis/v8 v8.0.0
github.com/go-sql-driver/mysql v1.6.0
github.com/go-test/deep v1.0.2 // indirect
github.com/gocql/gocql v0.0.0-20220224095938-0eacd3183625
github.com/gofiber/fiber/v2 v2.11.0
github.com/golang-jwt/jwt v3.2.2+incompatible // indirect
github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e // indirect
github.com/golang/mock v1.4.3 // indirect
github.com/golang/protobuf v1.5.2
github.com/golang/snappy v0.0.4 // indirect
github.com/gomodule/redigo v1.7.0
github.com/google/martian/v3 v3.0.0 // indirect
github.com/google/pprof v0.0.0-20210423192551-a2663126120b
github.com/google/uuid v1.3.0
github.com/gorilla/context v1.1.1 // indirect
github.com/gorilla/mux v1.5.0
github.com/graph-gophers/graphql-go v1.3.0
github.com/grpc-ecosystem/grpc-gateway v1.15.2 // indirect
github.com/hashicorp/consul/api v1.0.0
github.com/hashicorp/consul/sdk v0.7.0 // indirect
github.com/hashicorp/errwrap v1.1.0 // indirect
github.com/hashicorp/go-cleanhttp v0.5.2 // indirect
github.com/hashicorp/go-hclog v0.16.2 // indirect
github.com/hashicorp/go-immutable-radix v1.3.1 // indirect
github.com/hashicorp/go-kms-wrapping/entropy v0.1.0 // indirect
github.com/hashicorp/go-multierror v1.1.1 // indirect
github.com/hashicorp/go-plugin v1.4.3 // indirect
github.com/hashicorp/go-retryablehttp v0.6.6 // indirect
github.com/hashicorp/go-rootcerts v1.0.2 // indirect
github.com/hashicorp/go-secure-stdlib/base62 v0.1.1 // indirect
github.com/hashicorp/go-secure-stdlib/mlock v0.1.1 // indirect
github.com/hashicorp/go-secure-stdlib/password v0.1.1 // indirect
github.com/hashicorp/go-secure-stdlib/tlsutil v0.1.1 // indirect
github.com/hashicorp/go-sockaddr v1.0.2 // indirect
github.com/hashicorp/go-uuid v1.0.2 // indirect
github.com/hashicorp/go-version v1.2.0 // indirect
github.com/hashicorp/golang-lru v0.5.4 // indirect
github.com/hashicorp/hcl v1.0.0 // indirect
github.com/hashicorp/mdns v1.0.1 // indirect
github.com/hashicorp/memberlist v0.1.6 // indirect
github.com/hashicorp/serf v0.8.6 // indirect
github.com/hashicorp/vault/api v1.1.0
github.com/hashicorp/vault/sdk v0.1.14-0.20200519221838-e0cfd64bc267
github.com/hashicorp/yamux v0.0.0-20181012175058-2f1d1f20f75d // indirect
github.com/jackc/pgx/v4 v4.14.0
github.com/jinzhu/gorm v1.9.1
github.com/jinzhu/now v1.1.3 // indirect
github.com/jmoiron/sqlx v1.3.0
github.com/jstemmer/go-junit-report v0.9.1 // indirect
github.com/julienschmidt/httprouter v1.1.0
github.com/klauspost/crc32 v1.2.0 // indirect
github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515 // indirect
github.com/kr/text v0.2.0 // indirect
github.com/labstack/echo v3.3.10+incompatible
github.com/labstack/echo/v4 v4.2.0
github.com/labstack/gommon v0.3.1 // indirect
github.com/lib/pq v1.10.2
github.com/mattn/go-sqlite3 v1.14.12
github.com/miekg/dns v1.1.25
github.com/mitchellh/cli v1.1.0 // indirect
github.com/mitchellh/copystructure v1.0.0 // indirect
github.com/mitchellh/mapstructure v1.4.2 // indirect
github.com/morikuni/aec v1.0.0 // indirect
github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223 // indirect
github.com/onsi/gomega v1.16.0 // indirect
github.com/opencontainers/go-digest v1.0.0 // indirect
github.com/opencontainers/image-spec v1.0.1 // indirect
github.com/opencontainers/runc v0.1.1 // indirect
github.com/opentracing/opentracing-go v1.2.0
github.com/philhofer/fwd v1.1.1 // indirect
github.com/pierrec/lz4 v2.5.2+incompatible // indirect
github.com/pkg/profile v1.2.1 // indirect
github.com/posener/complete v1.2.3 // indirect
github.com/prometheus/client_model v0.2.0 // indirect
github.com/prometheus/procfs v0.0.8 // indirect
github.com/rcrowley/go-metrics v0.0.0-20181016184325-3113b8401b8a // indirect
github.com/ryanuber/go-glob v1.0.0 // indirect
github.com/segmentio/kafka-go v0.4.29
github.com/smartystreets/gunit v1.1.3 // indirect
github.com/stretchr/testify v1.7.0
github.com/syndtr/goleveldb v1.0.0
github.com/tidwall/assert v0.1.0 // indirect
github.com/tidwall/btree v1.1.0 // indirect
github.com/tidwall/buntdb v1.2.0
github.com/tidwall/grect v0.1.4 // indirect
github.com/tidwall/rtred v0.1.2 // indirect
github.com/tidwall/rtree v1.3.1 // indirect
github.com/tinylib/msgp v1.1.2
github.com/twitchtv/twirp v8.1.1+incompatible
github.com/urfave/negroni v1.0.0
github.com/valyala/fasthttp v1.32.0 // indirect
github.com/vmihailenco/msgpack/v5 v5.3.4 // indirect
github.com/vmihailenco/tagparser v0.1.2 // indirect
github.com/zenazn/goji v1.0.1
go.mongodb.org/mongo-driver v1.5.1
go.opencensus.io v0.22.4 // indirect
go.uber.org/atomic v1.9.0 // indirect
golang.org/x/crypto v0.0.0-20210921155107-089bfa567519 // indirect
golang.org/x/lint v0.0.0-20200302205851-738671d3881b // indirect
golang.org/x/net v0.0.0-20211020060615-d418f374d309
golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d
golang.org/x/sys v0.0.0-20220227234510-4e6760a101f9
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211 // indirect
golang.org/x/text v0.3.7 // indirect
golang.org/x/time v0.0.0-20211116232009-f0f3c7e86c11
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543
google.golang.org/protobuf v1.25.0
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1
google.golang.org/api v0.29.0
google.golang.org/appengine v1.6.6 // indirect
google.golang.org/genproto v0.0.0-20200726014623-da3ae01ef02d // indirect
google.golang.org/grpc v1.32.0
google.golang.org/protobuf v1.27.1
gopkg.in/alecthomas/kingpin.v2 v2.2.6 // indirect
gopkg.in/asn1-ber.v1 v1.0.0-20181015200546-f715ec2f112d // indirect
gopkg.in/jinzhu/gorm.v1 v1.9.1
gopkg.in/olivere/elastic.v3 v3.0.75
gopkg.in/olivere/elastic.v5 v5.0.84
gopkg.in/square/go-jose.v2 v2.5.1 // indirect
gorm.io/driver/mysql v1.0.1
gorm.io/driver/postgres v1.0.0
gorm.io/driver/sqlserver v1.0.4
gorm.io/gorm v1.20.6
gotest.tools/v3 v3.0.2 // indirect
honnef.co/go/tools v0.0.1-2020.1.4 // indirect
k8s.io/apimachinery v0.17.0
k8s.io/client-go v0.17.0
)