Skip to content

Commit 42b7ae6

Browse files
authored
feat: release windows (#54)
Signed-off-by: Eitan Yarmush <eitan.yarmush@solo.io>
1 parent 2210d0f commit 42b7ae6

2 files changed

Lines changed: 46 additions & 20 deletions

File tree

.github/workflows/tag.yaml

Lines changed: 2 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -106,26 +106,10 @@ jobs:
106106
echo "Building release artifacts with version: ${VERSION}"
107107
108108
# Build for Linux amd64
109-
GOOS=linux GOARCH=amd64 make build-cli VERSION=${VERSION}
110-
mv dist/kmcp dist/kmcp-linux-amd64
111-
112-
# Build for Linux arm64
113-
GOOS=linux GOARCH=arm64 make build-cli VERSION=${VERSION}
114-
mv dist/kmcp dist/kmcp-linux-arm64
115-
116-
# Build for macOS amd64
117-
GOOS=darwin GOARCH=amd64 make build-cli VERSION=${VERSION}
118-
mv dist/kmcp dist/kmcp-darwin-amd64
119-
120-
# Build for macOS arm64
121-
GOOS=darwin GOARCH=arm64 make build-cli VERSION=${VERSION}
122-
mv dist/kmcp dist/kmcp-darwin-arm64
109+
make release-cli VERSION=${VERSION}
123110
- name: Release
124111
uses: softprops/action-gh-release@v2
125112
if: startsWith(github.ref, 'refs/tags/')
126113
with:
127114
files: |
128-
dist/kmcp-linux-amd64
129-
dist/kmcp-linux-arm64
130-
dist/kmcp-darwin-amd64
131-
dist/kmcp-darwin-arm64
115+
dist/kmcp-*

Makefile

Lines changed: 44 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,11 @@ CONTROLLER_IMG ?= $(DOCKER_REGISTRY)/$(DOCKER_REPO)/$(CONTROLLER_IMAGE_NAME):$(C
3232

3333
# Image URL to use all building/pushing image targets (backward compatibility)
3434
IMG ?= $(CONTROLLER_IMG)
35+
36+
## Location to install dependencies to
3537
DIST_FOLDER ?= dist
38+
$(DIST_FOLDER):
39+
mkdir -p $(DIST_FOLDER)
3640

3741
# Get the currently used golang install path (in GOPATH/bin, unless GOBIN is set)
3842
ifeq (,$(shell go env GOBIN))
@@ -181,8 +185,46 @@ build: manifests generate fmt vet ## Build manager binary.
181185

182186
.PHONY: build-cli
183187
build-cli: fmt vet ## Build kmcp CLI binary.
184-
mkdir -p $(DIST_FOLDER)
185-
go build -ldflags=$(LDFLAGS) -o $(DIST_FOLDER)/kmcp cmd/kmcp/main.go
188+
CGO_ENABLED=0 go build -ldflags=$(LDFLAGS) -o $(DIST_FOLDER)/kmcp cmd/kmcp/main.go
189+
190+
191+
$(DIST_FOLDER)/kmcp-linux-amd64:
192+
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -ldflags $(LDFLAGS) -o $(DIST_FOLDER)/kmcp-linux-amd64 cmd/kmcp/main.go
193+
194+
$(DIST_FOLDER)/kmcp-linux-amd64.sha256: $(DIST_FOLDER)/kmcp-linux-amd64
195+
sha256sum $(DIST_FOLDER)/kmcp-linux-amd64 > $(DIST_FOLDER)/kmcp-linux-amd64.sha256
196+
197+
$(DIST_FOLDER)/kmcp-linux-arm64:
198+
CGO_ENABLED=0 GOOS=linux GOARCH=arm64 go build -ldflags $(LDFLAGS) -o $(DIST_FOLDER)/kmcp-linux-arm64 cmd/kmcp/main.go
199+
200+
$(DIST_FOLDER)/kmcp-linux-arm64.sha256: $(DIST_FOLDER)/kmcp-linux-arm64
201+
sha256sum $(DIST_FOLDER)/kmcp-linux-arm64 > $(DIST_FOLDER)/kmcp-linux-arm64.sha256
202+
203+
$(DIST_FOLDER)/kmcp-darwin-amd64:
204+
CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build -ldflags $(LDFLAGS) -o $(DIST_FOLDER)/kmcp-darwin-amd64 cmd/kmcp/main.go
205+
206+
$(DIST_FOLDER)/kmcp-darwin-amd64.sha256: $(DIST_FOLDER)/kmcp-darwin-amd64
207+
sha256sum $(DIST_FOLDER)/kmcp-darwin-amd64 > $(DIST_FOLDER)/kmcp-darwin-amd64.sha256
208+
209+
$(DIST_FOLDER)/kmcp-darwin-arm64:
210+
CGO_ENABLED=0 GOOS=darwin GOARCH=arm64 go build -ldflags $(LDFLAGS) -o $(DIST_FOLDER)/kmcp-darwin-arm64 cmd/kmcp/main.go
211+
212+
$(DIST_FOLDER)/kmcp-darwin-arm64.sha256: $(DIST_FOLDER)/kmcp-darwin-arm64
213+
sha256sum $(DIST_FOLDER)/kmcp-darwin-arm64 > $(DIST_FOLDER)/kmcp-darwin-arm64.sha256
214+
215+
$(DIST_FOLDER)/kmcp-windows-amd64.exe:
216+
CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build -ldflags $(LDFLAGS) -o $(DIST_FOLDER)/kmcp-windows-amd64.exe cmd/kmcp/main.go
217+
218+
$(DIST_FOLDER)/kmcp-windows-amd64.exe.sha256: $(DIST_FOLDER)/kmcp-windows-amd64.exe
219+
sha256sum $(DIST_FOLDER)/kmcp-windows-amd64.exe > $(DIST_FOLDER)/kmcp-windows-amd64.exe.sha256
220+
221+
222+
.PHONY: release-cli
223+
release-cli: $(DIST_FOLDER)/kmcp-linux-amd64.sha256
224+
release-cli: $(DIST_FOLDER)/kmcp-linux-arm64.sha256
225+
release-cli: $(DIST_FOLDER)/kmcp-darwin-amd64.sha256
226+
release-cli: $(DIST_FOLDER)/kmcp-darwin-arm64.sha256
227+
release-cli: $(DIST_FOLDER)/kmcp-windows-amd64.exe.sha256
186228

187229
.PHONY: run
188230
run: manifests generate fmt vet ## Run a controller from your host.

0 commit comments

Comments
 (0)