diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 227bfb8b1b..b36917944e 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -13,7 +13,7 @@ jobs: - name: Install Go uses: actions/setup-go@v1 with: - go-version: 1.16 + go-version: 1.17 - name: Install golangci-lint run: > cd /tmp && @@ -33,7 +33,7 @@ jobs: test: strategy: matrix: - go-versions: [1.16, 1.15] + go-versions: [1.17, 1.16] platform: [ubuntu-20.04] environment-variables: [build/config/plain.sh, build/config/libpfm4.sh, build/config/libipmctl.sh] runs-on: ${{ matrix.platform }} @@ -54,7 +54,7 @@ jobs: test-integration: strategy: matrix: - go-versions: [1.16, 1.15] + go-versions: [1.17, 1.16] platform: [ubuntu-20.04] environment-variables: [build/config/plain.sh, build/config/libpfm4.sh, build/config/libipmctl.sh] runs-on: ${{ matrix.platform }} diff --git a/Makefile b/Makefile index ec9980c144..c8ef2790ff 100644 --- a/Makefile +++ b/Makefile @@ -86,7 +86,7 @@ docker-%: @docker build -t cadvisor:$(shell git rev-parse --short HEAD) -f deploy/Dockerfile$(Dockerfile_tag) . docker-build: - @docker run --rm -w /go/src/github.com/google/cadvisor -v ${PWD}:/go/src/github.com/google/cadvisor golang:1.16 make build + @docker run --rm -w /go/src/github.com/google/cadvisor -v ${PWD}:/go/src/github.com/google/cadvisor golang:1.17 make build presubmit: vet @echo ">> checking go formatting" diff --git a/build/boilerplate/boilerplate.py b/build/boilerplate/boilerplate.py index e4b6dec358..ce8a68817a 100755 --- a/build/boilerplate/boilerplate.py +++ b/build/boilerplate/boilerplate.py @@ -139,8 +139,8 @@ def get_regexs(): regexs["year"] = re.compile( 'YEAR' ) # dates can be something in the 21st century regexs["date"] = re.compile( '20[0-9][0-9]' ) - # strip // +build \n\n build constraints - regexs["go_build_constraints"] = re.compile(r"^(// \+build.*\n)+\n", re.MULTILINE) + # strip // +build \n\n build and //go:build constraints + regexs["go_build_constraints"] = re.compile(r"^(//\s*(\+build|go:build).*\n)+\n", re.MULTILINE) # strip #!.* from shell scripts regexs["shebang"] = re.compile(r"^(#!.*\n)\n*", re.MULTILINE) return regexs diff --git a/build/integration-in-docker.sh b/build/integration-in-docker.sh index fb7242e9e4..4d40f8d840 100755 --- a/build/integration-in-docker.sh +++ b/build/integration-in-docker.sh @@ -70,5 +70,5 @@ GO_FLAGS=${GO_FLAGS:-"-tags=netgo -race"} PACKAGES=${PACKAGES:-"sudo"} BUILD_PACKAGES=${BUILD_PACKAGES:-} CADVISOR_ARGS=${CADVISOR_ARGS:-} -GOLANG_VERSION=${GOLANG_VERSION:-"1.16"} +GOLANG_VERSION=${GOLANG_VERSION:-"1.17"} run_tests "$GO_FLAGS" "$PACKAGES" "$BUILD_PACKAGES" "$CADVISOR_ARGS" diff --git a/build/unit-in-container.sh b/build/unit-in-container.sh index 924d142501..f2cefdad22 100755 --- a/build/unit-in-container.sh +++ b/build/unit-in-container.sh @@ -44,5 +44,5 @@ function run_tests() { GO_FLAGS=${GO_FLAGS:-"-tags=netgo -race"} BUILD_PACKAGES=${BUILD_PACKAGES:-} -GOLANG_VERSION=${GOLANG_VERSION:-"1.16"} +GOLANG_VERSION=${GOLANG_VERSION:-"1.17"} run_tests diff --git a/cmd/internal/storage/influxdb/influxdb_test.go b/cmd/internal/storage/influxdb/influxdb_test.go index 0e841584b4..69d06817b5 100644 --- a/cmd/internal/storage/influxdb/influxdb_test.go +++ b/cmd/internal/storage/influxdb/influxdb_test.go @@ -12,7 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +//go:build influxdb_test // +build influxdb_test + // To run unit test: go test -tags influxdb_test package influxdb diff --git a/deploy/canary/Dockerfile b/deploy/canary/Dockerfile index 2319ff6b53..03f1daa729 100644 --- a/deploy/canary/Dockerfile +++ b/deploy/canary/Dockerfile @@ -1,4 +1,4 @@ -FROM golang:1.16 +FROM golang:1.17 MAINTAINER dashpole@google.com RUN apt-get update && apt-get install -y git dmsetup && apt-get clean diff --git a/fs/fs.go b/fs/fs.go index 069688df67..6243913019 100644 --- a/fs/fs.go +++ b/fs/fs.go @@ -12,6 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. +//go:build linux // +build linux // Provides Filesystem Stats diff --git a/integration/tests/api/perf_test.go b/integration/tests/api/perf_test.go index 95ab70003c..3cd5434197 100644 --- a/integration/tests/api/perf_test.go +++ b/integration/tests/api/perf_test.go @@ -1,3 +1,4 @@ +//go:build libpfm && cgo // +build libpfm,cgo // Copyright 2020 Google Inc. All Rights Reserved. diff --git a/machine/operatingsystem_unix.go b/machine/operatingsystem_unix.go index 106c47e128..37a4cc5361 100644 --- a/machine/operatingsystem_unix.go +++ b/machine/operatingsystem_unix.go @@ -12,6 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. +//go:build freebsd || darwin || linux // +build freebsd darwin linux package machine diff --git a/nvm/machine_libipmctl.go b/nvm/machine_libipmctl.go index 9ee57fae24..2470031096 100644 --- a/nvm/machine_libipmctl.go +++ b/nvm/machine_libipmctl.go @@ -1,3 +1,4 @@ +//go:build libipmctl && cgo // +build libipmctl,cgo // Copyright 2020 Google Inc. All Rights Reserved. diff --git a/nvm/machine_no_libipmctl.go b/nvm/machine_no_libipmctl.go index 21311f8a7f..61088da632 100644 --- a/nvm/machine_no_libipmctl.go +++ b/nvm/machine_no_libipmctl.go @@ -1,3 +1,4 @@ +//go:build !libipmctl || !cgo // +build !libipmctl !cgo // Copyright 2020 Google Inc. All Rights Reserved. diff --git a/perf/collector_libpfm.go b/perf/collector_libpfm.go index a0f4b77631..cd7bc632f2 100644 --- a/perf/collector_libpfm.go +++ b/perf/collector_libpfm.go @@ -1,3 +1,4 @@ +//go:build libpfm && cgo // +build libpfm,cgo // Copyright 2020 Google Inc. All Rights Reserved. diff --git a/perf/collector_libpfm_test.go b/perf/collector_libpfm_test.go index c1ef62a836..ff519d6904 100644 --- a/perf/collector_libpfm_test.go +++ b/perf/collector_libpfm_test.go @@ -1,3 +1,4 @@ +//go:build libpfm && cgo // +build libpfm,cgo // Copyright 2020 Google Inc. All Rights Reserved. diff --git a/perf/collector_no_libpfm.go b/perf/collector_no_libpfm.go index 18a69d537b..57c1a20595 100644 --- a/perf/collector_no_libpfm.go +++ b/perf/collector_no_libpfm.go @@ -1,3 +1,4 @@ +//go:build !libpfm || !cgo // +build !libpfm !cgo // Copyright 2020 Google Inc. All Rights Reserved. diff --git a/perf/manager_libpfm.go b/perf/manager_libpfm.go index bf442344b0..9be47e372c 100644 --- a/perf/manager_libpfm.go +++ b/perf/manager_libpfm.go @@ -1,3 +1,4 @@ +//go:build libpfm && cgo // +build libpfm,cgo // Copyright 2020 Google Inc. All Rights Reserved. diff --git a/perf/manager_libpfm_test.go b/perf/manager_libpfm_test.go index 50da89dc3e..1fb2aff65e 100644 --- a/perf/manager_libpfm_test.go +++ b/perf/manager_libpfm_test.go @@ -1,3 +1,4 @@ +//go:build libpfm && cgo // +build libpfm,cgo // Copyright 2020 Google Inc. All Rights Reserved. diff --git a/perf/manager_no_libpfm.go b/perf/manager_no_libpfm.go index d0fc4e78a1..135d778eea 100644 --- a/perf/manager_no_libpfm.go +++ b/perf/manager_no_libpfm.go @@ -1,3 +1,4 @@ +//go:build !libpfm || !cgo // +build !libpfm !cgo // Copyright 2020 Google Inc. All Rights Reserved. diff --git a/perf/types_libpfm.go b/perf/types_libpfm.go index 1ca2136137..89cf7be10b 100644 --- a/perf/types_libpfm.go +++ b/perf/types_libpfm.go @@ -1,3 +1,4 @@ +//go:build libpfm && cgo // +build libpfm,cgo // Copyright 2020 Google Inc. All Rights Reserved. diff --git a/perf/uncore_libpfm.go b/perf/uncore_libpfm.go index fcdd8fb2f7..0ef6248c79 100644 --- a/perf/uncore_libpfm.go +++ b/perf/uncore_libpfm.go @@ -1,3 +1,4 @@ +//go:build libpfm && cgo // +build libpfm,cgo // Copyright 2020 Google Inc. All Rights Reserved. diff --git a/perf/uncore_libpfm_test.go b/perf/uncore_libpfm_test.go index a8e991f6b2..a723ac9fb1 100644 --- a/perf/uncore_libpfm_test.go +++ b/perf/uncore_libpfm_test.go @@ -1,3 +1,4 @@ +//go:build libpfm && cgo // +build libpfm,cgo // Copyright 2020 Google Inc. All Rights Reserved. diff --git a/resctrl/collector.go b/resctrl/collector.go index f677b8d044..9291711e81 100644 --- a/resctrl/collector.go +++ b/resctrl/collector.go @@ -1,3 +1,4 @@ +//go:build linux // +build linux // Copyright 2020 Google Inc. All Rights Reserved. diff --git a/resctrl/manager.go b/resctrl/manager.go index cceb28e6b6..6e0f24ac81 100644 --- a/resctrl/manager.go +++ b/resctrl/manager.go @@ -1,3 +1,4 @@ +//go:build linux // +build linux // Copyright 2020 Google Inc. All Rights Reserved. diff --git a/utils/sysfs/sysfs_notx86.go b/utils/sysfs/sysfs_notx86.go index 86b8d02467..e22dc20c3e 100644 --- a/utils/sysfs/sysfs_notx86.go +++ b/utils/sysfs/sysfs_notx86.go @@ -1,3 +1,4 @@ +//go:build !x86 // +build !x86 // Copyright 2021 Google Inc. All Rights Reserved. diff --git a/utils/sysfs/sysfs_x86.go b/utils/sysfs/sysfs_x86.go index fd6ff358f6..f0c7b1ae1d 100644 --- a/utils/sysfs/sysfs_x86.go +++ b/utils/sysfs/sysfs_x86.go @@ -1,3 +1,4 @@ +//go:build x86 // +build x86 // Copyright 2021 Google Inc. All Rights Reserved.