Skip to content
This repository has been archived by the owner on Oct 3, 2023. It is now read-only.

Commit

Permalink
Merge pull request #23 from bogdandrutu/fixdeps
Browse files Browse the repository at this point in the history
Upgrade deps, add tools to code to pin version, change to use golangci
  • Loading branch information
punya committed Mar 9, 2021
2 parents 6bcf6f8 + ddc35f8 commit b6359e3
Show file tree
Hide file tree
Showing 11 changed files with 1,195 additions and 117 deletions.
123 changes: 123 additions & 0 deletions .golangci.yml
@@ -0,0 +1,123 @@
# options for analysis running
run:
# default concurrency is a available CPU number
concurrency: 4

# timeout for analysis, e.g. 30s, 5m, default is 1m
timeout: 10m

# exit code when at least one issue was found, default is 1
issues-exit-code: 1

# include test files or not, default is true
tests: true

# which dirs to skip: issues from them won't be reported;
# can use regexp here: generated.*, regexp is applied on full path;
# default value is empty list, but default dirs are skipped independently
# from this option's value (see skip-dirs-use-default).
skip-dirs:

# default is true. Enables skipping of directories:
# vendor$, third_party$, testdata$, examples$, Godeps$, builtin$
skip-dirs-use-default: false

# which files to skip: they will be analyzed, but issues from them
# won't be reported. Default value is empty list, but there is
# no need to include all autogenerated files, we confidently recognize
# autogenerated files. If it's not please let us know.
skip-files:

# by default isn't set. If set we pass it to "go list -mod={option}". From "go help modules":
# If invoked with -mod=readonly, the go command is disallowed from the implicit
# automatic updating of go.mod described above. Instead, it fails when any changes
# to go.mod are needed. This setting is most useful to check that go.mod does
# not need updates, such as in a continuous integration and testing system.
# If invoked with -mod=vendor, the go command assumes that the vendor
# directory holds the correct copies of dependencies and ignores
# the dependency descriptions in go.mod.
modules-download-mode: readonly

# output configuration options
output:
# colored-line-number|line-number|json|tab|checkstyle|code-climate, default is "colored-line-number"
format: colored-line-number

# print lines of code with issue, default is true
print-issued-lines: true

# print linter name in the end of issue text, default is true
print-linter-name: true

# all available settings of specific linters
linters-settings:
govet:
# report about shadowed variables
check-shadowing: true

# settings per analyzer
settings:
printf: # analyzer name, run `go tool vet help` to see all analyzers
funcs: # run `go tool vet help printf` to see available settings for `printf` analyzer
- (github.com/golangci/golangci-lint/pkg/logutils.Log).Infof
- (github.com/golangci/golangci-lint/pkg/logutils.Log).Warnf
- (github.com/golangci/golangci-lint/pkg/logutils.Log).Errorf
- (github.com/golangci/golangci-lint/pkg/logutils.Log).Fatalf

enable-all: true
# TODO: Enable this and fix the alignment issues.
disable:
- fieldalignment

golint:
# minimal confidence for issues, default is 0.8
min-confidence: 0.8

gofmt:
# simplify code: gofmt with `-s` option, true by default
simplify: true

goimports:
# put imports beginning with prefix after 3rd-party packages;
# it's a comma-separated list of prefixes
local-prefixes: contrib.go.opencensus.io/exporter/prometheus

misspell:
# Correct spellings using locale preferences for US or UK.
# Default is to use a neutral variety of English.
# Setting locale to US will correct the British spelling of 'colour' to 'color'.
locale: US
ignore-words:
- cancelled
- metre
- meter
- metres
- kilometre
- kilometres

linters:
disable:
- errcheck
enable:
- gofmt
- goimports
- golint
- gosec
- govet
- staticcheck
- misspell
- scopelint
- unconvert
- gocritic
- unparam

issues:
# Excluding configuration per-path, per-linter, per-text and per-source
exclude-rules:
# Exclude some linters from running on tests files.
- path: _test\.go
linters:
- scopelint
- text: "G404:"
linters:
- gosec
2 changes: 1 addition & 1 deletion .travis.yml
Expand Up @@ -3,7 +3,7 @@ language: go
go_import_path: contrib.go.opencensus.io

go:
- 1.11.x
- 1.15.x

