From 2eeaed0640c494c2dd2b4085337a4d7003263cab Mon Sep 17 00:00:00 2001 From: Stefan Nica Date: Wed, 19 May 2021 22:44:15 +0200 Subject: [PATCH 1/2] Renamed fuseml_core-cli to fuseml_cli and binary to fuseml --- Makefile | 12 ++++++------ cmd/{fuseml_core-cli => fuseml_cli}/grpc.go | 0 cmd/{fuseml_core-cli => fuseml_cli}/http.go | 0 cmd/{fuseml_core-cli => fuseml_cli}/main.go | 0 4 files changed, 6 insertions(+), 6 deletions(-) rename cmd/{fuseml_core-cli => fuseml_cli}/grpc.go (100%) rename cmd/{fuseml_core-cli => fuseml_cli}/http.go (100%) rename cmd/{fuseml_core-cli => fuseml_cli}/main.go (100%) diff --git a/Makefile b/Makefile index bca5c3b5..34bd113e 100644 --- a/Makefile +++ b/Makefile @@ -29,24 +29,24 @@ build_server: go build ${GO_LDFLAGS} -o bin/fuseml_core ./cmd/fuseml_core build_client_local: - go build ${GO_LDFLAGS} -o bin/fuseml_core-cli ./cmd/fuseml_core-cli + go build ${GO_LDFLAGS} -o bin/fuseml ./cmd/fuseml_cli build_client-amd64: - GOARCH="amd64" GOOS="linux" go build ${GO_LDFLAGS} -o bin/fuseml_core-cli-linux-amd64 ./cmd/fuseml_core-cli + GOARCH="amd64" GOOS="linux" go build ${GO_LDFLAGS} -o bin/fuseml-linux-amd64 ./cmd/fuseml_cli build_client-windows: - GOARCH="amd64" GOOS="windows" go build ${GO_LDFLAGS} -o bin/fuseml_core-cli-windows-amd64 ./cmd/fuseml_core-cli + GOARCH="amd64" GOOS="windows" go build ${GO_LDFLAGS} -o bin/fuseml-windows-amd64 ./cmd/fuseml_cli build_client-darwin-amd64: - GOARCH="amd64" GOOS="darwin" go build ${GO_LDFLAGS} -o bin/fuseml_core-cli-darwin-amd64 ./cmd/fuseml_core-cli + GOARCH="amd64" GOOS="darwin" go build ${GO_LDFLAGS} -o bin/fuseml-darwin-amd64 ./cmd/fuseml_cli # Run fuseml_core runcore: generate lint go run ./cmd/fuseml_core -# Run fuseml_core-cli +# Run fuseml_cli runcli: generate lint - go run ./cmd/fuseml_core-cli + go run ./cmd/fuseml_cli # Generate code generate: diff --git a/cmd/fuseml_core-cli/grpc.go b/cmd/fuseml_cli/grpc.go similarity index 100% rename from cmd/fuseml_core-cli/grpc.go rename to cmd/fuseml_cli/grpc.go diff --git a/cmd/fuseml_core-cli/http.go b/cmd/fuseml_cli/http.go similarity index 100% rename from cmd/fuseml_core-cli/http.go rename to cmd/fuseml_cli/http.go diff --git a/cmd/fuseml_core-cli/main.go b/cmd/fuseml_cli/main.go similarity index 100% rename from cmd/fuseml_core-cli/main.go rename to cmd/fuseml_cli/main.go From f8aa2630ac177adcc5be6962e4d3db4a5d05cf3b Mon Sep 17 00:00:00 2001 From: Stefan Nica Date: Fri, 21 May 2021 18:11:06 +0200 Subject: [PATCH 2/2] Create separate archives for released CLI flavors --- .github/workflows/go.yml | 2 +- .github/workflows/release.yml | 5 +---- Makefile | 38 +++++++++++++++++++++++------------ 3 files changed, 27 insertions(+), 18 deletions(-) diff --git a/.github/workflows/go.yml b/.github/workflows/go.yml index 60403f19..1f1b5ee4 100644 --- a/.github/workflows/go.yml +++ b/.github/workflows/go.yml @@ -12,7 +12,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - target: ["all", "test"] + target: ["release", "test"] steps: - uses: actions/checkout@v2 diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index cafb3230..ab5aea5a 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -32,10 +32,7 @@ jobs: - name: Build binaries if: steps.branch.outputs.BRANCH_NAME == 'main' run: | - make all - - name: Create CHECKSUMS - if: steps.branch.outputs.BRANCH_NAME == 'main' - run: ( cd bin; sha256sum -b fuseml_core* > SHA256SUM.txt ) + make release - name: Generate Changelog uses: heinrichreimer/github-changelog-generator-action@v2.1.1 with: diff --git a/Makefile b/Makefile index 34bd113e..b7ed001f 100644 --- a/Makefile +++ b/Makefile @@ -8,9 +8,12 @@ else GOBIN=$(shell go env GOBIN) endif +GOOS:=$(shell go env GOOS) +GOARCH:=$(shell go env GOARCH) + GO_LDFLAGS:=-ldflags '-s -w' -all: fuseml_all +all: fuseml # Run tests test: generate lint @@ -19,26 +22,35 @@ test: generate lint # Generate code, run linter and build FuseML binaries fuseml: generate lint build -fuseml_all: generate lint build_all - -build: build_server build_client_local +# Generate code, run linter, build FuseML release-ready archived binaries for all supported ARCHs and OSs +release: generate lint release_all -build_all: build_server build_client-amd64 build_client-windows build_client-darwin-amd64 +build: build_server build_client build_server: go build ${GO_LDFLAGS} -o bin/fuseml_core ./cmd/fuseml_core -build_client_local: - go build ${GO_LDFLAGS} -o bin/fuseml ./cmd/fuseml_cli +build_client: + GOOS=$(GOOS) GOARCH=$(GOARCH) go build ${GO_LDFLAGS} -o bin/fuseml ./cmd/fuseml_cli + +release_all: server_release client_release-amd64 client_release-windows client_release-darwin-amd64 + +server_release: build_server + tar zcf bin/fuseml_core.tar.gz -C bin/ --remove-files --transform="s#\.\/##" ./fuseml_core + cd bin && sha256sum -b fuseml_core.tar.gz > fuseml_core.tar.gz.sha256 + +client_release: build_client + tar zcf bin/fuseml-$(GOOS)-$(GOARCH).tar.gz -C bin/ --remove-files --transform="s#\.\/##" ./fuseml + cd bin && sha256sum -b fuseml-$(GOOS)-$(GOARCH).tar.gz > fuseml-$(GOOS)-$(GOARCH).tar.gz.sha256 -build_client-amd64: - GOARCH="amd64" GOOS="linux" go build ${GO_LDFLAGS} -o bin/fuseml-linux-amd64 ./cmd/fuseml_cli +client_release-amd64: + $(MAKE) GOARCH="amd64" GOOS="linux" client_release -build_client-windows: - GOARCH="amd64" GOOS="windows" go build ${GO_LDFLAGS} -o bin/fuseml-windows-amd64 ./cmd/fuseml_cli +client_release-windows: + $(MAKE) GOARCH="amd64" GOOS="windows" client_release -build_client-darwin-amd64: - GOARCH="amd64" GOOS="darwin" go build ${GO_LDFLAGS} -o bin/fuseml-darwin-amd64 ./cmd/fuseml_cli +client_release-darwin-amd64: + $(MAKE) GOARCH="amd64" GOOS="darwin" client_release # Run fuseml_core runcore: generate lint