Skip to content

Commit

Permalink
Update go to 1.18 (#112)
Browse files Browse the repository at this point in the history
* Update go to 1.18

Signed-off-by: Sashank Agarwal <sashankagarwal97@gmail.com>

* Updated makefile to set SHELL

Signed-off-by: Sashank Agarwal <sashankagarwal97@gmail.com>
  • Loading branch information
sasagarw committed Jul 13, 2022
1 parent 1490176 commit 46b3449
Show file tree
Hide file tree
Showing 7 changed files with 101 additions and 63 deletions.
16 changes: 5 additions & 11 deletions .github/workflows/unit-test.yml
Expand Up @@ -15,29 +15,23 @@ jobs:
- name: Set up Go 1.x
uses: actions/setup-go@v2
with:
go-version: ^1.15
go-version: 1.18

- name: Check out code into the Go module directory
uses: actions/checkout@v2

- name: Get kubebuilder
env:
version: 2.3.1 # latest stable version
arch: amd64
run: |
# download the release
curl -L -O "https://github.com/kubernetes-sigs/kubebuilder/releases/download/v2.3.1/kubebuilder_2.3.1_linux_amd64.tar.gz"
# extract the archive
tar -zxvf kubebuilder_${version}_linux_${arch}.tar.gz
mv kubebuilder_${version}_linux_${arch} kubebuilder && sudo mv kubebuilder /usr/local/
# update your PATH to include /usr/local/kubebuilder/bin
export PATH=$PATH:/usr/local/kubebuilder/bin
make kubebuilder
- name: Build
run: |
make manager
- name: Test
run: |
make test
- name: Upload to Codecov
uses: codecov/codecov-action@v1
with:
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Expand Up @@ -5,6 +5,7 @@
*.dll
*.so
*.dylib
testbin/*

# Temporary or metadata files
*.yaml-e
Expand Down
6 changes: 2 additions & 4 deletions .travis.yml
@@ -1,7 +1,7 @@
language: go

go:
- 1.15.x
- 1.18.x

git:
depth: 1
Expand All @@ -16,9 +16,7 @@ cache:

before_install:
# install dependencies needed by jobs
- wget https://github.com/kubernetes-sigs/kubebuilder/releases/download/v2.3.0/kubebuilder_2.3.0_linux_amd64.tar.gz
- tar -zxvf kubebuilder_2.3.0_linux_amd64.tar.gz
- sudo mv kubebuilder_2.3.0_linux_amd64 /usr/local/kubebuilder
- make kubebuilder

jobs:
include:
Expand Down
2 changes: 1 addition & 1 deletion Dockerfile
@@ -1,5 +1,5 @@
# Build the manager binary
FROM golang:1.15 as builder
FROM golang:1.18 as builder

WORKDIR /workspace
# Copy the Go Modules manifests
Expand Down
37 changes: 33 additions & 4 deletions Makefile
Expand Up @@ -5,16 +5,39 @@ LATEST_IMG ?= keikoproj/active-monitor:latest
# Produce CRDs that work back to Kubernetes 1.11 (no version conversion)
CRD_OPTIONS ?= "crd:trivialVersions=true"

# Tools required to run the full suite of tests properly
OSNAME ?= $(shell uname -s | tr A-Z a-z)
KUBEBUILDER_VER ?= 3.0.0
KUBEBUILDER_ARCH ?= amd64

LOCAL ?= true

# Setting SHELL to bash allows bash commands to be executed by recipes.
# This is a requirement for 'setup-envtest.sh' in the test target.
# Options are set to exit when a recipe line exits non-zero or a piped command fails.
SHELL = /usr/bin/env bash -o pipefail
.SHELLFLAGS = -ec

export GO111MODULE = on

all: manager

mock:
go install github.com/golang/mock/mockgen@v1.6.0
@echo "mockgen is in progess"
@for pkg in $(shell go list ./...) ; do \
go generate ./... ;\
done

# Run tests
test: generate fmt vet manifests
go test ./api/... ./controllers/... ./metrics/... ./store/... -coverprofile coverage.txt
ENVTEST_ASSETS_DIR=$(shell pwd)/testbin
test: mock generate fmt vet manifests
mkdir -p ${ENVTEST_ASSETS_DIR}
test -f ${ENVTEST_ASSETS_DIR}/setup-envtest.sh || curl -sSLo ${ENVTEST_ASSETS_DIR}/setup-envtest.sh https://raw.githubusercontent.com/kubernetes-sigs/controller-runtime/v0.7.2/hack/setup-envtest.sh
source ${ENVTEST_ASSETS_DIR}/setup-envtest.sh; fetch_envtest_tools $(ENVTEST_ASSETS_DIR); setup_envtest_env $(ENVTEST_ASSETS_DIR); LOCAL=$(LOCAL) go test ./api/... ./controllers/... ./metrics/... ./store/... -coverprofile coverage.txt

# Build manager binary
manager: generate fmt vet
manager: mock generate fmt vet
go build -o bin/manager main.go

# Run against the configured Kubernetes cluster in ~/.kube/config
Expand Down Expand Up @@ -61,8 +84,14 @@ docker-push:
# download controller-gen if necessary
controller-gen:
ifeq (, $(shell which controller-gen))
go get sigs.k8s.io/controller-tools/cmd/controller-gen@v0.2.4
go install sigs.k8s.io/controller-tools/cmd/controller-gen@v0.2.4
CONTROLLER_GEN=$(shell go env GOPATH)/bin/controller-gen
else
CONTROLLER_GEN=$(shell which controller-gen)
endif

.PHONY: kubebuilder
kubebuilder:
@echo "Downloading and installing Kubebuilder - this requires sudo privileges"
curl -fsSL -O "https://github.com/kubernetes-sigs/kubebuilder/releases/download/v$(KUBEBUILDER_VER)/kubebuilder_$(OSNAME)_$(KUBEBUILDER_ARCH)"
chmod +x kubebuilder_$(OSNAME)_$(KUBEBUILDER_ARCH) && sudo mv kubebuilder_$(OSNAME)_$(KUBEBUILDER_ARCH) /usr/local/bin/
60 changes: 57 additions & 3 deletions go.mod
@@ -1,10 +1,9 @@
module github.com/keikoproj/active-monitor

go 1.15
go 1.18

require (
github.com/argoproj/argo v2.3.0+incompatible
github.com/emicklei/go-restful v2.9.6+incompatible // indirect
github.com/ghodss/yaml v1.0.1-0.20190212211648-25d852aebe32
github.com/go-logr/logr v0.1.0
github.com/keikoproj/inverse-exp-backoff v0.0.0-20201007213207-e4a3ac0f74ab
Expand All @@ -19,6 +18,61 @@ require (
k8s.io/api v0.17.2
k8s.io/apimachinery v0.17.2
k8s.io/client-go v0.17.2
k8s.io/utils v0.0.0-20191218082557-f07c713de883 // indirect
sigs.k8s.io/controller-runtime v0.5.0
)

require (
cloud.google.com/go v0.38.0 // indirect
github.com/PuerkitoBio/purell v1.1.1 // indirect
github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 // indirect
github.com/beorn7/perks v1.0.0 // indirect
github.com/davecgh/go-spew v1.1.1 // indirect
github.com/emicklei/go-restful v2.9.6+incompatible // indirect
github.com/evanphx/json-patch v4.5.0+incompatible // indirect
github.com/go-logr/zapr v0.1.0 // indirect
github.com/go-openapi/jsonpointer v0.19.3 // indirect
github.com/go-openapi/jsonreference v0.19.3 // indirect
github.com/go-openapi/spec v0.19.3 // indirect
github.com/go-openapi/swag v0.19.5 // indirect
github.com/gogo/protobuf v1.2.2-0.20190723190241-65acae22fc9d // indirect
github.com/golang/groupcache v0.0.0-20180513044358-24b0969c4cb7 // indirect
github.com/golang/protobuf v1.3.2 // indirect
github.com/google/go-cmp v0.3.0 // indirect
github.com/google/gofuzz v1.0.0 // indirect
github.com/google/uuid v1.1.1 // indirect
github.com/googleapis/gnostic v0.3.1 // indirect
github.com/hashicorp/golang-lru v0.5.1 // indirect
github.com/hpcloud/tail v1.0.0 // indirect
github.com/imdario/mergo v0.3.6 // indirect
github.com/json-iterator/go v1.1.8 // indirect
github.com/konsorten/go-windows-terminal-sequences v1.0.1 // indirect
github.com/mailru/easyjson v0.7.0 // indirect
github.com/matttproud/golang_protobuf_extensions v1.0.1 // indirect
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
github.com/modern-go/reflect2 v1.0.1 // indirect
github.com/pkg/errors v0.8.1 // indirect
github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90 // indirect
github.com/prometheus/common v0.4.1 // indirect
github.com/prometheus/procfs v0.0.2 // indirect
github.com/spf13/pflag v1.0.5 // indirect
go.uber.org/atomic v1.3.2 // indirect
go.uber.org/multierr v1.1.0 // indirect
go.uber.org/zap v1.10.0 // indirect
golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586 // indirect
golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45 // indirect
golang.org/x/sys v0.0.0-20220708085239-5a0f0661e09d // indirect
golang.org/x/text v0.3.2 // indirect
golang.org/x/time v0.0.0-20190308202827-9d24e82272b4 // indirect
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7 // indirect
gomodules.xyz/jsonpatch/v2 v2.0.1 // indirect
google.golang.org/appengine v1.5.0 // indirect
gopkg.in/fsnotify.v1 v1.4.7 // indirect
gopkg.in/inf.v0 v0.9.1 // indirect
gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 // indirect
gopkg.in/yaml.v2 v2.2.4 // indirect
k8s.io/apiextensions-apiserver v0.17.2 // indirect
k8s.io/klog v1.0.0 // indirect
k8s.io/kube-openapi v0.0.0-20191107075043-30be4d16710a // indirect
k8s.io/utils v0.0.0-20191218082557-f07c713de883 // indirect
sigs.k8s.io/yaml v1.1.0 // indirect
)

0 comments on commit 46b3449

Please sign in to comment.