From 2742658011aaa5106ee562a2e6cda26230aa74f1 Mon Sep 17 00:00:00 2001 From: Garth Bushell Date: Tue, 6 Feb 2018 09:52:31 +0000 Subject: [PATCH 01/15] Remove unused pod file --- .../oci-cloud-controller-manager-pod.yaml | 33 ------------------- 1 file changed, 33 deletions(-) delete mode 100644 manifests/oci-cloud-controller-manager-pod.yaml diff --git a/manifests/oci-cloud-controller-manager-pod.yaml b/manifests/oci-cloud-controller-manager-pod.yaml deleted file mode 100644 index 0e56a9196c..0000000000 --- a/manifests/oci-cloud-controller-manager-pod.yaml +++ /dev/null @@ -1,33 +0,0 @@ -apiVersion: v1 -kind: Pod -metadata: - name: oci-cloud-controller-manager - namespace: kube-system -spec: - hostNetwork: true - tolerations: - - key: node.cloudprovider.kubernetes.io/uninitialized - value: "true" - effect: NoSchedule - containers: - - name: oci-cloud-controller-manager - image: wcr.io/oracle/oci-cloud-controller-manager:0.1.2 - args: - - --cloud-config=/etc/oci/cloud-provider.yaml - - --cloud-provider=oci - - --cluster-cidr=10.244.0.0/16 - - -v=2 - volumeMounts: - - name: cfg - mountPath: /etc/oci - readOnly: true - - name: kubernetes - mountPath: /etc/kubernetes - readOnly: true - volumes: - - name: cfg - secret: - secretName: oci-cloud-controller-manager - - name: kubernetes - hostPath: - path: /etc/kubernetes From 4ea53f42c9f6b5b04699226c2a29b01f6e275bdd Mon Sep 17 00:00:00 2001 From: Garth Bushell Date: Tue, 6 Feb 2018 10:01:48 +0000 Subject: [PATCH 02/15] Clean makefile to add version/build --- Makefile | 22 ++++++++++++++-------- cmd/oci-cloud-controller-manager/main.go | 3 ++- 2 files changed, 16 insertions(+), 9 deletions(-) diff --git a/Makefile b/Makefile index fbf9fa51ca..eb9527bf01 100644 --- a/Makefile +++ b/Makefile @@ -2,9 +2,12 @@ REGISTRY := wcr.io/oracle PKG := github.com/oracle/oci-cloud-controller-manager BIN := oci-cloud-controller-manager IMAGE := $(REGISTRY)/$(BIN) -VERSION := $(shell git describe --exact-match 2> /dev/null || \ - git describe --match=$(git rev-parse --short=8 HEAD) --always --dirty --abbrev=8) + +BUILD := $(shell git describe --always --dirty) +# Allow overriding for release versions +# Else just equal the build (git hash) +VERSION ?= ${BUILD} GOOS ?= linux ARCH ?= amd64 @@ -22,7 +25,7 @@ else endif .PHONY: all -all: build +all: check test build .PHONY: gofmt gofmt: @@ -36,17 +39,20 @@ golint: govet: @./hack/check-govet.sh ${SRC_DIRS} +.PHONY: check +check: gofmt govet golint + .PHONY: build-dirs build-dirs: @mkdir -p dist/ .PHONY: build -build: build-dirs +build: build-dirs manifests @GOOS=${GOOS} GOARCH=${ARCH} go build \ -i \ -o dist/oci-cloud-controller-manager \ -installsuffix "static" \ - -ldflags "-X main.version=${VERSION}" \ + -ldflags "-X main.version=${VERSION} -X main.build=${BUILD}" \ ./cmd/oci-cloud-controller-manager .PHONY: manifests @@ -62,15 +68,15 @@ test: .PHONY: clean clean: - @rm -rf dist/* + @rm -rf dist .PHONY: deploy deploy: kubectl -n kube-system set image ds/${BIN} ${BIN}=${IMAGE}:${VERSION} .PHONY: run-dev -run-dev: - @go run cmd/$(BIN)/main.go \ +run-dev: build + dist/oci-cloud-controller-manager \ --kubeconfig=${KUBECONFIG} \ --cloud-config=${CLOUD_PROVIDER_CFG} \ --cluster-cidr=10.244.0.0/16 \ diff --git a/cmd/oci-cloud-controller-manager/main.go b/cmd/oci-cloud-controller-manager/main.go index 4ed748b82b..e3013de964 100644 --- a/cmd/oci-cloud-controller-manager/main.go +++ b/cmd/oci-cloud-controller-manager/main.go @@ -36,6 +36,7 @@ import ( ) var version string +var build string func init() { healthz.DefaultHealthz() @@ -50,7 +51,7 @@ func main() { logs.InitLogs() defer logs.FlushLogs() - glog.V(1).Infof("oci-cloud-controller-manager version: %s", version) + glog.V(1).Infof("oci-cloud-controller-manager version: %s (%s)", version, build) verflag.PrintAndExitIfRequested() From 0ce9893c8d4a61f264cd2c594a73e4d31a12dc87 Mon Sep 17 00:00:00 2001 From: Garth Bushell Date: Mon, 29 Jan 2018 16:57:33 +0000 Subject: [PATCH 03/15] Add checks to all target, verbose build --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index eb9527bf01..b189955dca 100644 --- a/Makefile +++ b/Makefile @@ -48,7 +48,7 @@ build-dirs: .PHONY: build build: build-dirs manifests - @GOOS=${GOOS} GOARCH=${ARCH} go build \ + @GOOS=${GOOS} GOARCH=${ARCH} go build -v \ -i \ -o dist/oci-cloud-controller-manager \ -installsuffix "static" \ From 979955be63a3b7d9e8d5d7e528eaf90a4e95908a Mon Sep 17 00:00:00 2001 From: Garth Bushell Date: Mon, 29 Jan 2018 16:57:45 +0000 Subject: [PATCH 04/15] Configure for release --- wercker.yml | 35 ++++++++++++++++++++++++++++++----- 1 file changed, 30 insertions(+), 5 deletions(-) diff --git a/wercker.yml b/wercker.yml index 16266e95fe..64fb45f65d 100644 --- a/wercker.yml +++ b/wercker.yml @@ -25,18 +25,22 @@ build: name: go vet code: make govet + - script: + name: unit tests + code: make test + - script: name: build code: make build - script: - name: unit tests - code: make test - + name: manifests + code: make manifests + - script: - name: copy binary + name: copy output code: | - cp dist/oci-cloud-controller-manager ${WERCKER_OUTPUT_DIR} + cp -a dist/* ${WERCKER_OUTPUT_DIR} push: box: @@ -59,3 +63,24 @@ push: tag: $VERSION entrypoint: /oci-cloud-controller-manager user: 65534 # nobody + +release: + steps: + - github-create-release: + token: $GITHUB_TOKEN + tag: $GITHUB_RELEASE_VERSION + title: Application $GITHUB_RELEASE_VERSION + draft: false + + - github-upload-asset: + token: $GITHUB_TOKEN + file: $WERCKER_OUTPUT_DIR/oci-cloud-controller-manager.yaml + filename: oci-cloud-controller-manager.yaml + + - github-upload-asset: + token: $GITHUB_TOKEN + file: $WERCKER_OUTPUT_DIR/oci-cloud-controller-manager-rbac.yaml + filename: oci-cloud-controller-manager-rbac.yaml + + + From a4f091150b181e19c0b768c126ac8f1d3148a9e6 Mon Sep 17 00:00:00 2001 From: Garth Bushell Date: Tue, 30 Jan 2018 12:07:36 +0000 Subject: [PATCH 05/15] Add release process and content type --- wercker.yml | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/wercker.yml b/wercker.yml index 64fb45f65d..de547c1322 100644 --- a/wercker.yml +++ b/wercker.yml @@ -66,6 +66,23 @@ push: release: steps: + - script: + name: set ENV vars + code: | + export VERSION=$(cat VERSION.txt) + echo "${VERSION}" + - script: + name: tag release in docker repo + code: | + docker pull wcr.io/oracle/oci-cloud-controller-manager:$VERSION + docker tag wcr.io/oracle/oci-cloud-controller-manager:$VERSION wcr.io/oracle/oci-cloud-controller-manager:$GITHUB_RELEASE_VERSION + + - internal/docker-push: + repository: wcr.io/oracle/oci-cloud-controller-manager + tag: $GITHUB_RELEASE_VERSION + entrypoint: /oci-cloud-controller-manager + user: 65534 # nobody + - github-create-release: token: $GITHUB_TOKEN tag: $GITHUB_RELEASE_VERSION @@ -76,11 +93,13 @@ release: token: $GITHUB_TOKEN file: $WERCKER_OUTPUT_DIR/oci-cloud-controller-manager.yaml filename: oci-cloud-controller-manager.yaml + content-type: text/yaml - github-upload-asset: token: $GITHUB_TOKEN file: $WERCKER_OUTPUT_DIR/oci-cloud-controller-manager-rbac.yaml filename: oci-cloud-controller-manager-rbac.yaml + content-type: text/yaml From 112e88d98dbca5b188a670048a0f1ed83fb6fc96 Mon Sep 17 00:00:00 2001 From: Garth Bushell Date: Tue, 30 Jan 2018 13:38:22 +0000 Subject: [PATCH 06/15] Go about release a different way. --- wercker.yml | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/wercker.yml b/wercker.yml index de547c1322..f44ca7a73a 100644 --- a/wercker.yml +++ b/wercker.yml @@ -43,7 +43,7 @@ build: cp -a dist/* ${WERCKER_OUTPUT_DIR} push: - box: + box: id: oraclelinux:7-slim steps: - script: @@ -65,17 +65,20 @@ push: user: 65534 # nobody release: + box: + id: oraclelinux:7-slim steps: - script: name: set ENV vars code: | export VERSION=$(cat VERSION.txt) echo "${VERSION}" + - script: - name: tag release in docker repo + name: prepare code: | - docker pull wcr.io/oracle/oci-cloud-controller-manager:$VERSION - docker tag wcr.io/oracle/oci-cloud-controller-manager:$VERSION wcr.io/oracle/oci-cloud-controller-manager:$GITHUB_RELEASE_VERSION + mv ./oci-cloud-controller-manager /oci-cloud-controller-manager + chmod +x /oci-cloud-controller-manager - internal/docker-push: repository: wcr.io/oracle/oci-cloud-controller-manager From 628dc743b19aaa681485b43d76cd5b8dc2d746fb Mon Sep 17 00:00:00 2001 From: Garth Bushell Date: Tue, 30 Jan 2018 13:44:38 +0000 Subject: [PATCH 07/15] Fix typo. --- wercker.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/wercker.yml b/wercker.yml index f44ca7a73a..5f7c2ce598 100644 --- a/wercker.yml +++ b/wercker.yml @@ -65,7 +65,7 @@ push: user: 65534 # nobody release: - box: + box: id: oraclelinux:7-slim steps: - script: From e09d798c8e3e6baad63bb142bdb93c1a4b84b7b7 Mon Sep 17 00:00:00 2001 From: Garth Bushell Date: Tue, 30 Jan 2018 13:45:32 +0000 Subject: [PATCH 08/15] Fix typo. --- wercker.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/wercker.yml b/wercker.yml index 5f7c2ce598..3b9ac21e3f 100644 --- a/wercker.yml +++ b/wercker.yml @@ -43,7 +43,7 @@ build: cp -a dist/* ${WERCKER_OUTPUT_DIR} push: - box: + box: id: oraclelinux:7-slim steps: - script: From a780b84d0a41561b7e53a9679e7779c689ef8b74 Mon Sep 17 00:00:00 2001 From: Garth Bushell Date: Thu, 1 Feb 2018 14:41:37 +0000 Subject: [PATCH 09/15] Tidy up release. sort out paths --- wercker.yml | 25 +++++-------------------- 1 file changed, 5 insertions(+), 20 deletions(-) diff --git a/wercker.yml b/wercker.yml index 3b9ac21e3f..730b4c3e5a 100644 --- a/wercker.yml +++ b/wercker.yml @@ -36,7 +36,7 @@ build: - script: name: manifests code: make manifests - + - script: name: copy output code: | @@ -73,36 +73,21 @@ release: code: | export VERSION=$(cat VERSION.txt) echo "${VERSION}" - - - script: - name: prepare - code: | - mv ./oci-cloud-controller-manager /oci-cloud-controller-manager - chmod +x /oci-cloud-controller-manager - - - internal/docker-push: - repository: wcr.io/oracle/oci-cloud-controller-manager - tag: $GITHUB_RELEASE_VERSION - entrypoint: /oci-cloud-controller-manager - user: 65534 # nobody - github-create-release: token: $GITHUB_TOKEN - tag: $GITHUB_RELEASE_VERSION - title: Application $GITHUB_RELEASE_VERSION + tag: $VERSION + title: $GITHUB_RELEASE_VERSION draft: false - github-upload-asset: token: $GITHUB_TOKEN - file: $WERCKER_OUTPUT_DIR/oci-cloud-controller-manager.yaml + file: ./oci-cloud-controller-manager.yaml filename: oci-cloud-controller-manager.yaml content-type: text/yaml - github-upload-asset: token: $GITHUB_TOKEN - file: $WERCKER_OUTPUT_DIR/oci-cloud-controller-manager-rbac.yaml + file: ./oci-cloud-controller-manager-rbac.yaml filename: oci-cloud-controller-manager-rbac.yaml content-type: text/yaml - - - From 01ee5b39c64584901c9b80108939d9b147618263 Mon Sep 17 00:00:00 2001 From: Garth Bushell Date: Thu, 1 Feb 2018 14:42:05 +0000 Subject: [PATCH 10/15] ignore GoLand --- .gitignore | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.gitignore b/.gitignore index 07b186860f..cfaede84fe 100644 --- a/.gitignore +++ b/.gitignore @@ -39,3 +39,5 @@ vendors.txt # Wercker .wercker/ + +.idea/ \ No newline at end of file From 703791d3a0590c308b596f39ce1395499e776168 Mon Sep 17 00:00:00 2001 From: Garth Bushell Date: Tue, 6 Feb 2018 10:41:20 +0000 Subject: [PATCH 11/15] Move copy to step --- wercker.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/wercker.yml b/wercker.yml index 730b4c3e5a..affd11d3f9 100644 --- a/wercker.yml +++ b/wercker.yml @@ -37,6 +37,8 @@ build: name: manifests code: make manifests +copy: + steps: - script: name: copy output code: | From 4747c91a5a2c50cedc934644a6943180a96e510e Mon Sep 17 00:00:00 2001 From: Garth Bushell Date: Tue, 6 Feb 2018 10:44:54 +0000 Subject: [PATCH 12/15] use version --- wercker.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/wercker.yml b/wercker.yml index affd11d3f9..483a7433f3 100644 --- a/wercker.yml +++ b/wercker.yml @@ -79,7 +79,7 @@ release: - github-create-release: token: $GITHUB_TOKEN tag: $VERSION - title: $GITHUB_RELEASE_VERSION + title: $VERSION draft: false - github-upload-asset: From af10492f4f1c13a52d9cb472ef580c273f2197b2 Mon Sep 17 00:00:00 2001 From: Garth Bushell Date: Tue, 6 Feb 2018 10:48:34 +0000 Subject: [PATCH 13/15] Move VERSIION.txt to dist --- wercker.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/wercker.yml b/wercker.yml index 483a7433f3..9d208a06df 100644 --- a/wercker.yml +++ b/wercker.yml @@ -8,8 +8,8 @@ build: - script: name: write VERSION.txt code: | - make version > ${WERCKER_OUTPUT_DIR}/VERSION.txt - cat ${WERCKER_OUTPUT_DIR}/VERSION.txt + make version > dist/VERSION.txt + cat dist/VERSION.txt - script: name: go fmt @@ -51,7 +51,7 @@ push: - script: name: set ENV vars code: | - export VERSION=$(cat VERSION.txt) + export VERSION=$(cat dist/VERSION.txt) echo "${VERSION}" - script: @@ -73,7 +73,7 @@ release: - script: name: set ENV vars code: | - export VERSION=$(cat VERSION.txt) + export VERSION=$(cat dist/VERSION.txt) echo "${VERSION}" - github-create-release: From 901400d7cffde89597c9753d4ca91c0579071673 Mon Sep 17 00:00:00 2001 From: Garth Bushell Date: Tue, 6 Feb 2018 10:50:22 +0000 Subject: [PATCH 14/15] write VERSION.txt to . --- wercker.yml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/wercker.yml b/wercker.yml index 9d208a06df..88952bccac 100644 --- a/wercker.yml +++ b/wercker.yml @@ -5,12 +5,6 @@ dev: build: base-path: "/go/src/github.com/oracle/oci-cloud-controller-manager" steps: - - script: - name: write VERSION.txt - code: | - make version > dist/VERSION.txt - cat dist/VERSION.txt - - script: name: go fmt code: make gofmt @@ -37,6 +31,12 @@ build: name: manifests code: make manifests + - script: + name: write VERSION.txt + code: | + make version > VERSION.txt + cat VERSION.txt + copy: steps: - script: @@ -51,7 +51,7 @@ push: - script: name: set ENV vars code: | - export VERSION=$(cat dist/VERSION.txt) + export VERSION=$(cat VERSION.txt) echo "${VERSION}" - script: @@ -73,7 +73,7 @@ release: - script: name: set ENV vars code: | - export VERSION=$(cat dist/VERSION.txt) + export VERSION=$(cat VERSION.txt) echo "${VERSION}" - github-create-release: From eaf50cb30184718048e5028af91215125b2513fb Mon Sep 17 00:00:00 2001 From: Garth Bushell Date: Tue, 6 Feb 2018 11:22:27 +0000 Subject: [PATCH 15/15] sort out VERSION.txt in wercker.yaml --- wercker.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/wercker.yml b/wercker.yml index 88952bccac..88201debf6 100644 --- a/wercker.yml +++ b/wercker.yml @@ -34,8 +34,8 @@ build: - script: name: write VERSION.txt code: | - make version > VERSION.txt - cat VERSION.txt + make version > dist/VERSION.txt + cat dist/VERSION.txt copy: steps: