Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Eric/use mule in jenkins #4

Open
wants to merge 87 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
87 commits
Select commit Hold shift + click to select a range
25c4982
Refactor make and mule in order to execute travis jobs using Mule
bricerisingalgorand May 1, 2020
718d0d9
Only use GOPROXY direct
bricerisingalgorand May 1, 2020
d54ef1d
Move modified ci-* make targets to makefile.mule
bricerisingalgorand May 1, 2020
5c2081b
Fix make target for osx jobs
bricerisingalgorand May 1, 2020
59c376e
Merge branch 'master' of github.com:algorand/go-algorand into brice/u…
bricerisingalgorand May 6, 2020
c611355
Merge branch 'master' of github.com:algorand/go-algorand into brice/u…
bricerisingalgorand May 11, 2020
7eaeb18
Added Jenkinsfile mule.yaml file for go-algorand.
egieseke May 11, 2020
5a6f06b
Updated jenkins file.
egieseke May 11, 2020
d48d6da
Update mule.yaml with actual tasks and jobs.
egieseke May 11, 2020
c3562ad
Make timeout for upgrade tests longer
bricerisingalgorand May 11, 2020
f622224
Limit to mule.yaml to build step.
egieseke May 11, 2020
e274336
Include test-linux-arm64-shortest.
egieseke May 11, 2020
8c4b392
Include test-linux-arm64-integration.
egieseke May 11, 2020
8534d7f
Remove build dependencies from ci-integration and ci-test targets.
egieseke May 11, 2020
9486c08
Replaced build dependencies for ci-integration and ci-test targets.
egieseke May 11, 2020
cf0c16e
Added jobs for architectures amd63 and arm32.
egieseke May 12, 2020
d26fc4c
extended timeouts for e2e_sub tests.
egieseke May 12, 2020
842dd76
Remove build task which is done as part of integration testing.
egieseke May 12, 2020
aa8748d
Remove build task which is done as part of integration testing.
egieseke May 12, 2020
f43c989
Remove build task which is done as part of integration testing.
egieseke May 12, 2020
7bcaf36
Increase timeout for goal network start.
egieseke May 12, 2020
d37fab4
Increase timeout for goal network create.
egieseke May 13, 2020
0fb60e9
Remove timeout for algotmpl calls.
egieseke May 13, 2020
7342d7a
add timeout for algotmpl calls.
egieseke May 13, 2020
6bf5ff8
Increase wait time to 30 seconds for goal node wait commands in teal …
egieseke May 13, 2020
3565f02
Fixed error in expect script.
egieseke May 13, 2020
18a16ba
Merge branch 'master' of https://github.com/egieseke/go-algorand into…
egieseke May 13, 2020
bbab6c0
Fix merge conflict in cicd.centos.Dockerfile.
egieseke May 13, 2020
3e676ed
Fix scripting error in createWalletTest.exp.
egieseke May 13, 2020
ee013ad
Added amd64 build job.
egieseke May 14, 2020
ab943a0
Increase number of rounds for all transactions of group to confirm in
egieseke May 14, 2020
d3c2381
Fixed round check to less than in place of equal to case where a roun…
egieseke May 14, 2020
6b061b9
Don't exit when account config fails.
egieseke May 14, 2020
92f4fc4
Added bin cache upload to build job.
egieseke May 14, 2020
0d2c4a5
Added bin cache upload to build job.
egieseke May 14, 2020
342daf9
Updated to mule version 0.0.7.
egieseke May 14, 2020
e483a31
Restrict the scope of file upload to node_pkgs dir.
egieseke May 15, 2020
6865290
Add second test job to use bin cache.
egieseke May 15, 2020
a56c0f1
Added empty suffix.
egieseke May 15, 2020
239f312
Added empty suffix.
egieseke May 15, 2020
e07be1c
Implement Jenkins muleCI compatible mule yaml
bricerisingalgorand May 18, 2020
6d60963
Merge branch 'brice/useMuleInTravisJob' of github.com:bricerisingalgo…
bricerisingalgorand May 18, 2020
8c7107f
Fix docker ensure file paths
bricerisingalgorand May 18, 2020
6c969f0
Change name for stash_id field in muleCi mule.yaml
bricerisingalgorand May 18, 2020
23044bb
Bump mule cli version
bricerisingalgorand May 18, 2020
9a82fba
Remove arm32 tests from muleCI job
bricerisingalgorand May 18, 2020
9cd7806
Update muleCI mule yaml to use multiple globspecs
bricerisingalgorand May 19, 2020
ff3914a
Bump mule version to 0.0.9
bricerisingalgorand May 19, 2020
526250f
Merge branch 'eric/useMuleInJenkins' of github.com:egieseke/go-algora…
bricerisingalgorand May 19, 2020
22a943d
Merge pull request #3 from bricerisingalgorand/eric/useMuleInJenkins
egieseke May 19, 2020
af30896
Include crypto libs in muleCI pipeline stash
bricerisingalgorand May 20, 2020
5820354
Add online argument to goal account changeonlinestatus
bricerisingalgorand May 20, 2020
77c4f85
Comment out arm32 build
bricerisingalgorand May 22, 2020
bcd0dfa
Try not running arm go tests one at a time
bricerisingalgorand May 26, 2020
840dd4a
Merge branch 'master' of https://github.com/algorand/go-algorand into…
egieseke May 27, 2020
7f9d446
Updated comments regarding extending timeouts for tests.
egieseke May 27, 2020
9bb32f2
Remove excluded portions of muleCI mule.yaml
bricerisingalgorand May 27, 2020
447575a
Reset .travis.yml file back to original travis.yml
bricerisingalgorand May 27, 2020
f0711ba
Uncomment out individual test exec setting in e2e_go_tests
bricerisingalgorand May 27, 2020
72a0a2d
Merge pull request #4 from bricerisingalgorand/eric/useMuleInJenkins
egieseke May 27, 2020
057de17
Revert "Don't exit when account config fails."
egieseke May 27, 2020
0b32e7a
Change waitForRoundOne timeout back to 1 minute
bricerisingalgorand May 27, 2020
436ff22
Use bash booleans for true/false variables.
egieseke May 27, 2020
15995dd
Remove PLATFORM_ROOT prior to building package.
egieseke May 27, 2020
4d60f9e
Merge branch 'eric/useMuleInJenkins' into eric/useMuleInJenkins
bricerisingalgorand Jun 9, 2020
911275a
Merge pull request #5 from bricerisingalgorand/eric/useMuleInJenkins
egieseke Jun 9, 2020
951c092
Update docker/build/cicd.centos.Dockerfile
egieseke Jun 9, 2020
0852797
Revert extending number of rounds for transaction group test since this
egieseke Jun 10, 2020
9bf729b
Merge branch 'eric/useMuleInJenkins' of https://github.com/egieseke/g…
egieseke Jun 10, 2020
ed650f7
Use first index of GOPATH instead of full gopath
bricerisingalgorand Jun 10, 2020
1624e33
Merge branch 'master' of github.com:algorand/go-algorand into eric/us…
bricerisingalgorand Jun 10, 2020
d3104e6
Merge branch 'master' of github.com:algorand/go-algorand into eric/us…
bricerisingalgorand Jun 11, 2020
0445102
Remove minimum time requirement in lastpingroundtime
bricerisingalgorand Jun 11, 2020
201d3b6
Merge pull request #6 from bricerisingalgorand/eric/useMuleInJenkins
egieseke Jun 11, 2020
4ff2aa1
Revert fix to create wallet test, moved to a separate PR.
egieseke Jun 11, 2020
19b8bb1
Moving this fix to a different PR since it is not related to Jenkins or
egieseke Jun 11, 2020
1942d9d
Use environment variable to set S3_RELEASE_BUCKET.
egieseke Jun 12, 2020
8477840
Add S3_RELEASE_BUCKET environment var to mule.yaml docker jobs.
egieseke Jun 12, 2020
b35463d
Added back removal of PKG_ROOT at the end of e2e.sh with conditional on
egieseke Jun 12, 2020
5306f10
Updated verify_at_least_one_running function to loop up to 2 seconds.
egieseke Jun 12, 2020
0d4fb90
Merge branch 'master' of https://github.com/egieseke/go-algorand into…
egieseke Jun 12, 2020
eff1999
Adjust first timeout round from 5 to 10.
egieseke Jun 12, 2020
3ab549f
Reverted addition of --online flag for goal account changeonlinestatus
egieseke Jun 14, 2020
451a947
Revert to old folder structure for build tarballs
bricerisingalgorand Jun 17, 2020
e201fd3
Stop exporting vars in our mule makefile
bricerisingalgorand Jun 17, 2020
6276a5f
Merge pull request #8 from bricerisingalgorand/eric/useMuleInJenkins
egieseke Jun 17, 2020
c63c9e0
Update travis job to only run arm build
bricerisingalgorand Jun 25, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
99 changes: 0 additions & 99 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,105 +34,6 @@ jobs:
- scripts/travis/build_test.sh

- stage: build_pr
os: linux
name: Ubuntu AMD64 Build
script:
- scripts/travis/build_test.sh
- # same stage, parallel job
os: linux
name: Ubuntu AMD64 Integration Test
script:
- ./scripts/travis/integration_test.sh
- # same stage, parallel job
name: External ARM64 Build
os: linux
env:
- BUILD_TYPE: "external_build"
- TARGET_PLATFORM: "linux-arm64"
addons:
apt:
packages:
- awscli
script:
- scripts/travis/external_build.sh ./scripts/travis/build_test.sh
- # same stage, parallel job
name: External ARM64 Integration Test
os: linux
env:
- BUILD_TYPE: "external_build"
- TARGET_PLATFORM: "linux-arm64"
addons:
apt:
packages:
- awscli
script:
- scripts/travis/external_build.sh ./scripts/travis/integration_test.sh
- # same stage, parallel job
os: osx
osx_image: xcode11
name: MacOS AMD64 Build
script:
- scripts/travis/build_test.sh
- # same stage, parallel job
os: osx
osx_image: xcode11
name: MacOS AMD64 Integration Test
script:
- ./scripts/travis/integration_test.sh

- stage: build_release
os: linux
name: Ubuntu AMD64 Build
script:
- ./scripts/travis/build_test.sh
- # same stage, parallel job
os: linux
name: Ubuntu AMD64 Integration Test
script:
- ./scripts/travis/integration_test.sh
- # same stage, parallel job
os: osx
osx_image: xcode11
name: MacOS AMD64 Build
script:
- scripts/travis/build_test.sh
- # same stage, parallel job
name: External ARM64 Integration Test
os: linux
env:
- BUILD_TYPE: "external_build"
- TARGET_PLATFORM: "linux-arm64"
addons:
apt:
packages:
- awscli
script:
- scripts/travis/external_build.sh ./scripts/travis/integration_test.sh

