Skip to content

Merge pull request #290 from 0chain/gosdk-5e33266 #281

Merge pull request #290 from 0chain/gosdk-5e33266

Merge pull request #290 from 0chain/gosdk-5e33266 #281

name: build-zwallet
on:
push:
branches:
- master
- staging
tags:
- 'v*.*.*'
jobs:
build-linux:
name: Build-linux
runs-on: [self-hosted, arc-runner]
steps:
- name: Install deps
run: |
sudo apt update
sudo apt -y install build-essential nghttp2 libnghttp2-dev libssl-dev
- name: Setup go 1.18
uses: actions/setup-go@v2
with:
go-version: ^1.20.0 # The Go version to download (if necessary) and use.
- name: Checkout
uses: actions/checkout@v2
- name: Set GITHUB_ENV
run: |
echo "BRANCH=$(echo ${GITHUB_REF#refs/heads/})" >> $GITHUB_ENV
if [[ "${{github.base_ref}}" == "master" || "${{github.ref}}" == "refs/heads/master" ]]; then
echo "TAG=v0.0.0-master" >> $GITHUB_ENV
elif [[ "${{github.base_ref}}" == "dev" || "${{github.ref}}" == "refs/heads/dev" ]]; then
echo "TAG=v0.0.0-dev" >> $GITHUB_ENV
elif [[ "${{github.base_ref}}" == "staging" || "${{github.ref}}" == "refs/heads/staging" ]]; then
echo "TAG=v0.0.0-staging" >> $GITHUB_ENV
else
echo "TAG=$(echo ${GITHUB_REF#refs/tags/})" >> $GITHUB_ENV
fi
- name: Install
run: make install
- name: Zip release
run: tar -czvf zwallet-linux.tar.gz ./zwallet
- name: Upload binaries to release
uses: svenstaro/upload-release-action@v2
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
file: zwallet-linux.tar.gz
tag: ${{ env.TAG }}
overwrite: true
file_glob: true
- name: 'Upload Artifact'
uses: actions/upload-artifact@v2
with:
name: zwallet-linux
path: zwallet
retention-days: 5
build-windows:
name: Build-windows
runs-on: windows-latest
steps:
- name: Setup go
uses: actions/setup-go@v3
with:
go-version: ^1.20.0 # The Go version to download (if necessary) and use.
- name: Checkout
uses: actions/checkout@v2
- name: Set GITHUB_ENV
run: |
IF ( "${{github.base_ref}}" -eq "master" -OR "${{github.ref}}" -eq "refs/heads/master" ){
echo "TAG=v0.0.0-master" | Out-File -FilePath $Env:GITHUB_ENV -Encoding utf-8 -Append
} ElseIf ( "${{github.base_ref}}" -eq "dev" -OR "${{github.ref}}" -eq "refs/heads/dev" ){
echo "TAG=v0.0.0-dev" | Out-File -FilePath $Env:GITHUB_ENV -Encoding utf-8 -Append
} ElseIf ( "${{github.base_ref}}" -eq "staging" -OR "${{github.ref}}" -eq "refs/heads/staging" ){
echo "TAG=v0.0.0-staging" | Out-File -FilePath $Env:GITHUB_ENV -Encoding utf-8 -Append
} ELSE {
echo "TAG=${{github.ref}}" | %{$_ -replace('refs/tags/', '')} | Out-File -FilePath $Env:GITHUB_ENV -Encoding utf-8 -Append
}
- name: Install
run: make install
- name: Zip release
run: |
copy zwallet zwallet.exe
7z a zwallet-windows.zip zwallet.exe
- name: Upload binaries to release
uses: svenstaro/upload-release-action@v2
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
file: zwallet-windows.zip
tag: ${{ env.TAG }}
overwrite: true
file_glob: true
- name: 'Upload Artifact'
uses: actions/upload-artifact@v2
with:
name: zwallet-windows
path: zwallet
retention-days: 5
build-macos:
name: Build-macos
runs-on: macos-runner-binary
steps:
- name: Setup go
uses: actions/setup-go@v3
with:
go-version: ^1.20.0 # The Go version to download (if necessary) and use.
- name: Checkout
uses: actions/checkout@v2
- name: Set GITHUB_ENV
run: |
echo "BRANCH=$(echo ${GITHUB_REF#refs/heads/})" >> $GITHUB_ENV
if [[ "${{github.base_ref}}" == "master" || "${{github.ref}}" == "refs/heads/master" ]]; then
echo "TAG=v0.0.0-master" >> $GITHUB_ENV
elif [[ "${{github.base_ref}}" == "dev" || "${{github.ref}}" == "refs/heads/dev" ]]; then
echo "TAG=v0.0.0-dev" >> $GITHUB_ENV
elif [[ "${{github.base_ref}}" == "staging" || "${{github.ref}}" == "refs/heads/staging" ]]; then
echo "TAG=v0.0.0-staging" >> $GITHUB_ENV
else
echo "TAG=$(echo ${GITHUB_REF#refs/tags/})" >> $GITHUB_ENV
fi
- name: Install
run: make install
- name: Zip release
run: tar -czvf zwallet-macos.tar.gz ./zwallet
- name: Upload binaries to release
uses: svenstaro/upload-release-action@v2
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
file: zwallet-macos.tar.gz
tag: ${{ env.TAG }}
overwrite: true
file_glob: true
- name: 'Upload Artifact'
uses: actions/upload-artifact@v2
with:
name: zwallet-macos
path: zwallet
retention-days: 5