Skip to content

Commit 79b1f98

Browse files
authored
Merge pull request #5650 from cpanato/add-windows-clusterctl
✨ Add windows amd64 target to clusterctl
2 parents cb2d69f + 29b1cff commit 79b1f98

File tree

4 files changed

+14
-13
lines changed

4 files changed

+14
-13
lines changed

Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ ARG ldflags
5151
RUN --mount=type=cache,target=/root/.cache/go-build \
5252
--mount=type=cache,target=/go/pkg/mod \
5353
CGO_ENABLED=0 GOOS=linux GOARCH=${ARCH} \
54-
go build -ldflags "${ldflags} -extldflags '-static'" \
54+
go build -trimpath -ldflags "${ldflags} -extldflags '-static'" \
5555
-o manager ${package}
5656

5757
# Production image

Makefile

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -179,15 +179,15 @@ kind-cluster: ## Create a new kind cluster designed for testing with Tilt
179179

180180
.PHONY: manager-core
181181
manager-core: ## Build core manager binary
182-
go build -ldflags "$(LDFLAGS)" -o $(BIN_DIR)/manager sigs.k8s.io/cluster-api
182+
go build -trimpath -ldflags "$(LDFLAGS)" -o $(BIN_DIR)/manager sigs.k8s.io/cluster-api
183183

184184
.PHONY: manager-kubeadm-bootstrap
185185
manager-kubeadm-bootstrap: ## Build kubeadm bootstrap manager
186-
go build -ldflags "$(LDFLAGS)" -o $(BIN_DIR)/kubeadm-bootstrap-manager sigs.k8s.io/cluster-api/bootstrap/kubeadm
186+
go build -trimpath -ldflags "$(LDFLAGS)" -o $(BIN_DIR)/kubeadm-bootstrap-manager sigs.k8s.io/cluster-api/bootstrap/kubeadm
187187

188188
.PHONY: manager-kubeadm-control-plane
189189
manager-kubeadm-control-plane: ## Build kubeadm control plane manager
190-
go build -ldflags "$(LDFLAGS)" -o $(BIN_DIR)/kubeadm-control-plane-manager sigs.k8s.io/cluster-api/controlplane/kubeadm
190+
go build -trimpath -ldflags "$(LDFLAGS)" -o $(BIN_DIR)/kubeadm-control-plane-manager sigs.k8s.io/cluster-api/controlplane/kubeadm
191191

192192
.PHONY: managers
193193
managers: ## Build all managers
@@ -197,7 +197,7 @@ managers: ## Build all managers
197197

198198
.PHONY: clusterctl
199199
clusterctl: ## Build clusterctl binary
200-
go build -ldflags "$(LDFLAGS)" -o $(BIN_DIR)/clusterctl sigs.k8s.io/cluster-api/cmd/clusterctl
200+
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.
203203
cd $(TOOLS_DIR); go build -tags=tools -o $(BIN_DIR)/setup-envtest sigs.k8s.io/controller-runtime/tools/setup-envtest
@@ -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)