Skip to content

Commit 29b1cff

Browse files
committed
feature: add windows amd64 target for clusterctl
Signed-off-by: Carlos Panato <ctadeu@gmail.com>
1 parent 1dfe997 commit 29b1cff

File tree

3 files changed

+16
-15
lines changed

3 files changed

+16
-15
lines changed

Makefile

Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -200,28 +200,28 @@ clusterctl: ## Build clusterctl binary
200200
go build -trimpath -ldflags "$(LDFLAGS)" -o $(BIN_DIR)/clusterctl sigs.k8s.io/cluster-api/cmd/clusterctl
201201

202202
$(SETUP_ENVTEST): $(TOOLS_DIR)/go.mod # Build setup-envtest from tools folder.
203-
cd $(TOOLS_DIR); go build -trimpath -tags=tools -o $(BIN_DIR)/setup-envtest sigs.k8s.io/controller-runtime/tools/setup-envtest
203+
cd $(TOOLS_DIR); go build -tags=tools -o $(BIN_DIR)/setup-envtest sigs.k8s.io/controller-runtime/tools/setup-envtest
204204

205205
$(CONTROLLER_GEN): $(TOOLS_DIR)/go.mod # Build controller-gen from tools folder.
206-
cd $(TOOLS_DIR); go build -trimpath -tags=tools -o $(BIN_DIR)/controller-gen sigs.k8s.io/controller-tools/cmd/controller-gen
206+
cd $(TOOLS_DIR); go build -tags=tools -o $(BIN_DIR)/controller-gen sigs.k8s.io/controller-tools/cmd/controller-gen
207207

208208
$(GOTESTSUM): $(TOOLS_DIR)/go.mod # Build gotestsum from tools folder.
209-
cd $(TOOLS_DIR); go build -trimpath -tags=tools -o $(BIN_DIR)/gotestsum gotest.tools/gotestsum
209+
cd $(TOOLS_DIR); go build -tags=tools -o $(BIN_DIR)/gotestsum gotest.tools/gotestsum
210210

211211
$(CONVERSION_GEN): $(TOOLS_DIR)/go.mod
212-
cd $(TOOLS_DIR); go build -trimpath -tags=tools -o $(BIN_DIR)/conversion-gen k8s.io/code-generator/cmd/conversion-gen
212+
cd $(TOOLS_DIR); go build -tags=tools -o $(BIN_DIR)/conversion-gen k8s.io/code-generator/cmd/conversion-gen
213213

214214
$(CONVERSION_VERIFIER): $(TOOLS_DIR)/go.mod
215215
cd $(TOOLS_DIR); go build -tags=tools -o $(BIN_DIR)/conversion-verifier sigs.k8s.io/cluster-api/hack/tools/conversion-verifier
216216

217217
$(GO_APIDIFF): $(TOOLS_DIR)/go.mod
218-
cd $(TOOLS_DIR) && go build -trimpath -tags=tools -o $(GO_APIDIFF_BIN) github.com/joelanford/go-apidiff
218+
cd $(TOOLS_DIR) && go build -tags=tools -o $(GO_APIDIFF_BIN) github.com/joelanford/go-apidiff
219219

220220
$(ENVSUBST): $(TOOLS_DIR)/go.mod
221-
cd $(TOOLS_DIR) && go build -trimpath -tags=tools -o $(ENVSUBST_BIN) github.com/drone/envsubst/v2/cmd/envsubst
221+
cd $(TOOLS_DIR) && go build -tags=tools -o $(ENVSUBST_BIN) github.com/drone/envsubst/v2/cmd/envsubst
222222

223223
$(YQ): $(TOOLS_DIR)/go.mod
224-
cd $(TOOLS_DIR) && go build -trimpath -tags=tools -o $(YQ_BIN) github.com/mikefarah/yq/v4
224+
cd $(TOOLS_DIR) && go build -tags=tools -o $(YQ_BIN) github.com/mikefarah/yq/v4
225225