env:
global:
Expand Down
65 changes: 10 additions & 55 deletions Makefile
Expand Up @@ -8,22 +8,18 @@ ALL_PKGS := $(shell go list $(sort $(dir $(ALL_SRC))))
GOTEST_OPT?=-v -race -timeout 30s
GOTEST_OPT_WITH_COVERAGE = $(GOTEST_OPT) -coverprofile=coverage.txt -covermode=atomic
GOTEST=go test
GOFMT=gofmt
GOLINT=golint
GOVET=go vet
EMBEDMD=embedmd
LINT=golangci-lint
# TODO decide if we need to change these names.
README_FILES := $(shell find . -name '*README.md' | sort | tr '\n' ' ')

.DEFAULT_GOAL := lint-test

.DEFAULT_GOAL := fmt-lint-vet-embedmd-test
.PHONY: lint-test
lint-test: lint test

.PHONY: fmt-lint-vet-embedmd-test
fmt-lint-vet-embedmd-test: fmt lint vet embedmd test

# TODO enable test-with-coverage in tavis
# TODO enable test-with-coverage in travis
.PHONY: travis-ci
travis-ci: fmt lint vet embedmd test test-386
travis-ci: lint test test-386

all-pkgs:
@echo $(ALL_PKGS) | tr ' ' '\n' | sort
Expand All @@ -43,53 +39,12 @@ test-386:
test-with-coverage:
$(GOTEST) $(GOTEST_OPT_WITH_COVERAGE) $(ALL_PKGS)

.PHONY: fmt
fmt:
@FMTOUT=`$(GOFMT) -s -l $(ALL_SRC) 2>&1`; \
if [ "$$FMTOUT" ]; then \
echo "$(GOFMT) FAILED => gofmt the following files:\n"; \
echo "$$FMTOUT\n"; \
exit 1; \
else \
echo "Fmt finished successfully"; \
fi

.PHONY: lint
lint:
@LINTOUT=`$(GOLINT) $(ALL_PKGS) 2>&1`; \
if [ "$$LINTOUT" ]; then \
echo "$(GOLINT) FAILED => clean the following lint errors:\n"; \
echo "$$LINTOUT\n"; \
exit 1; \
else \
echo "Lint finished successfully"; \
fi

.PHONY: vet
vet:
# TODO: Understand why go vet downloads "github.com/google/go-cmp v0.2.0"
@VETOUT=`$(GOVET) ./... | grep -v "go: downloading" 2>&1`; \
if [ "$$VETOUT" ]; then \
echo "$(GOVET) FAILED => go vet the following files:\n"; \
echo "$$VETOUT\n"; \
exit 1; \
else \
echo "Vet finished successfully"; \
fi

.PHONY: embedmd
embedmd:
@EMBEDMDOUT=`$(EMBEDMD) -d $(README_FILES) 2>&1`; \
if [ "$$EMBEDMDOUT" ]; then \
echo "$(EMBEDMD) FAILED => embedmd the following files:\n"; \
echo "$$EMBEDMDOUT\n"; \
exit 1; \
else \
echo "Embedmd finished successfully"; \
fi
$(LINT) run --allow-parallel-runners

.PHONY: install-tools
install-tools:
go get -u golang.org/x/tools/cmd/cover
go get -u golang.org/x/lint/golint
go get -u github.com/rakyll/embedmd
cd internal/tools && go install golang.org/x/tools/cmd/cover
cd internal/tools && go install github.com/golangci/golangci-lint/cmd/golangci-lint

3 changes: 2 additions & 1 deletion example/main.go
Expand Up @@ -23,9 +23,10 @@ import (
"net/http"
"time"

"contrib.go.opencensus.io/exporter/prometheus"
"go.opencensus.io/stats"
"go.opencensus.io/stats/view"

"contrib.go.opencensus.io/exporter/prometheus"
)

// Create measures. The program will record measures for the size of
Expand Down
12 changes: 4 additions & 8 deletions go.mod
@@ -1,14 +1,10 @@
module contrib.go.opencensus.io/exporter/prometheus

require (
github.com/cespare/xxhash/v2 v2.1.1 // indirect
github.com/golang/groupcache v0.0.0-20191027212112-611e8accdfc9 // indirect
github.com/google/go-cmp v0.3.1
github.com/prometheus/client_golang v1.2.1
github.com/prometheus/procfs v0.0.6 // indirect
github.com/prometheus/statsd_exporter v0.15.0
go.opencensus.io v0.22.4-0.20200608061201-1901b56b9515
golang.org/x/sys v0.0.0-20191113165036-4c7a9d0fe056 // indirect
github.com/google/go-cmp v0.5.5
github.com/prometheus/client_golang v1.9.0
github.com/prometheus/statsd_exporter v0.20.0
go.opencensus.io v0.23.0
)

go 1.13

0 comments on commit b6359e3

Please sign in to comment.