Commit graph

76 commits

Author SHA1 Message Date
Ben Kochie b1e779d0ed
Use release binary of promu (#4843)
Download and extract a release binary of promu, rather than pull from
master.

Signed-off-by: Ben Kochie <superq@gmail.com>
2018-11-10 16:28:59 +01:00
Simon Pasquier a9ff66427b Makefile: add precheck target
Signed-off-by: Simon Pasquier <spasquie@redhat.com>
2018-11-09 17:14:37 +01:00
Simon Pasquier a60d2c152f Makefile.common: clean up
Signed-off-by: Simon Pasquier <spasquie@redhat.com>
2018-11-09 11:55:04 +01:00
Simon Pasquier e3cd3ab79a Merge branch 'master' into go-modules
Signed-off-by: Simon Pasquier <spasquie@redhat.com>
2018-11-09 11:42:12 +01:00
Simon Pasquier 4fc6e22067 Set GO111MODULE when running staticcheck
Signed-off-by: Simon Pasquier <spasquie@redhat.com>
2018-10-29 17:25:43 +01:00
Simon Pasquier 5bd9010196 More updates for libraries
Signed-off-by: Simon Pasquier <spasquie@redhat.com>
2018-10-29 17:25:43 +01:00
Simon Pasquier be68fb0f30 Update Makefile.common to support libraries
Specifically tsdb and client_golang that don't use vendoring.

Signed-off-by: Simon Pasquier <spasquie@redhat.com>
2018-10-29 17:25:43 +01:00
Simon Pasquier 790876da60 go get honnef.co/go/tools/cmd/staticcheck in a temp dir
Signed-off-by: Simon Pasquier <spasquie@redhat.com>
2018-10-29 17:25:43 +01:00
Simon Pasquier 71e0ec7512 improve unused recipe for go modules
Signed-off-by: Simon Pasquier <spasquie@redhat.com>
2018-10-29 17:25:43 +01:00
Simon Pasquier 79e0fb5a3d Tidy up Makefile.common
Signed-off-by: Simon Pasquier <spasquie@redhat.com>
2018-10-29 17:25:43 +01:00
Simon Pasquier ac16ef8f0e Add missing tools.go
Also rearrange the code to be more consistent.

Signed-off-by: Simon Pasquier <spasquie@redhat.com>
2018-10-29 17:25:43 +01:00
Simon Pasquier b9f824e617 try go install honnef.co/tools/cmd/staticcheck
Signed-off-by: Simon Pasquier <spasquie@redhat.com>
2018-10-29 17:25:43 +01:00
Simon Pasquier ea18ea66b1 GOOS= and GOARCH=
Signed-off-by: Simon Pasquier <spasquie@redhat.com>
2018-10-29 17:25:43 +01:00
Simon Pasquier cc1b953394 go list -m honnef.co/go/tools
Signed-off-by: Simon Pasquier <spasquie@redhat.com>
2018-10-29 17:25:43 +01:00
Simon Pasquier c141833d45 *: use staticcheck@next to support Go modules
Signed-off-by: Simon Pasquier <spasquie@redhat.com>
2018-10-29 17:25:43 +01:00
Simon Pasquier 80de93b6af *: support for Go modules
Signed-off-by: Simon Pasquier <spasquie@redhat.com>
2018-10-29 17:25:43 +01:00
Bartek Plotka c3434a39b7 proto: Allow reproducible proto generation.
Current way of setting prometheus project to generate repo is tedious.
If you just go install packages described in README.md
it ends up with those (non buildable code)
```
../../../prompb/remote.pb.go:61:34: undefined: "github.com/prometheus/prometheus/vendor/github.com/gogo/protobuf/proto".InternalMessageInfo
../../../prompb/remote.pb.go:109:33: undefined: "github.com/prometheus/prometheus/vendor/github.com/gogo/protobuf/proto".InternalMessageInfo
../../../prompb/remote.pb.go:164:34: undefined: "github.com/prometheus/prometheus/vendor/github.com/gogo/protobuf/proto".InternalMessageInfo
../../../prompb/remote.pb.go:214:27: undefined: "github.com/prometheus/prometheus/vendor/github.com/gogo/protobuf/proto".InternalMessageInfo
../../../prompb/remote.pb.go:284:33: undefined: "github.com/prometheus/prometheus/vendor/github.com/gogo/protobuf/proto".InternalMessageInfo
```
The issue is that the guide presented in proto folder is asking to
install some GO packages. It does not mention from what version and
there is strong mismatch between those used to generate proto and those
that are vendored and used to run the code later...
The particular outdated packages in vendor are:
`github.com/gogo/protobuf` and `google.golang.org/grpc`.

Just updating vendor would be not enough, as it would only tmp fix.
I propose adding script that will parse version from vendor.json and install correct version.

Changes:
- Added script that uses packages in *exactly* the same version the Go code is build against later.
- Regenerated proto with those pinned deps.
- Updated REAMDE.md
- Added `make proto`Current way of setting prometheus project to generate code from proto files is tedious.
If you just go install packages described in README.md, it ends up with this (non buildable code)
```
../../../prompb/remote.pb.go:61:34: undefined: "github.com/prometheus/prometheus/vendor/github.com/gogo/protobuf/proto".InternalMessageInfo
../../../prompb/remote.pb.go:109:33: undefined: "github.com/prometheus/prometheus/vendor/github.com/gogo/protobuf/proto".InternalMessageInfo
../../../prompb/remote.pb.go:164:34: undefined: "github.com/prometheus/prometheus/vendor/github.com/gogo/protobuf/proto".InternalMessageInfo
../../../prompb/remote.pb.go:214:27: undefined: "github.com/prometheus/prometheus/vendor/github.com/gogo/protobuf/proto".InternalMessageInfo
../../../prompb/remote.pb.go:284:33: undefined: "github.com/prometheus/prometheus/vendor/github.com/gogo/protobuf/proto".InternalMessageInfo
```
The issue is that the guide presented in proto folder is asking to install some GO packages. It does not mention from what version and there is strong mismatch between those used to generate proto and those that are vendored and used to run the code later...
The particular outdated packages in vendor are:
`github.com/gogo/protobuf` and `google.golang.org/grpc`.

Just updating vendor would be not enough, as it would only tmp fix.
I propose adding script that will parse version from vendor.json and install correct version.

Changes:
- Added script that uses packages in *exactly* the same version the Go code is build against later.
- Regenerated proto with those pinned deps.
- Updated REAMDE.md
- Added `make proto`

Signed-off-by: Bartek Plotka <bwplotka@gmail.com>
2018-10-05 10:22:02 +01:00
Simon Pasquier a827f91aff Makefile: improve 'make style' reporting
Signed-off-by: Simon Pasquier <spasquie@redhat.com>
2018-08-07 14:54:20 +02:00
Paul Gier cfb3f31538 add prefix "common-" to make target names
This allows rules to be overridden with warnings about conflicting
target names.

Signed-off-by: Paul Gier <pgier@redhat.com>
2018-07-12 16:53:34 -05:00
Ben Kochie 709ad10d97
Reduce CircleCI duplication (#4335)
Reduce the duplication of per-project specifics in the CircleCI config.
* Add docker repo variable, default to docker hub.
* Add make targets for docker push and tag latest.

Signed-off-by: Ben Kochie <superq@gmail.com>
2018-07-04 11:27:10 +02:00
Simon Pasquier 45b8dea320 Makefile: update .PHONY target (#4234)
Makefile: update .PHONY target

* Move .PHONY declarations near their targets

Signed-off-by: Simon Pasquier <spasquie@redhat.com>
2018-06-11 17:51:28 +02:00
Ben Kochie 4a4e8a7d3b Fix spelling in Makefile.common. (#4105)
Signed-off-by: Ben Kochie <superq@gmail.com>
2018-04-20 19:35:42 +03:00
Krasi Georgiev 98c51d241b run the style target to fail if the code is not properly formated
Signed-off-by: Krasi Georgiev <kgeorgie@redhat.com>
2018-04-19 15:18:35 +03:00
Krasi Georgiev 0b0c9f4b6b
unused target didn't trigger an error for unused packages (#4101)
Signed-off-by: Krasi Georgiev <kgeorgie@redhat.com>
2018-04-19 15:07:55 +03:00
Krasi Georgiev 416db814e8
use package shorthand selection that excludes vendored. (#4100)
Signed-off-by: Krasi Georgiev <kgeorgie@redhat.com>
2018-04-19 13:38:01 +03:00
Krasi Georgiev 3f2b2c50dd
use the Makefile.common (#3978)
split common targets in a  Makefile.common to reuse it across projects

Signed-off-by: Krasi Georgiev <krasi.root@gmail.com>
2018-04-19 12:07:10 +03:00