From e8dc164aef5d25b0d4217863597091aeee641ded Mon Sep 17 00:00:00 2001 From: Mat Kelly Date: Fri, 2 Apr 2021 16:58:37 -0400 Subject: [PATCH 1/7] Fix crossbuild script to continue after invalid arch. Closes #135 --- crossbuild.sh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/crossbuild.sh b/crossbuild.sh index d3837f6..0f8d73a 100755 --- a/crossbuild.sh +++ b/crossbuild.sh @@ -21,7 +21,9 @@ for os in $oses; do if [ $os == "windows" ]; then GOOS=$os GOARCH=$arc go build -v -o $fn.exe else - GOOS=$os GOARCH=$arc CGO_ENABLED=0 go build -v -a -installsuffix cgo -o $fn + GOOS=$os GOARCH=$arc CGO_ENABLED=0 go build -v -a -installsuffix cgo -o $fn || { + echo "Failed to build $os/$arc" + } fi done done From f64845041d2b6b60ae83199405765b22976d131c Mon Sep 17 00:00:00 2001 From: Sawood Alam Date: Sat, 3 Apr 2021 20:19:41 -0400 Subject: [PATCH 2/7] Change build platforms listing style to OS/arch --- crossbuild.sh | 29 +++++++++++++---------------- 1 file changed, 13 insertions(+), 16 deletions(-) diff --git a/crossbuild.sh b/crossbuild.sh index 0f8d73a..d840002 100755 --- a/crossbuild.sh +++ b/crossbuild.sh @@ -9,23 +9,20 @@ binsdir=/tmp/mgbins mkdir -p $binsdir echo "Output directory for binaries created: $binsdir" -# OS and architecture matrix -oses="linux darwin windows" -arcs="386 amd64" +# Platforms (OS/arch matrix) +platforms="linux/amd64 darwin/amd64 windows/amd64" -# Build binaries for all OSes and architectures -for os in $oses; do - for arc in $arcs; do - echo "Building binary for $os/$arc" - fn=$binsdir/memgator-$os-$arc - if [ $os == "windows" ]; then - GOOS=$os GOARCH=$arc go build -v -o $fn.exe - else - GOOS=$os GOARCH=$arc CGO_ENABLED=0 go build -v -a -installsuffix cgo -o $fn || { - echo "Failed to build $os/$arc" - } - fi - done +# Build binaries for all listed platforms +for p in $platforms; do + os=${p%/*} + arc=${p#*/} + echo "Building binary for platform: $p" + fn=$binsdir/memgator-$os-$arc + if [ $os == "windows" ]; then + GOOS=$os GOARCH=$arc go build -v -o $fn.exe + else + GOOS=$os GOARCH=$arc CGO_ENABLED=0 go build -v -a -installsuffix cgo -o $fn + fi done echo "Following binaries have been created in: $binsdir" From 74089b842d2419b5156905dc272a0c0b82d99d9f Mon Sep 17 00:00:00 2001 From: Sawood Alam Date: Sat, 3 Apr 2021 20:21:07 -0400 Subject: [PATCH 3/7] Remove existing memgator files from mgbins folder --- crossbuild.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/crossbuild.sh b/crossbuild.sh index d840002..0c7d884 100755 --- a/crossbuild.sh +++ b/crossbuild.sh @@ -7,6 +7,7 @@ echo "Building binaries for various platforms" # Create directory to store all binaries binsdir=/tmp/mgbins mkdir -p $binsdir +rm -rf $binsdir/memgator-* echo "Output directory for binaries created: $binsdir" # Platforms (OS/arch matrix) From 181789e8277ff2d3ecdc1f348bb613cdd8a202be Mon Sep 17 00:00:00 2001 From: Sawood Alam Date: Sat, 3 Apr 2021 20:24:16 -0400 Subject: [PATCH 4/7] List only memgator files --- crossbuild.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crossbuild.sh b/crossbuild.sh index 0c7d884..a821d1d 100755 --- a/crossbuild.sh +++ b/crossbuild.sh @@ -27,4 +27,4 @@ for p in $platforms; do done echo "Following binaries have been created in: $binsdir" -ls -lh $binsdir +(cd /tmp/mgbins/ && ls -lh memgator-*) From 577ceaa84fcdb183e98a0f0c8f78ff7e27923e1c Mon Sep 17 00:00:00 2001 From: Sawood Alam Date: Sat, 3 Apr 2021 20:27:35 -0400 Subject: [PATCH 5/7] Fix path hardcoding --- crossbuild.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crossbuild.sh b/crossbuild.sh index a821d1d..6a07ba9 100755 --- a/crossbuild.sh +++ b/crossbuild.sh @@ -27,4 +27,4 @@ for p in $platforms; do done echo "Following binaries have been created in: $binsdir" -(cd /tmp/mgbins/ && ls -lh memgator-*) +(cd $binsdir && ls -lh memgator-*) From 49f48253c620a266e2320b321ba4225a5fe64940 Mon Sep 17 00:00:00 2001 From: Mat Kelly Date: Mon, 5 Apr 2021 14:51:36 -0400 Subject: [PATCH 6/7] Add Apple silicon support to crossbuild script for #136 --- crossbuild.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crossbuild.sh b/crossbuild.sh index 6a07ba9..3c9ec08 100755 --- a/crossbuild.sh +++ b/crossbuild.sh @@ -11,7 +11,7 @@ rm -rf $binsdir/memgator-* echo "Output directory for binaries created: $binsdir" # Platforms (OS/arch matrix) -platforms="linux/amd64 darwin/amd64 windows/amd64" +platforms="linux/amd64 darwin/amd64 windows/amd64 darwin/arm64" # Build binaries for all listed platforms for p in $platforms; do From 2c133a12541ed2013c2f86bc5bc8546cf01cb742 Mon Sep 17 00:00:00 2001 From: Sawood Alam Date: Mon, 5 Apr 2021 16:40:56 -0400 Subject: [PATCH 7/7] Update versions in GH Actions --- .github/workflows/build.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 0c4f67f..1ff6e22 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -6,18 +6,18 @@ on: jobs: build: - runs-on: ubuntu-18.04 + runs-on: ubuntu-20.04 steps: - - uses: actions/checkout@master - - uses: actions/setup-go@master + - uses: actions/checkout@v2 + - uses: actions/setup-go@v2 with: - go-version: '1.14' + go-version: '1.16' - name: Run Cross-build run: ./crossbuild.sh - name: Show MemGator CLI Help run: /tmp/mgbins/memgator-linux-amd64 - name: Upload Built MemGator Binaries - uses: actions/upload-artifact@master + uses: actions/upload-artifact@v2 with: name: memgator-bins path: /tmp/mgbins