- stage: deploy
name: Ubuntu Deploy
os: linux
script:
- scripts/travis/deploy_packages.sh
- scripts/travis/test_release.sh
- # same stage, parallel job
name: MacOS Deploy
os: osx
osx_image: xcode11
script: scripts/travis/deploy_packages.sh
- # same stage, parallel job
name: External ARM64 Deploy
os: linux
env:
- BUILD_TYPE: "external_build"
- TARGET_PLATFORM: "linux-arm64"
addons:
apt:
packages:
- awscli
script:
- scripts/travis/external_build.sh ./scripts/travis/deploy_packages.sh
- # same stage, parallel job
name: External ARM Deploy
os: linux
env:
Expand Down
26 changes: 21 additions & 5 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,18 +1,19 @@
export GOPATH := $(shell go env GOPATH)
GOPATH1 := $(firstword $(subst :, ,$(GOPATH)))
export GO111MODULE := on
export GOPROXY := https://gocenter.io
export GOPROXY := direct

UNAME := $(shell uname)
SRCPATH := $(shell pwd)
ARCH := $(shell ./scripts/archtype.sh)
OS_TYPE := $(shell ./scripts/ostype.sh)
S3_RELEASE_BUCKET = $$S3_RELEASE_BUCKET

# If build number already set, use it - to ensure same build number across multiple platforms being built
BUILDNUMBER ?= $(shell ./scripts/compute_build_number.sh)
COMMITHASH := $(shell ./scripts/compute_build_commit.sh)
BUILDBRANCH ?= $(shell ./scripts/compute_branch.sh)
BUILDCHANNEL ?= $(shell ./scripts/compute_branch_channel.sh $(BUILDBRANCH))
BUILDBRANCH := $(shell ./scripts/compute_branch.sh)
BUILDCHANNEL := $(shell ./scripts/compute_branch_channel.sh $(BUILDBRANCH))
DEFAULTNETWORK ?= $(shell ./scripts/compute_branch_network.sh $(BUILDBRANCH))
DEFAULT_DEADLOCK ?= $(shell ./scripts/compute_branch_deadlock_default.sh $(BUILDBRANCH))

