TUN-804: create makefile recipe to release cloudflared using equinox

This commit is contained in:
Chung-Ting Huang 2018-07-26 15:45:18 -05:00
parent e90444cad8
commit 8f7cef338b
2 changed files with 72 additions and 3 deletions

View File

@ -6,6 +6,16 @@ IMPORT_PATH := github.com/cloudflare/cloudflared
PACKAGE_DIR := $(CURDIR)/packaging PACKAGE_DIR := $(CURDIR)/packaging
INSTALL_BINDIR := usr/local/bin INSTALL_BINDIR := usr/local/bin
EQUINOX_FLAGS = --version="$(VERSION)" \
--platforms="$(EQUINOX_BUILD_PLATFORMS)" \
--app="$(EQUINOX_APP_ID)" \
--token="$(EQUINOX_TOKEN)" \
--channel="$(EQUINOX_CHANNEL)"
ifeq ($(EQUINOX_IS_DRAFT), true)
EQUINOX_FLAGS := --draft $(EQUINOX_FLAGS)
endif
.PHONY: all .PHONY: all
all: cloudflared test all: cloudflared test
@ -23,3 +33,11 @@ cloudflared-deb: cloudflared
cp cloudflared $(PACKAGE_DIR)/cloudflared cp cloudflared $(PACKAGE_DIR)/cloudflared
fakeroot fpm -C $(PACKAGE_DIR) -s dir -t deb --deb-compression bzip2 \ fakeroot fpm -C $(PACKAGE_DIR) -s dir -t deb --deb-compression bzip2 \
-a $(GOARCH) -v $(VERSION) -n cloudflared -a $(GOARCH) -v $(VERSION) -n cloudflared
.PHONY: release
release: bin/equinox
bin/equinox release $(EQUINOX_FLAGS) -- $(VERSION_FLAGS) $(IMPORT_PATH)/cmd/cloudflared
bin/equinox:
mkdir -p bin
curl -s https://bin.equinox.io/c/75JtLRTsJ3n/release-tool-beta-$(EQUINOX_PLATFORM).tgz | tar xz -C bin/

View File

@ -8,7 +8,6 @@ stretch:
- build-essential - build-essential
post-cache: post-cache:
- export GOPATH=/cfsetup_build/ - export GOPATH=/cfsetup_build/
- export CGO_ENABLED=1
- export GOOS=linux - export GOOS=linux
- export GOARCH=amd64 - export GOARCH=amd64
- make cloudflared - make cloudflared
@ -21,10 +20,63 @@ stretch:
- rubygem-fpm - rubygem-fpm
post-cache: post-cache:
- export GOPATH=/cfsetup_build/ - export GOPATH=/cfsetup_build/
- export CGO_ENABLED=1
- export GOOS=linux - export GOOS=linux
- export GOARCH=amd64 - export GOARCH=amd64
- make cloudflared-deb - make cloudflared-deb
release-linux-amd64:
build_dir: *build_dir
builddeps:
- *pinned_go
- build-essential
post-cache:
- export GOPATH=/cfsetup_build/
- export GOOS=linux
- export GOARCH=amd64
- make release
release-linux-armv6:
build_dir: *build_dir
builddeps:
- *pinned_go
- crossbuild-essential-armhf
- gcc-arm-linux-gnueabihf
post-cache:
- export GOPATH=/cfsetup_build/
- export GOOS=linux
- export GOARCH=arm
- export CC=arm-linux-gnueabihf-gcc
- make release
release-linux-386:
build_dir: *build_dir
builddeps:
- *pinned_go
- gcc-multilib
post-cache:
- export GOPATH=/cfsetup_build/
- export GOOS=linux
- export GOARCH=386
- make release
release-windows-amd64:
build_dir: *build_dir
builddeps:
- *pinned_go
- gcc-mingw-w64
post-cache:
- export GOPATH=/cfsetup_build/
- export GOOS=windows
- export GOARCH=amd64
- export CC=x86_64-w64-mingw32-gcc
- make release
release-windows-386:
build_dir: *build_dir
builddeps:
- *pinned_go
- gcc-mingw-w64
post-cache:
- export GOPATH=/cfsetup_build/
- export GOOS=windows
- export GOARCH=386
- export CC=i686-w64-mingw32-gcc-win32
- make release
test: test:
build_dir: *build_dir build_dir: *build_dir
builddeps: builddeps:
@ -32,7 +84,6 @@ stretch:
- build-essential - build-essential
post-cache: post-cache:
- export GOPATH=/cfsetup_build/ - export GOPATH=/cfsetup_build/
- export CGO_ENABLED=1
- export GOOS=linux - export GOOS=linux
- export GOARCH=amd64 - export GOARCH=amd64
- make test - make test