Commit 6fa7f5b3 authored by Darren Shepherd's avatar Darren Shepherd

Clean up build scripts

Switch binaries to armhf suffix to be more clean on the on architecture
parent 40f0deec
...@@ -26,6 +26,6 @@ ENV CROSS true ...@@ -26,6 +26,6 @@ ENV CROSS true
ENV STATIC_BUILD true ENV STATIC_BUILD true
WORKDIR ${DAPPER_SOURCE} WORKDIR ${DAPPER_SOURCE}
ENTRYPOINT ["./scripts/entry"] ENTRYPOINT ["./scripts/entry.sh"]
CMD ["ci"] CMD ["ci"]
TARGETS := $(shell ls scripts) TARGETS := $(shell ls scripts | grep -v \\.sh)
.dapper: .dapper:
@echo Downloading dapper @echo Downloading dapper
...@@ -18,6 +18,9 @@ trash-keep: .dapper ...@@ -18,6 +18,9 @@ trash-keep: .dapper
deps: trash deps: trash
release:
./scripts/release.sh
.DEFAULT_GOAL := ci .DEFAULT_GOAL := ci
.PHONY: $(TARGETS) .PHONY: $(TARGETS)
//go:generate go run types/codegen/cleanup/main.go //go:generate go run types/codegen/cleanup/main.go
//go:generate go run types/codegen/main.go //go:generate go run types/codegen/main.go
//go:generate go fmt pkg/deploy/zz_generated_bindata.go
package main package main
......
...@@ -182,6 +182,7 @@ type bintree struct { ...@@ -182,6 +182,7 @@ type bintree struct {
Func func() (*asset, error) Func func() (*asset, error)
Children map[string]*bintree Children map[string]*bintree
} }
var _bintree = &bintree{nil, map[string]*bintree{ var _bintree = &bintree{nil, map[string]*bintree{
"coredns.yaml": &bintree{corednsYaml, map[string]*bintree{}}, "coredns.yaml": &bintree{corednsYaml, map[string]*bintree{}},
}} }}
...@@ -232,4 +233,3 @@ func _filePath(dir, name string) string { ...@@ -232,4 +233,3 @@ func _filePath(dir, name string) string {
cannonicalName := strings.Replace(name, "\\", "/", -1) cannonicalName := strings.Replace(name, "\\", "/", -1)
return filepath.Join(append([]string{dir}, strings.Split(cannonicalName, "/")...)...) return filepath.Join(append([]string{dir}, strings.Split(cannonicalName, "/")...)...)
} }
#!/bin/bash #!/bin/bash
set -e -x set -e -x
source $(dirname $0)/version source $(dirname $0)/version.sh
cd $(dirname $0)/.. cd $(dirname $0)/..
......
...@@ -3,6 +3,8 @@ set -e ...@@ -3,6 +3,8 @@ set -e
cd $(dirname $0) cd $(dirname $0)
./validate if [ -z "SKIP_VALIDATE" ]; then
./validate
fi
./build ./build
./package ./package
...@@ -5,4 +5,4 @@ mkdir -p $(dirname $0)/../bin ...@@ -5,4 +5,4 @@ mkdir -p $(dirname $0)/../bin
cd $(dirname $0)/../bin cd $(dirname $0)/../bin
echo Running echo Running
go run -tags "apparmor" ../cmd/server/main.go --debug server --disable-agent go run -tags "apparmor" ../main.go --debug server --disable-agent
#!/bin/bash
ROOT_VERSION=v0.0.1
source $(dirname $0)/version.sh
cd $(dirname $0)/..
curl --compressed -sfL https://github.com/ibuildthecloud/k3s-root/releases/download/${ROOT_VERSION}/k3s-root-${ARCH}.tar | tar xf -
#!/bin/bash #!/bin/bash
set -e -x set -e -x
ROOT_VERSION=v0.0.1 source $(dirname $0)/version.sh
source $(dirname $0)/version
cd $(dirname $0)/.. cd $(dirname $0)/..
curl --compressed -sfL https://github.com/ibuildthecloud/k3s-root/releases/download/${ROOT_VERSION}/k3s-root-${ARCH}.tar | tar xf - ./scripts/download
rm -rf bin/kubectl bin/k3s-agent bin/k3s-server bin/kubectl bin/k3s build/data rm -rf bin/kubectl bin/k3s-agent bin/k3s-server bin/kubectl bin/k3s build/data
ln -s containerd bin/k3s-agent ln -s containerd bin/k3s-agent
...@@ -21,6 +19,7 @@ for i in bridge flannel host-local loopback portmap; do ...@@ -21,6 +19,7 @@ for i in bridge flannel host-local loopback portmap; do
done done
rm -rf build/data
mkdir -p build/data mkdir -p build/data
tar cvzf ./build/data.tar.gz --exclude ./bin/hyperkube ./bin tar cvzf ./build/data.tar.gz --exclude ./bin/hyperkube ./bin
...@@ -28,14 +27,16 @@ HASH=$(sha256sum ./build/data.tar.gz | awk '{print $1}') ...@@ -28,14 +27,16 @@ HASH=$(sha256sum ./build/data.tar.gz | awk '{print $1}')
cp ./build/data.tar.gz ./build/data/${HASH}.tgz cp ./build/data.tar.gz ./build/data/${HASH}.tgz
BIN_SUFFIX="-${ARCH}"
if [ ${ARCH} = amd64 ]; then if [ ${ARCH} = amd64 ]; then
cp -f ./bin/hyperkube dist/hyperkube BIN_SUFFIX=""
CMD_NAME=dist/k3s elif [ ${ARCH} = arm ]; then
else BIN_SUFFIX="-armhf"
cp -f ./bin/hyperkube dist/hyperkube-${ARCH}
CMD_NAME=dist/k3s-${ARCH}
fi fi
cp -f ./bin/hyperkube dist/hyperkube${BIN_SUFFIX}
CMD_NAME=dist/k3s${BIN_SUFFIX}
go generate go generate
LDFLAGS="-X github.com/rancher/k3s/version.Version=$VERSION -w -s" LDFLAGS="-X github.com/rancher/k3s/version.Version=$VERSION -w -s"
STATIC="-extldflags '-static'" STATIC="-extldflags '-static'"
......
#!/bin/bash #!/bin/bash
set -e set -e
source $(dirname $0)/version source $(dirname $0)/version.sh
cd $(dirname $0)/../package cd $(dirname $0)/../package
......
#!/bin/bash #!/bin/bash
exec $(dirname $0)/ci SKIP_VALIDATE=true $(dirname $0)/ci
#!/bin/bash
set -e
cd $(dirname $0)/..
if [ -z "$K3S_ARM64_HOST" ]; then
echo K3S_ARM_HOST must be set
exit 1
fi
if [ -z "$K3S_ARM64_HOST_USER" ]; then
echo K3S_ARM_HOST_USER must be set
exit 1
fi
if [ -z "$K3S_ARM_HOST" ]; then
K3S_ARM_HOST=${K3S_ARM64_HOST}
fi
if [ -z "$K3S_ARM_HOST_USER" ]; then
K3S_ARM_HOST_USER=${K3S_ARM64_HOST_USER}
fi
rm -rf dist
mkdir -p build
make ci > build/build-amd64.log 2>&1 &
AMD_PID=$!
DAPPER_HOST_ARCH=arm DOCKER_HOST="ssh://${K3S_ARM_HOST_USER}@${K3S_ARM_HOST}" make release-arm
DAPPER_HOST_ARCH=arm64 DOCKER_HOST="ssh://${K3S_ARM64_HOST_USER}@${K3S_ARM64_HOST}" make release-arm
echo Waiting for amd64 build to finish
wait -n $AMD_PID || {
cat build/build-amd64.log
exit 1
}
ls -la dist
echo Done
...@@ -7,8 +7,14 @@ echo Running validation ...@@ -7,8 +7,14 @@ echo Running validation
PACKAGES="$(go list ./...)" PACKAGES="$(go list ./...)"
#echo Running: go vet if [ ! -e build/data ];then
#go vet ${PACKAGES} mkdir -p build/data
fi
go generate
echo Running: go vet
go vet ${PACKAGES}
echo Running: gometalinter echo Running: gometalinter
for i in ${PACKAGES}; do for i in ${PACKAGES}; do
if [ -n "$(gometalinter $i | \ if [ -n "$(gometalinter $i | \
...@@ -24,5 +30,12 @@ test -z "$failed" ...@@ -24,5 +30,12 @@ test -z "$failed"
echo Running: go fmt echo Running: go fmt
test -z "$(go fmt ${PACKAGES} | \ test -z "$(go fmt ${PACKAGES} | \
grep -v 'pkg/data/zz_generated_bindata.go' | \ grep -v 'pkg/data/zz_generated_bindata.go' | \
grep -v 'pkg/deploy/zz_generated_bindata.go' | \
tee /dev/stderr)" tee /dev/stderr)"
. ./scripts/version.sh
if [ -n "$DIRTY" ]; then
echo Source dir is dirty
git status --porcelain --untracked-files=no
#exit 1
fi
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment