From 205810cfad89e28ad7eaf8c3bb48c891f4ba2fca Mon Sep 17 00:00:00 2001 From: mircea-c Date: Tue, 18 Dec 2018 13:30:08 -0500 Subject: [PATCH 1/6] testing out macos CI --- .circleci/config.yml | 96 +++++++++++++++++++++++++++----------------- 1 file changed, 59 insertions(+), 37 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index d866bd637e48..84b266c51026 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -271,44 +271,66 @@ jobs: command: | chamber exec cosmos-sdk -- start_website_build + macos_ci: + macos: + xcode: "10.1.0" + steps: + - run: + name: Install go + command: | + curl -L -O https://dl.google.com/go/go1.11.4.darwin-amd64.tar.gz + mkdir /Users/distiller/go + tar -C /Users/distillers -xzf go1.11.4.darwin-amd64.tar.gz + rm go1.11.4.darwin-amd64.tar.gz + export PATH=$PATH:/Users/distiller/go/bin + go version + - checkout + - run: + name: Build SDK + command: | + export PATH=$PATH:/Users/distiller/go/bin + make get_vendor_deps + make build + workflows: version: 2 test-suite: jobs: - - deploy_docs: - filters: - branches: - only: - - master - - develop - - setup_dependencies - - lint: - requires: - - setup_dependencies - - integration_tests: - requires: - - setup_dependencies - - test_sim_gaia_nondeterminism: - requires: - - setup_dependencies - - test_sim_gaia_fast: - requires: - - setup_dependencies - - test_sim_gaia_import_export: - requires: - - setup_dependencies - - test_sim_gaia_simulation_after_import: - requires: - - setup_dependencies - - test_sim_gaia_multi_seed: - requires: - - setup_dependencies - - test_cover: - requires: - - setup_dependencies - - localnet: - requires: - - setup_dependencies - - upload_coverage: - requires: - - test_cover + - macos_ci +# - deploy_docs: +# filters: +# branches: +# only: +# - master +# - develop +# - setup_dependencies +# - lint: +# requires: +# - setup_dependencies +# - integration_tests: +# requires: +# - setup_dependencies +# - test_sim_gaia_nondeterminism: +# requires: +# - setup_dependencies +# - test_sim_gaia_fast: +# requires: +# - setup_dependencies +# - test_sim_gaia_import_export: +# requires: +# - setup_dependencies +# - test_sim_gaia_simulation_after_import: +# requires: +# - setup_dependencies +# - test_sim_gaia_multi_seed: +# requires: +# - setup_dependencies +# - test_cover: +# requires: +# - setup_dependencies +# - localnet: +# requires: +# - setup_dependencies +# - upload_coverage: +# requires: +# - test_cover From 7a5db13bfec90dc3f23095fcf45858545227a96b Mon Sep 17 00:00:00 2001 From: mircea-c Date: Tue, 18 Dec 2018 14:13:43 -0500 Subject: [PATCH 2/6] installing go --- .circleci/config.yml | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 84b266c51026..4f7c6e8ea9b2 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -274,21 +274,23 @@ jobs: macos_ci: macos: xcode: "10.1.0" + working_directory: /Users/distiller/project/src/github.com/cosmos/cosmos-sdk steps: - run: name: Install go command: | curl -L -O https://dl.google.com/go/go1.11.4.darwin-amd64.tar.gz - mkdir /Users/distiller/go - tar -C /Users/distillers -xzf go1.11.4.darwin-amd64.tar.gz + tar -C $HOME -xzf go1.11.4.darwin-amd64.tar.gz rm go1.11.4.darwin-amd64.tar.gz - export PATH=$PATH:/Users/distiller/go/bin + export PATH=$PATH:$HOME/go/bin go version - checkout - run: name: Build SDK command: | - export PATH=$PATH:/Users/distiller/go/bin + export GOPATH=$HOME/project + export GOBIN=$GOPATH/bin + export PATH=$PATH:$HOME/go/bin:$GOBIN make get_vendor_deps make build From 577baf179f4acbfc46860d9ed94466d8b2b1e0c2 Mon Sep 17 00:00:00 2001 From: mircea-c Date: Tue, 18 Dec 2018 14:54:03 -0500 Subject: [PATCH 3/6] SDK installed, running test hopefully --- .circleci/config.yml | 158 +++++++++++++++++++++++++++---------------- 1 file changed, 98 insertions(+), 60 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 4f7c6e8ea9b2..4ae5594485a1 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -1,12 +1,37 @@ version: 2 -defaults: &defaults +defaults: &linux_defaults working_directory: /go/src/github.com/cosmos/cosmos-sdk docker: - image: circleci/golang:1.11.1 environment: GOBIN: /tmp/workspace/bin + +############ +# +# Configure macos integration tests + +macos_config: &macos_defaults + macos: + xcode: "10.1.0" + working_directory: /Users/distiller/project/src/github.com/cosmos/cosmos-sdk + environment: + GO_VERSION: "1.11.4" + +set_macos_env: &macos_env + run: + name: Set environment + command: | + echo 'export PATH=$PATH:$HOME/go/bin' >> $BASH_ENV + echo 'export GOPATH=$HOME/project' >> $BASH_ENV + echo 'export GOBIN=$GOPATH/bin' >> $BASH_ENV + echo 'export PATH=$PATH:$HOME/go/bin:$GOBIN' >> $BASH_ENV + +############ +# +# Configure docs deployment + docs_update: &docs_deploy working_directory: ~/repo docker: @@ -14,10 +39,13 @@ docs_update: &docs_deploy environment: AWS_REGION: us-east-1 + +############ + jobs: setup_dependencies: - <<: *defaults + <<: *linux_defaults steps: - run: mkdir -p /tmp/workspace/bin - run: mkdir -p /tmp/workspace/profiles @@ -48,7 +76,7 @@ jobs: - profiles lint: - <<: *defaults + <<: *linux_defaults parallelism: 1 steps: - attach_workspace: @@ -72,7 +100,7 @@ jobs: make test_lint integration_tests: - <<: *defaults + <<: *linux_defaults parallelism: 1 steps: - attach_workspace: @@ -91,7 +119,7 @@ jobs: make test_examples test_sim_gaia_nondeterminism: - <<: *defaults + <<: *linux_defaults parallelism: 1 steps: - attach_workspace: @@ -109,7 +137,7 @@ jobs: make test_sim_gaia_nondeterminism test_sim_gaia_fast: - <<: *defaults + <<: *linux_defaults parallelism: 1 steps: - attach_workspace: @@ -127,7 +155,7 @@ jobs: make test_sim_gaia_fast test_sim_gaia_import_export: - <<: *defaults + <<: *linux_defaults parallelism: 1 steps: - attach_workspace: @@ -145,7 +173,7 @@ jobs: make test_sim_gaia_import_export test_sim_gaia_simulation_after_import: - <<: *defaults + <<: *linux_defaults parallelism: 1 steps: - attach_workspace: @@ -163,7 +191,7 @@ jobs: make test_sim_gaia_simulation_after_import test_sim_gaia_multi_seed: - <<: *defaults + <<: *linux_defaults parallelism: 1 steps: - attach_workspace: @@ -181,7 +209,7 @@ jobs: scripts/multisim.sh 25 TestFullGaiaSimulation test_cover: - <<: *defaults + <<: *linux_defaults parallelism: 4 steps: - attach_workspace: @@ -211,7 +239,7 @@ jobs: path: /tmp/logs upload_coverage: - <<: *defaults + <<: *linux_defaults parallelism: 1 steps: - attach_workspace: @@ -272,67 +300,77 @@ jobs: chamber exec cosmos-sdk -- start_website_build macos_ci: - macos: - xcode: "10.1.0" - working_directory: /Users/distiller/project/src/github.com/cosmos/cosmos-sdk + <<: *macos_defaults steps: + - *macos_env - run: name: Install go command: | - curl -L -O https://dl.google.com/go/go1.11.4.darwin-amd64.tar.gz - tar -C $HOME -xzf go1.11.4.darwin-amd64.tar.gz - rm go1.11.4.darwin-amd64.tar.gz - export PATH=$PATH:$HOME/go/bin + source $BASH_ENV + curl -L -O https://dl.google.com/go/go$GO_VERSION.darwin-amd64.tar.gz + tar -C $HOME -xzf go$GO_VERSION.darwin-amd64.tar.gz + rm go$GO_VERSION.darwin-amd64.tar.gz go version - checkout - run: - name: Build SDK + name: Install SDK command: | - export GOPATH=$HOME/project - export GOBIN=$GOPATH/bin - export PATH=$PATH:$HOME/go/bin:$GOBIN + source $BASH_ENV + make get_tools make get_vendor_deps - make build + make install + make install_examples + - run: + name: Integration tests + command: + source $BASH_ENV + make test_cli + make test_examples + - run: + name: Test full gaia simulation + command: | + source $BASH_ENV + make test_sim_gaia_fast workflows: version: 2 test-suite: jobs: - macos_ci -# - deploy_docs: -# filters: -# branches: -# only: -# - master -# - develop -# - setup_dependencies -# - lint: -# requires: -# - setup_dependencies -# - integration_tests: -# requires: -# - setup_dependencies -# - test_sim_gaia_nondeterminism: -# requires: -# - setup_dependencies -# - test_sim_gaia_fast: -# requires: -# - setup_dependencies -# - test_sim_gaia_import_export: -# requires: -# - setup_dependencies -# - test_sim_gaia_simulation_after_import: -# requires: -# - setup_dependencies -# - test_sim_gaia_multi_seed: -# requires: -# - setup_dependencies -# - test_cover: -# requires: -# - setup_dependencies -# - localnet: -# requires: -# - setup_dependencies -# - upload_coverage: -# requires: -# - test_cover + - deploy_docs: + filters: + branches: + only: + - master + - develop + - setup_dependencies + - lint: + requires: + - setup_dependencies + - integration_tests: + requires: + - setup_dependencies + - test_sim_gaia_nondeterminism: + requires: + - setup_dependencies + - test_sim_gaia_fast: + requires: + - setup_dependencies + - test_sim_gaia_import_export: + requires: + - setup_dependencies + - test_sim_gaia_simulation_after_import: + requires: + - setup_dependencies + - test_sim_gaia_multi_seed: + requires: + - setup_dependencies + - test_cover: + requires: + - setup_dependencies + - localnet: + requires: + - setup_dependencies + - upload_coverage: + requires: + - test_cover From f6eb8086f854a9ff2a71f94a69805954e33758a1 Mon Sep 17 00:00:00 2001 From: mircea-c Date: Tue, 18 Dec 2018 16:09:19 -0500 Subject: [PATCH 4/6] added to PENDING.md --- PENDING.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/PENDING.md b/PENDING.md index f70b51ac474d..b0133d9c1f7e 100644 --- a/PENDING.md +++ b/PENDING.md @@ -38,6 +38,9 @@ IMPROVEMENTS * Tendermint +* CI + * \#2498 Added macos CI job to CircleCI + BUG FIXES From 2f60767d28e86356f7d63893a45a91a1bdc1ded8 Mon Sep 17 00:00:00 2001 From: mircea-c Date: Tue, 18 Dec 2018 16:26:12 -0500 Subject: [PATCH 5/6] added branch filtering to macos job --- .circleci/config.yml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 4ae5594485a1..d1958f9bfe55 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -336,7 +336,12 @@ workflows: version: 2 test-suite: jobs: - - macos_ci + - macos_ci: + filters: + branches: + only: + - master + - develop - deploy_docs: filters: branches: From f6e8650ba76fcec155989464e6acd2423a4ecb80 Mon Sep 17 00:00:00 2001 From: mircea-c Date: Wed, 19 Dec 2018 11:07:30 -0500 Subject: [PATCH 6/6] removed examples tests --- .circleci/config.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index d1958f9bfe55..71f00c10ea0b 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -319,13 +319,11 @@ jobs: make get_tools make get_vendor_deps make install - make install_examples - run: name: Integration tests command: source $BASH_ENV make test_cli - make test_examples - run: name: Test full gaia simulation command: |