Expand Down Expand Up @@ -155,8 +156,14 @@ $(KMD_API_SWAGGER_INJECT): $(KMD_API_SWAGGER_SPEC) $(KMD_API_SWAGGER_SPEC).valid

build: buildsrc gen

# We're making an empty file in the go-cache dir to
# get around a bug in go build where it will fail
# to cache binaries from time to time on empty NFS
# dirs
buildsrc: crypto/libs/$(OS_TYPE)/$(ARCH)/lib/libsodium.a node_exporter NONGO_BIN deps $(ALGOD_API_SWAGGER_INJECT) $(KMD_API_SWAGGER_INJECT)
go install $(GOTRIMPATH) $(GOTAGS) $(GOBUILDMODE) -ldflags="$(GOLDFLAGS)" ./...
mkdir -p tmp/go-cache && \
touch tmp/go-cache/file.txt && \
GOCACHE=$(SRCPATH)/tmp/go-cache go install $(GOTRIMPATH) $(GOTAGS) $(GOBUILDMODE) -ldflags="$(GOLDFLAGS)" ./...

SOURCES_RACE := github.com/algorand/go-algorand/cmd/kmd

Expand Down Expand Up @@ -233,7 +240,10 @@ node_exporter: $(GOPATH1)/bin/node_exporter
# The file is was taken from the S3 cloud and it traditionally stored at
# /travis-build-artifacts-us-ea-1.algorand.network/algorand/node_exporter/latest/node_exporter-stable-linux-x86_64.tar.gz
$(GOPATH1)/bin/node_exporter:
tar -xzvf installer/external/node_exporter-stable-$(shell ./scripts/ostype.sh)-$(shell uname -m | tr '[:upper:]' '[:lower:]').tar.gz -C $(GOPATH1)/bin
mkdir -p $(GOPATH1)/bin && \
cd $(GOPATH1)/bin && \
tar -xzvf $(SRCPATH)/installer/external/node_exporter-stable-$(shell ./scripts/ostype.sh)-$(shell uname -m | tr '[:upper:]' '[:lower:]').tar.gz && \
cd -

# deploy

Expand Down Expand Up @@ -279,3 +289,9 @@ install: build
###### TARGETS FOR CICD PROCESS ######
include ./scripts/release/mule/Makefile.mule

SUPPORTED_ARCHIVE_OS_ARCH = linux/amd64 linux/arm64 linux/arm darwin/amd64

