Skip to content

Commit d2c1ba0

Browse files
authored
Merge pull request #59 from gatewayd-io/build-for-macOS
Build on macOS
2 parents c4d311e + 38add21 commit d2c1ba0

File tree

2 files changed

+97
-3
lines changed

2 files changed

+97
-3
lines changed

.github/workflows/release.yaml

Lines changed: 60 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ permissions:
99
contents: write
1010

1111
jobs:
12-
build-and-release:
12+
build-and-release-linux:
1313
runs-on: ubuntu-latest
1414
steps:
1515
- name: Checkout code
@@ -28,7 +28,7 @@ jobs:
2828
TOKEN: ${{ secrets.GH_SDK_TOKEN }}
2929
GOPRIVATE: github.com/gatewayd-io/gatewayd-*
3030
- name: Build and release binaries
31-
run: make build-release
31+
run: make build-release-linux
3232
- name: Create release and add artifacts
3333
uses: softprops/action-gh-release@v1
3434
with:
@@ -40,3 +40,61 @@ jobs:
4040
tag_name: ${{ github.ref_name }}
4141
name: ${{ github.ref_name }}
4242
generate_release_notes: true
43+
build-and-release-darwin:
44+
runs-on: macos-latest
45+
steps:
46+
- name: Checkout code
47+
uses: actions/checkout@v3
48+
with:
49+
fetch-depth: 0
50+
- name: Set up Go 1.20
51+
uses: actions/setup-go@v3
52+
with:
53+
go-version: '1.20'
54+
cache: true
55+
- run: |
56+
go mod tidy
57+
env:
58+
GOPRIVATE: github.com/gatewayd-io/gatewayd-*
59+
- name: Build and release binaries
60+
run: make build-release-darwin
61+
- name: Create release and add artifacts
62+
uses: softprops/action-gh-release@v1
63+
with:
64+
files: |
65+
dist/*.tar.gz
66+
dist/checksums.txt
67+
draft: false
68+
prerelease: false
69+
tag_name: ${{ github.ref_name }}
70+
name: ${{ github.ref_name }}
71+
generate_release_notes: true
72+
build-and-release-windows:
73+
runs-on: windows-latest
74+
steps:
75+
- name: Checkout code
76+
uses: actions/checkout@v3
77+
with:
78+
fetch-depth: 0
79+
- name: Set up Go 1.20
80+
uses: actions/setup-go@v3
81+
with:
82+
go-version: '1.20'
83+
cache: true
84+
- run: |
85+
go mod tidy
86+
env:
87+
GOPRIVATE: github.com/gatewayd-io/gatewayd-*
88+
- name: Build and release binaries
89+
run: make build-release-windows
90+
- name: Create release and add artifacts
91+
uses: softprops/action-gh-release@v1
92+
with:
93+
files: |
94+
dist/*.zip
95+
dist/checksums.txt
96+
draft: false
97+
prerelease: false
98+
tag_name: ${{ github.ref_name }}
99+
name: ${{ github.ref_name }}
100+
generate_release_notes: true

Makefile

Lines changed: 37 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,4 +41,40 @@ build-linux-arm64:
4141
@tar czf dist/gatewayd-plugin-cache-linux-arm64-${VERSION}.tar.gz -C ./dist/linux-arm64/ ${FILES}
4242
@sha256sum dist/gatewayd-plugin-cache-linux-arm64-${VERSION}.tar.gz | sed 's/dist\///g' >> dist/checksums.txt
4343

44-
build-release: tidy create-build-dir build-linux-amd64 build-linux-arm64
44+
build-darwin-amd64:
45+
@echo "Building gatewayd ${VERSION} for darwin-arm64"
46+
@mkdir -p dist/darwin-amd64
47+
@GOOS=darwin GOARCH=amd64 CGO_ENABLED=1 go build -trimpath -ldflags "-s -w ${EXTRA_LDFLAGS}" -o dist/darwin-amd64/gatewayd-plugin-cache
48+
@shasum -a 256 dist/darwin-amd64/gatewayd-plugin-cache | sed 's/dist\/darwin-amd64\///g' >> dist/darwin-amd64/checksum.txt
49+
@tar czf dist/gatewayd-plugin-cache-darwin-amd64-${VERSION}.tar.gz -C ./dist/darwin-amd64/ ${FILES}
50+
@shasum -a 256 dist/gatewayd-plugin-cache-darwin-amd64-${VERSION}.tar.gz | sed 's/dist\///g' >> dist/checksums.txt
51+
52+
build-darwin-arm64:
53+
@echo "Building gatewayd ${VERSION} for darwin-arm64"
54+
@mkdir -p dist/darwin-arm64
55+
@GOOS=darwin GOARCH=arm64 CGO_ENABLED=1 go build -trimpath -ldflags "-s -w ${EXTRA_LDFLAGS}" -o dist/darwin-arm64/gatewayd-plugin-cache
56+
@shasum -a 256 dist/darwin-arm64/gatewayd-plugin-cache | sed 's/dist\/darwin-arm64\///g' >> dist/darwin-arm64/checksum.txt
57+
@tar czf dist/gatewayd-plugin-cache-darwin-arm64-${VERSION}.tar.gz -C ./dist/darwin-arm64/ ${FILES}
58+
@shasum -a 256 dist/gatewayd-plugin-cache-darwin-arm64-${VERSION}.tar.gz | sed 's/dist\///g' >> dist/checksums.txt
59+
60+
build-windows-amd64:
61+
@echo "Building gatewayd ${VERSION} for windows-amd64"
62+
@mkdir -p dist/windows-amd64
63+
@GOOS=windows GOARCH=amd64 CGO_ENABLED=1 go build -trimpath -ldflags "-s -w ${EXTRA_LDFLAGS}" -o dist/windows-amd64/gatewayd-plugin-cache.exe
64+
@sha256sum dist/windows-amd64/gatewayd-plugin-cache.exe | sed 's/dist\/windows-amd64\///g' >> dist/windows-amd64/checksum.txt
65+
@zip -r dist/gatewayd-plugin-cache-windows-amd64-${VERSION}.zip -j ./dist/windows-amd64/ ${FILES}
66+
@sha256sum dist/gatewayd-plugin-cache-windows-amd64-${VERSION}.zip | sed 's/dist\///g' >> dist/checksums.txt
67+
68+
build-windows-arm64:
69+
@echo "Building gatewayd ${VERSION} for windows-arm64"
70+
@mkdir -p dist/windows-arm64
71+
@GOOS=windows GOARCH=arm64 CGO_ENABLED=1 go build -trimpath -ldflags "-s -w ${EXTRA_LDFLAGS}" -o dist/windows-arm64/gatewayd-plugin-cache.exe
72+
@sha256sum dist/windows-arm64/gatewayd-plugin-cache.exe | sed 's/dist\/windows-arm64\///g' >> dist/windows-arm64/checksum.txt
73+
@zip -r dist/gatewayd-plugin-cache-windows-arm64-${VERSION}.zip -j ./dist/windows-arm64/ ${FILES}
74+
@sha256sum dist/gatewayd-plugin-cache-windows-arm64-${VERSION}.zip | sed 's/dist\///g' >> dist/checksums.txt
75+
76+
build-release-linux: tidy create-build-dir build-linux-amd64 build-linux-arm64
77+
78+
build-release-darwin: tidy create-build-dir build-darwin-amd64 build-darwin-arm64
79+
80+
build-release-windows: tidy create-build-dir build-windows-amd64 build-windows-arm64

0 commit comments

Comments
 (0)