From e63c8852c5d36074e3f1fae05124d83b504baecc Mon Sep 17 00:00:00 2001 From: Phillip Wittrock Date: Wed, 14 Mar 2018 20:15:30 -0700 Subject: [PATCH] Add travis build file --- .travis.yml | 22 ++++++++++++++++++++++ test/scripts/build_kubebuilder.sh | 23 +++++++++++++++++++++++ test/scripts/install_tools.sh | 9 +++++++++ test/travis.sh | 31 +++++++++++++++++++++++++++++++ 4 files changed, 85 insertions(+) create mode 100644 .travis.yml create mode 100755 test/scripts/build_kubebuilder.sh create mode 100755 test/scripts/install_tools.sh create mode 100755 test/travis.sh diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000000..cd506306d3 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,22 @@ +language: go + +go: +- 1.10 + +go_import_path: github.com/kubernetes-sigs/kubebuilder + +cache: + directories: + - /tmp/kubebuilder/bin + +git: + depth: 3 + +env: + - TEST=example + +install: + - test/scripts/install_tools.sh + +script: + ./test/travis.sh \ No newline at end of file diff --git a/test/scripts/build_kubebuilder.sh b/test/scripts/build_kubebuilder.sh new file mode 100755 index 0000000000..84d6ea863a --- /dev/null +++ b/test/scripts/build_kubebuilder.sh @@ -0,0 +1,23 @@ +#!/usr/bin/env bash + +set -x -e + +# Build binaries +export GOBIN=/tmp/kubebuilder/bin/ +go install github.com/kubernetes-sigs/kubebuilder/cmd/kubebuilder-gen +go install github.com/kubernetes-sigs/kubebuilder/cmd/kubebuilder + +export VENDOR_KB=/tmp/vendorbin/vendor/github.com/kubernetes-sigs/kubebuilder +# Build vendor tar +mkdir -p $VENDOR_KB/pkg/ || echo "" +cp -r vendor/* /tmp/vendorbin/vendor/ +cp -r pkg/* $VENDOR_KB/pkg/ +cp LICENSE $VENDOR_KB/LICENSE +cp Gopkg.lock /tmp/vendorbin +cp Gopkg.toml /tmp/vendorbin + +# Copy the vendor tar to the installation directory +export DEST=/tmp/kubebuilder/bin/ +mkdir -p $DEST || echo "" +cd /tmp/vendorbin +tar -czvf $DEST/vendor.tar.gz vendor/ Gopkg.lock Gopkg.toml diff --git a/test/scripts/install_tools.sh b/test/scripts/install_tools.sh new file mode 100755 index 0000000000..67e65b36d1 --- /dev/null +++ b/test/scripts/install_tools.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash + +set -x -e + +# Download the dependency binaries +export TOOLS=kubebuilder-tools-1.9-linux-amd64.tar.gz +curl -L https://storage.googleapis.com/kubebuilder-tools/$TOOLS -o /tmp/$TOOLS +mkdir -p /tmp/kubebuilder/bin/ +tar xzvf /tmp/$TOOLS -C /tmp/ diff --git a/test/travis.sh b/test/travis.sh new file mode 100755 index 0000000000..a08e9ff766 --- /dev/null +++ b/test/travis.sh @@ -0,0 +1,31 @@ +#!/usr/bin/env bash + +set -x -e + +test/scripts/build_kubebuilder.sh + +#go build ./cmd/... +#go build ./pkg/... +#go test ./cmd/... +#go test ./pkg/... + +# Create the working directory to test the repo setup +export GOPATH=/tmp/go +mkdir -p $GOPATH/src/github.com/kubernetes-sigs/kubebuilder-test/ +cd $GOPATH/src/github.com/kubernetes-sigs/kubebuilder-test/ + +# Run the commands +/tmp/kubebuilder/bin/kubebuilder init repo --domain sample.kubernetes.io +/tmp/kubebuilder/bin/kubebuilder create resource --group insect --version v1beta1 --kind Bee +#/tmp/kubebuilder/bin/kubebuilder create resource --group insect --version v1beta1 --kind Wasp + +export TEST_ASSET_KUBECTL=/tmp/kubebuilder/bin/kubectl +export TEST_ASSET_KUBE_APISERVER=/tmp/kubebuilder/bin/kube-apiserver +export TEST_ASSET_ETCD=/tmp/kubebuilder/bin/etcd + +# Verify the controller-manager builds and the tests pass +go install github.com/kubernetes-sigs/kubebuilder-test/cmd/controller-manager +go build ./cmd/... +go build ./pkg/... +go test ./cmd/... +go test ./pkg/...