archive:
CHANNEL=$(BUILDCHANNEL) \
PATH=$(SRCPATH)/tmp/node_pkgs/$(OS_TYPE)/$(ARCH)/$(BUILDCHANNEL)/$(OS_TYPE)-$(ARCH)/bin:$${PATH} \
scripts/upload_version.sh $(BUILDCHANNEL) $(SRCPATH)/tmp/node_pkgs $(S3_RELEASE_BUCKET)
2 changes: 1 addition & 1 deletion docker/build/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ WORKDIR /root
RUN wget --quiet https://dl.google.com/go/go${GOLANG_VERSION}.linux-amd64.tar.gz && tar -xvf go${GOLANG_VERSION}.linux-amd64.tar.gz && mv go /usr/local
ENV GOROOT=/usr/local/go \
GOPATH=$HOME/go \
GOPROXY=https://gocenter.io
GOPROXY=https://gocenter.io,https://goproxy.io,direct
RUN mkdir -p $GOPATH/src/github.com/algorand
WORKDIR $GOPATH/src/github.com/algorand
COPY ./go-algorand ./go-algorand/
Expand Down
2 changes: 1 addition & 1 deletion docker/build/Dockerfile-deploy
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ WORKDIR /root
RUN wget --quiet https://dl.google.com/go/go${GOLANG_VERSION}.linux-amd64.tar.gz && tar -xvf go${GOLANG_VERSION}.linux-amd64.tar.gz && mv go /usr/local
ENV GOROOT=/usr/local/go \
GOPATH=$HOME/go \
GOPROXY=https://gocenter.io
GOPROXY=https://gocenter.io,https://goproxy.io,direct
RUN mkdir -p $GOPATH/src/github.com/algorand
WORKDIR $GOPATH/src/github.com/algorand
COPY . ./go-algorand/
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ RUN apk add dpkg && \
COPY . $GOPATH/src/github.com/algorand/go-algorand
WORKDIR $GOPATH/src/github.com/algorand/go-algorand
ENV GCC_CONFIG="--with-arch=armv6" \
GOPROXY=https://gocenter.io
GOPROXY=https://gocenter.io,https://goproxy.io,direct
RUN make ci-deps && make clean
RUN rm -rf $GOPATH/src/github.com/algorand/go-algorand && \
mkdir -p $GOPATH/src/github.com/algorand/go-algorand
Expand Down
10 changes: 6 additions & 4 deletions docker/build/cicd.centos.Dockerfile
Original file line number Diff line number Diff line change
@@ -1,12 +1,15 @@
ARG ARCH="amd64"

FROM ${ARCH}/centos:7
ENV GOLANG_VERSION 1.12
ARG ARCH="amd64"

RUN yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm && \
yum update -y && \
yum install -y autoconf wget awscli git gnupg2 nfs-utils python36 sqlite3 boost-devel expect jq libtool gcc-c++ libstdc++-devel libstdc++-static rpmdevtools createrepo rpm-sign bzip2 which ShellCheck
yum install -y autoconf wget awscli git gnupg2 nfs-utils python3-devel sqlite3 boost-devel expect jq \
libtool gcc-c++ libstdc++-devel libstdc++-static rpmdevtools createrepo rpm-sign bzip2 which ShellCheck \
libffi-devel openssl-devel
WORKDIR /root
ARG ARCH
ENV GOLANG_VERSION 1.12.17
RUN wget https://dl.google.com/go/go${GOLANG_VERSION}.linux-${ARCH%v*}.tar.gz \
&& tar -xvf go${GOLANG_VERSION}.linux-${ARCH%v*}.tar.gz && \
mv go /usr/local
Expand All @@ -28,4 +31,3 @@ RUN rm -rf $GOPATH/src/github.com/algorand/go-algorand && \
mkdir -p $GOPATH/src/github.com/algorand/go-algorand
RUN echo "vm.max_map_count = 262144" >> /etc/sysctl.conf
CMD ["/bin/bash"]

Loading