From 1967ef66da63e0e343813e409ca356690d307ec7 Mon Sep 17 00:00:00 2001 From: Kamesh Sampath Date: Mon, 8 Apr 2024 09:37:28 +0530 Subject: [PATCH] (workflow): use zig --- .github/workflows/release.yml | 5 +++++ .goreleaser.yaml | 41 +++++++++++++++++++++++++++++++++-- 2 files changed, 44 insertions(+), 2 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index af41da7..f944a6d 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -28,6 +28,10 @@ jobs: - uses: actions/setup-go@v4 with: go-version: stable + - uses: goto-bus-stop/setup-zig@v2 + - name: Set output + id: macos_sdk + run: echo "path=$(xcrun --show-sdk-path)" >> $GITHUB_OUTPUT # More assembly might be required: Docker logins, GPG, etc. # It all depends on your needs. - uses: goreleaser/goreleaser-action@v5 @@ -38,3 +42,4 @@ jobs: env: GITHUB_TOKEN: ${{ secrets.MY_GH_ACTION_TOKEN }} KO_DOCKER_REPO: ${{ env.IMAGE_NAME }}/grpc-todo-app + SDK_PATH: ${{ steps.macos_sdk.outputs.path }} diff --git a/.goreleaser.yaml b/.goreleaser.yaml index 5304084..2564b49 100644 --- a/.goreleaser.yaml +++ b/.goreleaser.yaml @@ -25,6 +25,38 @@ builds: - "arm64" env: - CGO_ENABLED=1 + - >- + {{- if eq .Os "darwin" }} + {{- if eq .Arch "amd64"}}CC=zig c -target x86_64-macos-none -F{{ .Env.SDK_PATH }}/System/Library/Frameworks{{- end }} + {{- if eq .Arch "arm64"}}CC=zig c -target aarch64-macos-none -F{{ .Env.SDK_PATH }}/System/Library/Frameworks{{- end }} + {{- end }} + - >- + {{- if eq .Os "darwin" }} + {{- if eq .Arch "amd64"}}CC=zig c++ -target x86_64-macos-none -F{{ .Env.SDK_PATH }}/System/Library/Frameworks{{- end }} + {{- if eq .Arch "arm64"}}CC=zig c++ -target aarch64-macos-none -F{{ .Env.SDK_PATH }}/System/Library/Frameworks{{- end }} + {{- end }} + - >- + {{- if eq .Os "linux" }} + {{- if eq .Arch "amd64" }}CC=zig c -target x86_64-linux-musl{{- end }} + {{- if eq .Arch "arm64"}}CC=zig c -target aarch64-linux-musl{{- end }} + {{- end }} + - >- + {{- if eq .Os "linux" }} + {{- if eq .Arch "amd64" }}CC=zig c++ -target x86_64-linux-musl{{- end }} + {{- if eq .Arch "arm64"}}CC=zig c++ -target aarch64-linux-musl{{- end }} + {{- end }} + - >- + {{- if eq .Os "windows" }} + {{- if eq .Arch "amd64" }}CC=zig c -target x86_64-windows-gnu{{- end }} + {{- if eq .Arch "arm64"}}CC=zig c -target aarch64-windows-gnu{{- end }} + {{- end }} + - >- + {{- if eq .Os "windows" }} + {{- if eq .Arch "amd64" }}CC=zig c++ -target x86_64-windows-gnu{{- end }} + {{- end }} + ignore: + - goos: windows + goarch: arm64 - main: ./cmd/list id: "list" binary: list @@ -36,7 +68,10 @@ builds: - "amd64" - "arm64" env: - - CGO_ENABLED=1 + - CGO_ENABLED=0 + ignore: + - goos: windows + goarch: arm64 - main: ./cmd/add id: "add" binary: add @@ -48,7 +83,9 @@ builds: - "amd64" - "arm64" env: - - CGO_ENABLED=1 + - CGO_ENABLED=0 + ignore: + - goos: windows kos: - id: todo-app-server