Skip to content

Commit

Permalink
Support Apple M1 / darwin arm64 (closes #38)
Browse files Browse the repository at this point in the history
  • Loading branch information
TiganeteaRobert committed Jul 21, 2022
1 parent 1cb87c8 commit 16e8836
Show file tree
Hide file tree
Showing 2 changed files with 24 additions and 26 deletions.
29 changes: 10 additions & 19 deletions .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,27 +34,18 @@ jobs:
restore-keys: |
${{ runner.os }}-go-
- name: Compile
run: make all

- name: Extract tag version from ref
id: get_version
run: echo ::set-output name=VERSION::${GITHUB_REF/refs\/tags\//}

- name: Create Release
uses: softprops/action-gh-release@v1
if: startsWith(github.ref, 'refs/tags/')
- name: Run GoReleaser
uses: goreleaser/goreleaser-action@v2
with:
name: Release ${{ github.ref }}
draft: false
prerelease: false

- name: Upload release binaries
uses: alexellis/upload-assets@0.2.3
version: latest
args: release --rm-dist
workdir: .
env:
GITHUB_TOKEN: ${{ github.token }}
with:
asset_paths: '["./build/compiled/*"]'
GPG_FINGERPRINT: ${{ steps.import_gpg.outputs.fingerprint }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

- name: Create Container
run: make container

- name: Publish to DockerHub
run: make container-release
21 changes: 14 additions & 7 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
.PHONY: all gox cli cli-linux cli-darwin cli-windows container format lint tidy update test-setup test goveralls container-release clean
.PHONY: all gox cli cli-linux cli-darwin cli-windows cli-arm container format lint tidy update test-setup test goveralls container-release clean

# -----------------------------------------------------------------------------
# CONSTANTS
Expand All @@ -16,13 +16,15 @@ output_dir = $(build_dir)/output
compiled_dir = $(build_dir)/compiled

linux_out_dir = $(output_dir)/linux
darwin_out_dir = $(output_dir)/darwin
darwin_out_dir = $(output_dir)/darwin/amd64
arm_out_dir = $(output_dir)/darwin/arm64
windows_out_dir = $(output_dir)/windows

bin_name = snowplow-tracking-cli
bin_linux = $(linux_out_dir)/$(bin_name)
bin_darwin = $(darwin_out_dir)/$(bin_name)
bin_windows = $(windows_out_dir)/$(bin_name)
bin_name = snowplow-tracking-cli
bin_linux = $(linux_out_dir)/$(bin_name)
bin_darwin = $(darwin_out_dir)/$(bin_name)
bin_arm = $(arm_out_dir)/$(bin_name)
bin_windows = $(windows_out_dir)/$(bin_name)

container_name = snowplow/$(bin_name)

Expand All @@ -36,13 +38,15 @@ gox:
GO111MODULE=on go install github.com/mitchellh/gox@latest
mkdir -p $(compiled_dir)

cli: gox cli-linux cli-darwin cli-windows
cli: gox cli-linux cli-darwin cli-windows cli-arm
(cd $(linux_out_dir) && zip -r staging.zip $(bin_name))
mv $(linux_out_dir)/staging.zip $(compiled_dir)/snowplow_tracking_cli_$(version)_linux_amd64.zip
(cd $(darwin_out_dir) && zip -r staging.zip $(bin_name))
mv $(darwin_out_dir)/staging.zip $(compiled_dir)/snowplow_tracking_cli_$(version)_darwin_amd64.zip
(cd $(windows_out_dir) && zip -r staging.zip $(bin_name).exe)
mv $(windows_out_dir)/staging.zip $(compiled_dir)/snowplow_tracking_cli_$(version)_windows_amd64.zip
(cd $(arm_out_dir) && zip -r staging.zip $(bin_name))
mv $(arm_out_dir)/staging.zip $(compiled_dir)/snowplow_tracking_cli_$(version)_darwin_arm64.zip

cli-linux: gox
GO111MODULE=on CGO_ENABLED=0 gox -osarch=linux/amd64 -output=$(bin_linux) .
Expand All @@ -53,6 +57,9 @@ cli-darwin: gox
cli-windows: gox
GO111MODULE=on CGO_ENABLED=0 gox -osarch=windows/amd64 -output=$(bin_windows) .

cli-arm: gox
GO111MODULE=on CGO_ENABLED=0 gox -osarch=darwin/arm64 -output=$(bin_arm) .

container: cli-linux
docker build -t $(container_name):$(version) .

Expand Down

0 comments on commit 16e8836

Please sign in to comment.