From c6e53950758af2e370ad6d9eb72db8206ae7cb4b Mon Sep 17 00:00:00 2001 From: AJ Bond Date: Wed, 16 Jan 2019 09:12:57 -0500 Subject: [PATCH] Configure cross compile test builds This issue will setup goreleaser and cross compile kubectl-trace for multiple platforms. This would be a starting point for issue #9 --- .gitignore | 1 + .goreleaser.yml | 46 ++++++++++++++++++++++++++++++++++++++++++++++ .travis.yml | 1 + Makefile | 7 ++++++- go.sum | 1 - 5 files changed, 54 insertions(+), 2 deletions(-) create mode 100644 .goreleaser.yml diff --git a/.gitignore b/.gitignore index 88ddcdf4..f5889482 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ _output/ +dist/ diff --git a/.goreleaser.yml b/.goreleaser.yml new file mode 100644 index 00000000..95351057 --- /dev/null +++ b/.goreleaser.yml @@ -0,0 +1,46 @@ +project_name: kubectl-trace +builds: + - goos: + - linux + - darwin + - windows + goarch: + - amd64 + - 386 + main: ./cmd/kubectl-trace + env: + - GO111MODULE=on + - CGO_ENABLED=0 + ldflags: | + -X github.com/iovisor/kubectl-trace/pkg/version.buildTime={{ .Timestamp }} + -X github.com/iovisor/kubectl-trace/pkg/version.gitCommit={{ .Commit }} + -X github.com/iovisor/kubectl-trace/pkg/version.imageName={{ .Env.IMAGE_NAME }} + binary: kubectl-trace + - goos: + - linux + - darwin + - windows + goarch: + - amd64 + - 386 + main: ./cmd/trace-runner + env: + - GO111MODULE=on + - CGO_ENABLED=0 + ldflags: | + -X github.com/iovisor/kubectl-trace/pkg/version.buildTime={{ .Timestamp }} + -X github.com/iovisor/kubectl-trace/pkg/version.gitCommit={{ .Commit }} + -X github.com/iovisor/kubectl-trace/pkg/version.imageName={{ .Env.IMAGE_NAME }} + binary: trace-runner + +archive: + format_overrides: + - goos: windows + format: zip + +snapshot: + name_template: 'master' + +release: + disable: true + diff --git a/.travis.yml b/.travis.yml index aec8509d..e88e304c 100644 --- a/.travis.yml +++ b/.travis.yml @@ -11,5 +11,6 @@ script: - make _output/bin/kubectl-trace - ./hack/ci-build-image.sh - make integration +- make cross after_success: - ./hack/ci-release-image.sh diff --git a/Makefile b/Makefile index ab082f5b..9297edab 100644 --- a/Makefile +++ b/Makefile @@ -35,9 +35,14 @@ ${kubectl_trace}: ${trace_runner}: CGO_ENABLED=1 $(GO) build ${LDFLAGS} -o $@ ./cmd/trace-runner +.PHONY: cross +cross: + IMAGE_NAME=$(IMAGE_NAME) go run github.com/goreleaser/goreleaser --snapshot --rm-dist + .PHONY: clean clean: - rm -Rf _output + $(RM) -R _output + $(RM) -R dist .PHONY: image/build image/build: diff --git a/go.sum b/go.sum index 97e04258..8a66d43f 100644 --- a/go.sum +++ b/go.sum @@ -14,7 +14,6 @@ github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/docker/distribution v2.7.0+incompatible h1:neUDAlf3wX6Ml4HdqTrbcOHXtfRN0TFIwt6YFL7N9RU= github.com/docker/distribution v2.7.0+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= -github.com/docker/docker v0.7.3-0.20190105115016-2ee53a42db81 h1:+8pWnXpuAH+W0IkbTfUR2BHYBs5kRrD7wATXA8FwSVQ= github.com/docker/docker v0.7.3-0.20190105115016-2ee53a42db81/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= github.com/docker/spdystream v0.0.0-20181023171402-6480d4af844c h1:ZfSZ3P3BedhKGUhzj7BQlPSU4OvT6tfOKe3DVHzOA7s= github.com/docker/spdystream v0.0.0-20181023171402-6480d4af844c/go.mod h1:Qh8CwZgvJUkLughtfhJv5dyTYa91l1fOUCrgjqmcifM=