From 9e02e5c889beb9bb0d0a0c17112356748d080010 Mon Sep 17 00:00:00 2001 From: CareyWong Date: Wed, 8 Jun 2022 15:37:23 +0100 Subject: [PATCH] Update: CI --- .github/workflows/go.yml | 69 +++++++++++++++++++++++++++++++++++++--- Makefile | 12 +++---- release.sh | 15 +++++---- 3 files changed, 79 insertions(+), 17 deletions(-) diff --git a/.github/workflows/go.yml b/.github/workflows/go.yml index 28c7246..6dce3d3 100644 --- a/.github/workflows/go.yml +++ b/.github/workflows/go.yml @@ -2,13 +2,12 @@ name: Github CI on: push: - branches: [ master ] + branches: [master] jobs: - - linux64_build: - name: Linux x86_64 Build - runs-on: ubuntu-latest + linux_amd64_build: + name: Linux amd64 build + runs-on: ubuntu-22.04 steps: - name: Set up Go 1.18 uses: actions/setup-go@v1 @@ -26,3 +25,63 @@ jobs: with: name: myurls-linux-amd64 path: build/myurls-linux-amd64.tar.gz + linux_arm64_build: + name: Linux arm64 build + runs-on: ubuntu-22.04 + steps: + - name: Set up Go 1.18 + uses: actions/setup-go@v1 + with: + go-version: 1.18 + id: go + - name: Check out code into the Go module directory + uses: actions/checkout@v2 + - name: Install dependencies + run: sudo apt install gcc-aarch64-linux-gnu + - name: Build + run: /bin/sh -c "chmod +x release.sh && bash release.sh" + - name: Upload + uses: actions/upload-artifact@v1 + with: + name: myurls-linux-arm64 + path: build/myurls-linux-arm64.tar.gz + darwin_amd64_build: + name: Windows X64 Build + runs-on: ubuntu-22.04 + steps: + - name: Set up Go 1.18 + uses: actions/setup-go@v1 + with: + go-version: 1.18 + id: go + - name: Check out code into the Go module directory + uses: actions/checkout@v2 + - name: Install dependencies + run: sudo apt install gcc-aarch64-linux-gnu + - name: Build + run: /bin/sh -c "chmod +x release.sh && bash release.sh" + - name: Upload + uses: actions/upload-artifact@v1 + with: + name: myurls-darwin-amd64.tar.gz + path: build/myurls-darwin-amd64.tar.gz + windows_x64_build: + name: Windows X64 Build + runs-on: ubuntu-22.04 + steps: + - name: Set up Go 1.18 + uses: actions/setup-go@v1 + with: + go-version: 1.18 + id: go + - name: Check out code into the Go module directory + uses: actions/checkout@v2 + - name: Install dependencies + run: sudo apt install gcc-aarch64-linux-gnu + - name: Build + run: /bin/sh -c "chmod +x release.sh && bash release.sh" + - name: Upload + uses: actions/upload-artifact@v1 + with: + name: myurls-windows-x64.tar.gz + path: build/myurls-windows-x64.tar.gz diff --git a/Makefile b/Makefile index 198419e..6b69f65 100644 --- a/Makefile +++ b/Makefile @@ -2,7 +2,7 @@ BINARY_DEFAULT="build/myurls" BINARY_LINUX="build/myurls-linux-amd64" BINARY_DARWIN="build/myurls-darwin-amd64" BINARY_WINDOWS="build/myurls-windows-x64" -BINARY_ARRCH64="build/myurls-arrch64" +BINARY_ARM64="build/myurls-arm64" GOFILES="main.go" VERSION=1.0.0 @@ -19,8 +19,8 @@ all: @CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build -o ${BINARY_DARWIN} ${GOFILES} @echo ${BINARY_WINDOWS} @CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build -o ${BINARY_WINDOWS} ${GOFILES} - @echo ${BINARY_ARRCH64} - @CGO_ENABLED=0 GOOS=linux GOARCH=arm64 go build -o ${BINARY_ARRCH64} ${GOFILES} + @echo ${BINARY_ARM64} + @CGO_ENABLED=0 GOOS=linux GOARCH=arm64 go build -o ${BINARY_ARM64} ${GOFILES} linux: @echo ${BINARY_LINUX} @@ -35,8 +35,8 @@ windows: @CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build -o ${BINARY_WINDOWS} ${GOFILES} aarch64: - @echo ${BINARY_ARRCH64} - @CGO_ENABLED=0 GOOS=linux GOARCH=arm64 go build -o ${BINARY_ARRCH64} ${GOFILES} + @echo ${BINARY_ARM64} + @CGO_ENABLED=0 GOOS=linux GOARCH=arm64 go build -o ${BINARY_ARM64} ${GOFILES} install: @go mod tidy @@ -49,4 +49,4 @@ clean: @if [ -f ${BINARY_LINUX} ] ; then rm ${BINARY_LINUX} ; fi @if [ -f ${BINARY_DARWIN} ] ; then rm ${BINARY_DARWIN} ; fi @if [ -f ${BINARY_WINDOWS} ] ; then rm ${BINARY_WINDOWS} ; fi - @if [ -f ${BINARY_ARRCH64} ] ; then rm ${BINARY_ARRCH64} ; fi + @if [ -f ${BINARY_ARM64} ] ; then rm ${BINARY_ARM64} ; fi diff --git a/release.sh b/release.sh index 09a44c5..c6e1a31 100644 --- a/release.sh +++ b/release.sh @@ -4,24 +4,26 @@ make install make all mkdir -p myurls -cp -r public myurls/ # linux-amd64 cp build/myurls-linux-amd64 myurls/ +cp -r public myurls/ tar -czvf myurls-linux-amd64.tar.gz myurls mv myurls-linux-amd64.tar.gz build/ rm build/myurls-linux-amd64 rm -rf myurls/* -# arrch64 -cp build/myurls-arrch64 myurls/ -tar -czvf myurls-arrch64.tar.gz myurls -mv myurls-arrch64.tar.gz build/ -rm build/myurls-arrch64 +# arm64 +cp build/myurls-arm64 myurls/ +cp -r public myurls/ +tar -czvf myurls-arm64.tar.gz myurls +mv myurls-arm64.tar.gz build/ +rm build/myurls-arm64 rm -rf myurls/* # darwin-amd64 cp build/myurls-darwin-amd64 myurls/ +cp -r public myurls/ tar -czvf myurls-darwin-amd64.tar.gz myurls mv myurls-darwin-amd64.tar.gz build/ rm build/myurls-darwin-amd64 @@ -29,6 +31,7 @@ rm -rf myurls/* # windows-x64 cp build/myurls-windows-x64 myurls/ +cp -r public myurls/ tar -czvf myurls-windows-x64.tar.gz myurls mv myurls-windows-x64.tar.gz build/ rm build/myurls-windows-x64