Skip to content

Commit ea14fed

Browse files
committed
mac architectures build
1 parent d990640 commit ea14fed

File tree

2 files changed

+28
-9
lines changed

2 files changed

+28
-9
lines changed

.github/workflows/go.yml

+5-2
Original file line numberDiff line numberDiff line change
@@ -41,5 +41,8 @@ jobs:
4141
github-token: ${{ secrets.GITHUB_TOKEN }}
4242
file: coverage.out
4343

44-
- name: Build Multi-arch
45-
run: make build-multi-arch
44+
- name: Build Multi-arch-linux
45+
run: make build-multi-arch-linux
46+
47+
- name: Build Multi-arch-mac
48+
run: make build-multi-arch-mac

Makefile

+23-7
Original file line numberDiff line numberDiff line change
@@ -6,25 +6,38 @@ IMAGE_REPO?=quay.io/opdev
66
VERSION=$(shell git rev-parse HEAD)
77
RELEASE_TAG ?= "0.0.0"
88

9-
PLATFORMS=linux
10-
ARCHITECTURES=amd64 arm64 ppc64le s390x
9+
PLATFORMS=linux darwin
10+
ARCHITECTURES_LINUX=amd64 arm64 ppc64le s390x
11+
ARCHITECTURES_MAC=amd64 arm64
1112

1213
.PHONY: build
1314
build:
1415
CGO_ENABLED=0 go build -o $(BINARY) -ldflags "-X github.com/redhat-openshift-ecosystem/openshift-preflight/version.commit=$(VERSION) -X github.com/redhat-openshift-ecosystem/openshift-preflight/version.version=$(RELEASE_TAG)" cmd/preflight/main.go
1516
@ls | grep -e '^preflight$$' &> /dev/null
1617

17-
.PHONY: build-multi-arch
18-
build-multi-arch: $(addprefix build-linux-,$(ARCHITECTURES))
18+
.PHONY: build-multi-arch-linux
19+
build-multi-arch-linux: $(addprefix build-linux-,$(ARCHITECTURES_LINUX))
1920

20-
define ARCHITECTURE_template
21+
define LINUX_ARCHITECTURE_template
2122
.PHONY: build-linux-$(1)
2223
build-linux-$(1):
2324
GOOS=linux GOARCH=$(1) CGO_ENABLED=0 go build -o $(BINARY)-linux-$(1) -ldflags "-X github.com/redhat-openshift-ecosystem/openshift-preflight/version.commit=$(VERSION) \
2425
-X github.com/redhat-openshift-ecosystem/openshift-preflight/version.version=$(RELEASE_TAG)" cmd/preflight/main.go
2526
endef
2627

27-
$(foreach arch,$(ARCHITECTURES),$(eval $(call ARCHITECTURE_template,$(arch))))
28+
$(foreach arch,$(ARCHITECTURES_LINUX),$(eval $(call LINUX_ARCHITECTURE_template,$(arch))))
29+
30+
.PHONY: build-multi-arch-mac
31+
build-multi-arch-mac: $(addprefix build-mac-,$(ARCHITECTURES_MAC))
32+
33+
define MAC_ARCHITECTURE_template
34+
.PHONY: build-mac-$(1)
35+
build-mac-$(1):
36+
GOOS=darwin GOARCH=$(1) go build -o $(BINARY)-darwin-$(1) -ldflags "-X github.com/redhat-openshift-ecosystem/openshift-preflight/version.commit=$(VERSION) \
37+
-X github.com/redhat-openshift-ecosystem/openshift-preflight/version.version=$(RELEASE_TAG)" cmd/preflight/main.go
38+
endef
39+
40+
$(foreach arch,$(ARCHITECTURES_MAC),$(eval $(call MAC_ARCHITECTURE_template,$(arch))))
2841

2942
.PHONY: fmt
3043
fmt: gofumpt
@@ -93,7 +106,10 @@ clean:
93106
$(shell if [ -f "$(BINARY)" ]; then rm -f $(BINARY); fi)
94107
@# cleans all the binaries created by make build-multi-arch
95108
$(foreach GOOS, $(PLATFORMS),\
96-
$(foreach GOARCH, $(ARCHITECTURES),\
109+
$(foreach GOARCH, $(ARCHITECTURES_LINUX),\
110+
$(shell if [ -f "$(BINARY)-$(GOOS)-$(GOARCH)" ]; then rm -f $(BINARY)-$(GOOS)-$(GOARCH); fi)))
111+
$(foreach GOOS, $(PLATFORMS),\
112+
$(foreach GOARCH, $(ARCHITECTURES_MAC),\
97113
$(shell if [ -f "$(BINARY)-$(GOOS)-$(GOARCH)" ]; then rm -f $(BINARY)-$(GOOS)-$(GOARCH); fi)))
98114

99115
GOLANGCI_LINT = $(shell pwd)/bin/golangci-lint

0 commit comments

Comments
 (0)