@@ -65,10 +65,131 @@ jobs:
65
65
command : |
66
66
echo "$DOCKERHUB_PASSWORD" | docker login --username "$DOCKERHUB_USERNAME" --password-stdin
67
67
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
+
68
166
workflows :
69
167
tests :
70
168
jobs :
71
169
- 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
72
193
publish :
73
194
jobs :
74
195
- push-docker-build :
0 commit comments