226226
$(KUSTOMIZE): # Download kustomize using hack script into tools folder.
227227
hack/ensure-kustomize.sh
@@ -587,10 +587,11 @@ release-manifests-dev: ## Builds the development manifests and copies them in th
587587
cp $(CAPD_DIR)/templates/* $(RELEASE_DIR)/
588588

589589
release-binaries: ## Builds the binaries to publish with a release
590-
RELEASE_BINARY=./cmd/clusterctl GOOS=linux GOARCH=amd64 $(MAKE) release-binary
591-
RELEASE_BINARY=./cmd/clusterctl GOOS=linux GOARCH=arm64 $(MAKE) release-binary
592-
RELEASE_BINARY=./cmd/clusterctl GOOS=darwin GOARCH=amd64 $(MAKE) release-binary
593-
RELEASE_BINARY=./cmd/clusterctl GOOS=darwin GOARCH=arm64 $(MAKE) release-binary
590+
RELEASE_BINARY=clusterctl-linux-amd64 BUILD_PATH=./cmd/clusterctl GOOS=linux GOARCH=amd64 $(MAKE) release-binary
591+
RELEASE_BINARY=clusterctl-linux-arm64 BUILD_PATH=./cmd/clusterctl GOOS=linux GOARCH=arm64 $(MAKE) release-binary
592+
RELEASE_BINARY=clusterctl-darwin-amd64 BUILD_PATH=./cmd/clusterctl GOOS=darwin GOARCH=amd64 $(MAKE) release-binary
593+
RELEASE_BINARY=clusterctl-darwin-arm64 BUILD_PATH=./cmd/clusterctl GOOS=darwin GOARCH=arm64 $(MAKE) release-binary
594+
RELEASE_BINARY=clusterctl-windows-amd64.exe BUILD_PATH=./cmd/clusterctl GOOS=windows GOARCH=amd64 $(MAKE) release-binary
594595

595596
release-binary: $(RELEASE_DIR)
596597
docker run \
@@ -601,8 +602,8 @@ release-binary: $(RELEASE_DIR)
601602
-v "$$(pwd):/workspace$(DOCKER_VOL_OPTS)" \
602603
-w /workspace \
603604
golang:$(GO_VERSION) \
604-
go build -a -ldflags "$(LDFLAGS) -extldflags '-static'" \
605-
-o $(RELEASE_DIR)/$(notdir $(RELEASE_BINARY))-$(GOOS)-$(GOARCH) $(RELEASE_BINARY)
605+
go build -a -trimpath -ldflags "$(LDFLAGS) -extldflags '-static'" \
606+
-o $(RELEASE_DIR)/$(notdir $(RELEASE_BINARY)) $(BUILD_PATH)
606607

607608
.PHONY: release-staging
608609
release-staging: ## Builds and push container images to the staging bucket.

test/infrastructure/docker/Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ WORKDIR /workspace/test/infrastructure/docker
5555
# Build the CAPD manager using the compiler cache folder
5656
RUN --mount=type=cache,target=/root/.cache/go-build \
5757
--mount=type=cache,target=/go/pkg/mod \
58-
CGO_ENABLED=0 GOOS=linux GOARCH=${ARCH} go build -a -o /workspace/manager main.go
58+
CGO_ENABLED=0 GOOS=linux GOARCH=${ARCH} go build -trimpath -a -o /workspace/manager main.go
5959

6060
# NOTE: CAPD can't use non-root because docker requires access to the docker socket
6161
FROM gcr.io/distroless/static:latest

test/infrastructure/docker/Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ test-junit: $(GOTESTSUM) ## Run tests with verbose setting and generate a junit
103103

104104
.PHONY: manager
105105
manager: ## Build manager binary
106-
go build -o $(BIN_DIR)/manager sigs.k8s.io/cluster-api/test/infrastructure/docker
106+
go build -trimpath -o $(BIN_DIR)/manager sigs.k8s.io/cluster-api/test/infrastructure/docker
107107

108108
$(CONTROLLER_GEN):
109109
$(MAKE) -C $(ROOT) controller-gen

0 commit comments

Comments
 (0)