Commit Graph

93 Commits

Author SHA1 Message Date
Simon Pasquier
45506841e6
*: enable all default linters (#5504)
Signed-off-by: Simon Pasquier <spasquie@redhat.com>
2019-05-03 15:11:28 +02:00
Simon Pasquier
f5d54e5be6
*: enable golangci-lint (#5437)
* *: enable golangci-lint

Signed-off-by: Simon Pasquier <spasquie@redhat.com>

* Remove freebsd from supported platforms for lint

Signed-off-by: Simon Pasquier <spasquie@redhat.com>

* Update CONTRIBUTING.md

Signed-off-by: Simon Pasquier <spasquie@redhat.com>

* Update CONTRIBUTING.md

Signed-off-by: Simon Pasquier <spasquie@redhat.com>

* Add common-staticcheck for compatibility

Signed-off-by: Simon Pasquier <spasquie@redhat.com>
2019-04-24 14:18:40 +02:00
Johannes Würbach
8dfd829fef Docker images for ARM32v7 and ARM64v8 (#5031)
Build and publish ARM32v7 and ARM64v8 docker images.

Signed-off-by: Johannes Würbach <johannes.wuerbach@googlemail.com>
2019-04-15 14:27:00 +02:00
Mario Trangoni
5354ffff99 Fix some spelling issues (#5361)
See,
$ codespell -S './vendor/*,./.git*,./web/ui/static/vendor*' --ignore-words-list="uint,dur,ue,iff,te,wan"

Signed-off-by: Mario Trangoni <mjtrangoni@gmail.com>
2019-03-14 14:38:54 +00:00
Simon Pasquier
9f8e16248c
Makefile.common: run staticcheck for linux, freebsd and darwin only (#5331)
Signed-off-by: Simon Pasquier <spasquie@redhat.com>
2019-03-14 09:47:36 +01:00
Simon Pasquier
b0be270958
Makefile.common: add deps target (#5339)
Signed-off-by: Simon Pasquier <spasquie@redhat.com>
2019-03-13 08:58:11 +01:00
Paul Gier
d8c06bb2b7 Makefile.common: update promu to v0.3.0 (#5280)
Signed-off-by: Paul Gier <pgier@redhat.com>
2019-02-28 19:00:49 +01:00
Krasi Georgiev
41dee81554
Makefile.common: add check_license by default. (#5236) 2019-02-19 13:25:10 +02:00
Simon Pasquier
fc10f6d814
Unset GO111MODULE variable in Makefile.common (#5191)
Signed-off-by: Simon Pasquier <spasquie@redhat.com>
2019-02-07 17:22:04 +01:00
Simon Pasquier
f678e27eb6
*: use latest release of staticcheck (#5057)
* *: use latest release of staticcheck

It also fixes a couple of things in the code flagged by the additional
checks.

Signed-off-by: Simon Pasquier <spasquie@redhat.com>

* Use official release of staticcheck

Also run 'go list' before staticcheck to avoid failures when downloading packages.

Signed-off-by: Simon Pasquier <spasquie@redhat.com>
2019-01-04 14:47:38 +01:00
Paul Gier
1ca7037526 the go test -race option is only supported on amd64 (#4382)
Adds checks for current OS and arch to determine whether the '-race' option
should be used with go test

Signed-off-by: Paul Gier <pgier@redhat.com>
2018-12-19 11:28:26 +01:00
Paul Gier
d55bd57bdc Makefile.common: fix promu download path for arm32 (#4998)
Signed-off-by: Paul Gier <pgier@redhat.com>
2018-12-18 16:20:43 +01:00
Simon Pasquier
56cda567d9 Makefile.common: fix format rule (#4918)
Signed-off-by: Simon Pasquier <spasquie@redhat.com>
2018-12-06 12:49:47 +01:00
Simon Pasquier
ac9d5f3d53
cmd/prometheus: replace glog by glog-gokit (#4931)
Signed-off-by: Simon Pasquier <spasquie@redhat.com>
2018-12-04 15:01:12 +01:00
Ben Kochie
e4a49f1a71
Update Makefile.common (#4932)
* Fixup PROMU unpack

When setting up promu, use an explicit path, not the `PROMU` variable.
This allows for Makefile override of the PROMU command line flags.

* Use temp dir for unpacking tools.
* Use BSD compatible tar command.
* OpenBSD mkdir doesn't support `-v`.

Signed-off-by: Ben Kochie <superq@gmail.com>
2018-11-30 16:20:50 +01:00
Julius Volz
a8b8a8d5df
Fix .PHONE -> .PHONY typo in Makefile.common (#4886)
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2018-11-20 17:17:48 +08:00
Simon Pasquier
5dce2f5853 Merge branch 'master' into go-modules
Signed-off-by: Simon Pasquier <spasquie@redhat.com>
2018-11-12 09:57:53 +01:00
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