Skip to content

Commit b6e01b2

Browse files
authored
Merge pull request #689 from Shrikant1212/configure-binary-build
Configure binary build
2 parents e7c488d + b0d68a0 commit b6e01b2

File tree

2 files changed

+139
-0
lines changed

2 files changed

+139
-0
lines changed

.circleci/config.yml

+121
Original file line numberDiff line numberDiff line change
@@ -65,10 +65,131 @@ jobs:
6565
command: |
6666
echo "$DOCKERHUB_PASSWORD" | docker login --username "$DOCKERHUB_USERNAME" --password-stdin
6767
docker buildx build --push --platform linux/arm64/v8,linux/amd64 --tag $IMAGE_NAME:$CIRCLE_TAG .
68+
build-amd:
69+
machine:
70+
image: ubuntu-2004:202101-01
71+
steps:
72+
- checkout
73+
- run:
74+
name: "Installing Go"
75+
command: |
76+
sudo apt-get update
77+
sudo rm -rf /usr/local/go
78+
wget https://dl.google.com/go/go1.17.7.linux-amd64.tar.gz
79+
sudo tar -xvf go1.17.7.linux-amd64.tar.gz
80+
sudo mv go /usr/local
81+
- run:
82+
name: "Check Version"
83+
command: |
84+
go version
85+
node -v
86+
- run:
87+
name: "Installing abigen"
88+
command: |
89+
sudo add-apt-repository -y ppa:ethereum/ethereum
90+
sudo apt-get update -y
91+
sudo apt-get install ethereum -y
92+
- run:
93+
name: "Start building"
94+
command: |
95+
npm i
96+
npm run build-noargs
97+
- run:
98+
name: "Creating Zip"
99+
command: |
100+
cd build/bin
101+
tar -czvf razor_go.linux-amd64.tar.gz razor
102+
mv razor_go.linux-amd64.tar.gz ../../
103+
- persist_to_workspace:
104+
root: .
105+
paths:
106+
- razor_go.linux-amd64.tar.gz
107+
build-arm:
108+
machine:
109+
image: ubuntu-2004:202101-01
110+
resource_class: arm.medium
111+
steps:
112+
- checkout
113+
- run:
114+
name: "Installing Go"
115+
command: |
116+
sudo apt-get update
117+
sudo rm -rf /usr/local/go
118+
wget https://dl.google.com/go/go1.17.7.linux-arm64.tar.gz
119+
sudo tar -xvf go1.17.7.linux-arm64.tar.gz
120+
sudo mv go /usr/local
121+
- run:
122+
name: "Check Version"
123+
command: |
124+
go version
125+
node -v
126+
- run:
127+
name: "Installing abigen"
128+
command: |
129+
sudo add-apt-repository -y ppa:ethereum/ethereum
130+
sudo apt-get update -y
131+
sudo apt-get install ethereum -y
132+
- run:
133+
name: "Start building"
134+
command: |
135+
npm i
136+
npm run build-noargs
137+
- run:
138+
name: "Creating Zip"
139+
command: |
140+
cd build/bin
141+
tar -czvf razor_go.linux-arm64.tar.gz razor
142+
mv razor_go.linux-arm64.tar.gz ../../
143+
- persist_to_workspace:
144+
root: .
145+
paths:
146+
- razor_go.linux-arm64.tar.gz
147+
148+
publish-github-release:
149+
docker:
150+
- image: cimg/go:1.17
151+
steps:
152+
- checkout
153+
- attach_workspace:
154+
at: razor_go.linux-amd64.tar.gz
155+
- attach_workspace:
156+
at: razor_go.linux-arm64.tar.gz
157+
- run:
158+
name: "Publish Release on GitHub"
159+
command: |
160+
go get -u github.com/tcnksm/ghr
161+
VERSION=$(git describe --tags --abbrev=0)
162+
mv razor_go.linux-amd64.tar.gz razor_go.${VERSION}.linux-amd64.tar.gz && mv razor_go.linux-arm64.tar.gz razor_go.${VERSION}.linux-arm64.tar.gz
163+
echo "Pushing artifacts echo razor_go.${VERSION}.linux-amd64.tar.gz and razor_go.${VERSION}.linux-arm64.tar.gz"
164+
ghr -t ${GITHUB_TOKEN} -u ${CIRCLE_PROJECT_USERNAME} -r ${CIRCLE_PROJECT_REPONAME} -c ${CIRCLE_SHA1} ${VERSION} razor_go.${VERSION}.linux-amd64.tar.gz
165+
68166
workflows:
69167
tests:
70168
jobs:
71169
- test
170+
publish-github:
171+
jobs:
172+
- build-amd:
173+
filters:
174+
branches:
175+
ignore: /.*/
176+
tags:
177+
only: /^v.*/
178+
- build-arm:
179+
filters:
180+
branches:
181+
ignore: /.*/
182+
tags:
183+
only: /^v.*/
184+
- publish-github-release:
185+
filters:
186+
branches:
187+
ignore: /.*/
188+
tags:
189+
only: /^v.*/
190+
requires:
191+
- build-arm
192+
- build-amd
72193
publish:
73194
jobs:
74195
- push-docker-build:

install.sh

+18
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
#!/bin/bash
2+
version="${VERSION:-v1.0.0}"
3+
bin_dir="${BIN_DIR:-/usr/local/bin}"
4+
platform="${PLATFORM:-amd64}"
5+
6+
wget "https://github.com/razor-network/razor-go/releases/download/$version/razor_go.linux-$platform.tar.gz" \
7+
-O /tmp/razor_go.tar.gz
8+
9+
mkdir -p /tmp/razor_go
10+
11+
cd /tmp || { echo "ERROR! No /tmp found.."; exit 1; }
12+
13+
tar xfz /tmp/razor_go.tar.gz -C /tmp/razor_go || { echo "ERROR! Extracting the razor_go tar"; exit 1; }
14+
15+
cp "/tmp/razor_go/razor" "$bin_dir"
16+
chown root:staff "$bin_dir/razor"
17+
18+
echo "SUCCESS! Installation succeeded!"

0 commit comments

Comments
 (0)