From b72cfdc638235d153b2ca8ed347e75de45f2b759 Mon Sep 17 00:00:00 2001 From: chris erway Date: Wed, 8 Sep 2021 16:51:59 -0400 Subject: [PATCH 01/11] use matrix for other CirlceCI build jobs --- .circleci/config.yml | 742 +++++++++++-------------------------------- 1 file changed, 191 insertions(+), 551 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index a5d9637eb7..860675087e 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -5,244 +5,155 @@ orbs: go: circleci/go@1.7.0 slack: circleci/slack@4.4.2 +executors: + amd64_medium: + machine: + image: ubuntu-2004:202104-01 + resource_class: medium + working_directory: /cibuild + amd64_large: + machine: + image: ubuntu-2004:202104-01 + resource_class: large + working_directory: /cibuild + arm64_medium: + machine: + image: ubuntu-2004:202101-01 + resource_class: arm.medium + working_directory: /cibuild + arm64_large: + machine: + image: ubuntu-2004:202101-01 + resource_class: arm.large + working_directory: /cibuild + mac_amd64_medium: + macos: + xcode: 12.0.1 + resource_class: medium + working_directory: /cibuild + environment: + HOMEBREW_NO_AUTO_UPDATE: "true" + mac_amd64_large: + macos: + xcode: 12.0.1 + resource_class: large + working_directory: /cibuild + environment: + HOMEBREW_NO_AUTO_UPDATE: "true" + workflows: version: 2 build_pr: jobs: - codegen_verification - - amd64_build - - amd64_test: - requires: - - amd64_build - filters: - branches: - ignore: - - /rel\/.*/ - - /hotfix\/.*/ - - amd64_test_nightly: - requires: - - amd64_build - filters: - branches: - only: - - /rel\/.*/ - - /hotfix\/.*/ - context: slack-secrets - - amd64_integration: - requires: - - amd64_build - filters: - branches: - ignore: - - /rel\/.*/ - - /hotfix\/.*/ - - amd64_integration_nightly: - requires: - - amd64_build - filters: - branches: - only: - - /rel\/.*/ - - /hotfix\/.*/ - context: slack-secrets - - amd64_e2e_subs: - requires: - - amd64_build - filters: - branches: - ignore: - - /rel\/.*/ - - /hotfix\/.*/ - - amd64_e2e_subs_nightly: - requires: - - amd64_build - filters: - branches: - only: - - /rel\/.*/ - - /hotfix\/.*/ - context: slack-secrets - - amd64_e2e_expect: - requires: - - amd64_build - filters: - branches: - ignore: - - /rel\/.*/ - - /hotfix\/.*/ - - amd64_e2e_expect_nightly: - requires: - - amd64_build - filters: - branches: - only: - - /rel\/.*/ - - /hotfix\/.*/ - context: slack-secrets - - arm64_build - - arm64_test: - requires: - - arm64_build - filters: - branches: - ignore: - - /rel\/.*/ - - /hotfix\/.*/ - - arm64_test_nightly: - requires: - - arm64_build - filters: - branches: - only: - - /rel\/.*/ - - /hotfix\/.*/ - context: slack-secrets - - arm64_integration: - requires: - - arm64_build - filters: - branches: - ignore: - - /rel\/.*/ - - /hotfix\/.*/ - - arm64_integration_nightly: - requires: - - arm64_build - filters: - branches: - only: - - /rel\/.*/ - - /hotfix\/.*/ - context: slack-secrets - - arm64_e2e_subs: - requires: - - arm64_build - filters: - branches: - ignore: - - /rel\/.*/ - - /hotfix\/.*/ - - arm64_e2e_subs_nightly: - requires: - - arm64_build - filters: - branches: - only: - - /rel\/.*/ - - /hotfix\/.*/ - context: slack-secrets - - arm64_e2e_expect: - requires: - - arm64_build - filters: - branches: - ignore: - - /rel\/.*/ - - /hotfix\/.*/ - - arm64_e2e_expect_nightly: - requires: - - arm64_build - filters: - branches: - only: - - /rel\/.*/ - - /hotfix\/.*/ - context: slack-secrets - - mac_amd64_build - - mac_amd64_test: + + - build: + name: << matrix.arch >>_build + matrix: &matrix-default + parameters: + platform: ["amd64", "arm64", "mac_amd64"] + + - test: + name: << matrix.arch >>_test + matrix: + <<: *matrix-default requires: - - mac_amd64_build - filters: + - << matrix.arch >>_build + filters: &filters-default branches: ignore: - /rel\/.*/ - /hotfix\/.*/ - - mac_amd64_test_nightly: + + - test_nightly: + name: << matrix.arch >>_test_nightly + matrix: + <<: *matrix-default requires: - - mac_amd64_build - filters: + - << matrix.arch >>_build + filters: &filters-nightly branches: only: - /rel\/.*/ - /hotfix\/.*/ context: slack-secrets - - mac_amd64_integration: + + - integration: + name: << matrix.arch >>_integration + matrix: + <<: *matrix-default requires: - - mac_amd64_build + - << matrix.arch >>_build filters: - branches: - ignore: - - /rel\/.*/ - - /hotfix\/.*/ - - mac_amd64_integration_nightly: + <<: *filters-default + + - integration_nightly: + name: << matrix.arch >>_integration_nightly + matrix: + <<: *matrix-default requires: - - mac_amd64_build + - << matrix.arch >>_build filters: - branches: - only: - - /rel\/.*/ - - /hotfix\/.*/ + <<: *filters-nightly context: slack-secrets - - mac_amd64_e2e_subs: + + - e2e_expect: + name: << matrix.arch >>_e2e_expect + matrix: + <<: *matrix-default requires: - - mac_amd64_build + - << matrix.arch >>_build filters: - branches: - ignore: - - /rel\/.*/ - - /hotfix\/.*/ - - mac_amd64_e2e_subs_nightly: + <<: *filters-default + + - e2e_expect_nightly: + name: << matrix.arch >>_e2e_expect_nightly + matrix: + <<: *matrix-default requires: - - mac_amd64_build + - << matrix.arch >>_build filters: - branches: - only: - - /rel\/.*/ - - /hotfix\/.*/ + <<: *filters-nightly context: slack-secrets - - mac_amd64_e2e_expect: + + - e2e_subs: + name: << matrix.arch >>_e2e_subs + matrix: + <<: *matrix-default requires: - - mac_amd64_build + - << matrix.arch >>_build filters: - branches: - ignore: - - /rel\/.*/ - - /hotfix\/.*/ - - mac_amd64_e2e_expect_nightly: + <<: *filters-default + + - e2e_subs_nightly: + name: << matrix.arch >>_e2e_subs_nightly + matrix: + <<: *matrix-default requires: - - mac_amd64_build + - << matrix.arch >>_build filters: - branches: - only: - - /rel\/.*/ - - /hotfix\/.*/ + <<: *filters-nightly context: slack-secrets + - tests_verification_job: - name: << matrix.job_type >>_<< matrix.job_version >>_verification + name: << matrix.platform >>_<< matrix.job_type >>_verification matrix: parameters: - job_type: ["amd64", "arm64", "mac_amd64"] - job_version: ["test", "test_nightly", "integration", "integration_nightly", "e2e_expect", "e2e_expect_nightly"] + platform: ["amd64", "arm64", "mac_amd64"] + job_type: ["test", "test_nightly", "integration", "integration_nightly", "e2e_expect", "e2e_expect_nightly"] requires: - - << matrix.job_type >>_<< matrix.job_version >> + - << matrix.platform >>_<< matrix.job_type >> + #- windows_x64_build commands: prepare_go: description: Clean out existing Go so we can use our preferred version - parameters: - circleci_home: - type: string - default: "/home/circleci" steps: - run: | - sudo rm -rf << parameters.circleci_home >>/.go_workspace /usr/local/go + sudo rm -rf ${HOME}/.go_workspace /usr/local/go prepare_windows: description: Prepare windows image - parameters: - circleci_home: - type: string - default: "/home/circleci" steps: - run: name: install deps @@ -261,9 +172,9 @@ commands: generic_build: description: Run basic build and store in workspace for re-use by different architectures parameters: - circleci_home: + build_dir: type: string - default: "/home/circleci" + default: "/cibuild" steps: - restore_libsodium - restore_cache: @@ -275,21 +186,21 @@ commands: - run: name: scripts/travis/build.sh --make_debug command: | - export PATH=$(echo "$PATH" | sed -e 's|:<< parameters.circleci_home >>/\.go_workspace/bin||g' | sed -e 's|:/usr/local/go/bin||g') - export GOPATH="<< parameters.circleci_home >>/go" + export PATH=$(echo "$PATH" | sed -e "s|:${HOME}/\.go_workspace/bin||g' | sed -e 's|:/usr/local/go/bin||g') + export GOPATH="<< parameters.build_dir >>/go" export ALGORAND_DEADLOCK=enable scripts/travis/build.sh --make_debug - cache_libsodium - save_cache: key: 'go-mod-1-14-7-v1-{{ arch }}-{{ checksum "go.mod" }}-{{ checksum "go.sum" }}' paths: - - << parameters.circleci_home >>/go/pkg/mod + - << parameters.build_dir >>/go/pkg/mod - save_cache: key: 'go-cache-{{ .Environment.CIRCLE_STAGE }}-{{ .Environment.CIRCLE_BUILD_NUM }}' paths: - tmp/go-cache - persist_to_workspace: - root: << parameters.circleci_home >> + root: << parameters.build_dir >> paths: - project - go @@ -321,12 +232,12 @@ commands: keys: - 'libsodium-fork-{{ .Environment.CIRCLE_STAGE }}-{{ checksum "tmp/libsodium.md5" }}' - generic_buildtest: + generic_test: description: Run build tests from build workspace, for re-use by diferent architectures parameters: - circleci_home: + build_dir: type: string - default: "/home/circleci" + default: "/cibuild" result_subdir: type: string no_output_timeout: @@ -340,7 +251,7 @@ commands: default: "/tmp/results" steps: - attach_workspace: - at: << parameters.circleci_home >> + at: << parameters.build_dir >> - run: mkdir -p << parameters.result_path >>/<< parameters.result_subdir >>/$CIRCLE_NODE_INDEX - restore_cache: keys: @@ -351,12 +262,14 @@ commands: command: | set -e set -x - export PATH=$(echo "$PATH" | sed -e 's|:<< parameters.circleci_home >>/\.go_workspace/bin||g' | sed -e 's|:/usr/local/go/bin||g') + export PATH=$(echo "$PATH" | sed -e "s|:${HOME}/\.go_workspace/bin||g" | sed -e 's|:/usr/local/go/bin||g') export KMD_NOUSB=True - export GOPATH="<< parameters.circleci_home >>/go" + export GOPATH="<< parameters.build_dir >>/go" export PATH="${PATH}:${GOPATH}/bin" export ALGORAND_DEADLOCK=enable GOLANG_VERSION=$(./scripts/get_golang_version.sh) + GIMME_ENV_PREFIX=<< parameters.build_dir >>/.gimme/envs + GIMME_VERSION_PREFIX=<< parameters.build_dir >>/.gimme/versions eval "$(~/gimme "${GOLANG_VERSION}")" scripts/configure_dev.sh scripts/buildtools/install_buildtools.sh -o "gotest.tools/gotestsum" @@ -392,9 +305,9 @@ commands: generic_integration: description: Run integration tests from build workspace, for re-use by diferent architectures parameters: - circleci_home: + build_dir: type: string - default: "/home/circleci" + default: "/cibuild" result_subdir: type: string no_output_timeout: @@ -408,20 +321,22 @@ commands: default: "/tmp/results" steps: - attach_workspace: - at: << parameters.circleci_home >> + at: << parameters.build_dir >> - run: mkdir -p << parameters.result_path >>/<< parameters.result_subdir >>/$CIRCLE_NODE_INDEX - run: name: Run integration tests no_output_timeout: << parameters.no_output_timeout >> command: | set -x - export PATH=$(echo "$PATH" | sed -e 's|:<< parameters.circleci_home >>/\.go_workspace/bin||g' | sed -e 's|:/usr/local/go/bin||g') + export PATH=$(echo "$PATH" | sed -e "s|:${HOME}/\.go_workspace/bin||g" | sed -e 's|:/usr/local/go/bin||g') export KMD_NOUSB=True - export GOPATH="<< parameters.circleci_home >>/go" + export GOPATH="<< parameters.build_dir >>/go" export PATH="${PATH}:${GOPATH}/bin" export ALGORAND_DEADLOCK=enable export BUILD_TYPE=integration GOLANG_VERSION=$(./scripts/get_golang_version.sh) + GIMME_ENV_PREFIX=<< parameters.build_dir >>/.gimme/envs + GIMME_VERSION_PREFIX=<< parameters.build_dir >>/.gimme/versions eval "$(~/gimme "${GOLANG_VERSION}")" scripts/configure_dev.sh scripts/buildtools/install_buildtools.sh -o "gotest.tools/gotestsum" @@ -463,9 +378,7 @@ commands: jobs: codegen_verification: - machine: - image: ubuntu-2004:202104-01 - resource_class: medium + executor: amd64_medium steps: - checkout - prepare_go @@ -474,406 +387,132 @@ jobs: export GOPATH="/home/circleci/go" scripts/travis/codegen_verification.sh - amd64_build: - machine: - image: ubuntu-2004:202104-01 - resource_class: medium + build: + parameters: + platform: + type: string + executor: << parameters.platform >>_medium steps: - checkout - prepare_go - generic_build - amd64_test: - machine: - image: ubuntu-2004:202104-01 - resource_class: medium + test: + parameters: + platform: + type: string + executor: << parameters.platform >>_medium parallelism: 4 steps: - prepare_go - - generic_buildtest: - result_subdir: amd64_test + - generic_test: + result_subdir: << parameters.platform >>_test short_test_flag: "-short" - upload_coverage - amd64_test_nightly: - machine: - image: ubuntu-2004:202104-01 - resource_class: medium + test_nightly: + parameters: + platform: + type: string + executor: << parameters.platform >>_medium parallelism: 4 steps: - prepare_go - - generic_buildtest: - result_subdir: amd64_test_nightly + - generic_test: + result_subdir: << parameters.platform >>_test_nightly no_output_timeout: 45m - upload_coverage - - slack/notify: - event: fail - template: basic_fail_1 - - amd64_integration: - machine: - image: ubuntu-2004:202104-01 - resource_class: medium - parallelism: 4 - environment: - E2E_TEST_FILTER: "GO" - steps: - - prepare_go - - generic_integration: - result_subdir: amd64_integration - short_test_flag: "-short" - - amd64_integration_nightly: - machine: - image: ubuntu-2004:202104-01 - resource_class: medium - parallelism: 4 - environment: - E2E_TEST_FILTER: "GO" - steps: - - prepare_go - - generic_integration: - result_subdir: amd64_integration_nightly - no_output_timeout: 45m - - slack/notify: - event: fail - template: basic_fail_1 - - amd64_e2e_subs: - machine: - image: ubuntu-2004:202104-01 - resource_class: large - environment: - E2E_TEST_FILTER: "SCRIPTS" - steps: - - prepare_go - - generic_integration: - result_subdir: amd64_e2e_subs - short_test_flag: "-short" - - amd64_e2e_subs_nightly: - machine: - image: ubuntu-2004:202104-01 - resource_class: large - environment: - E2E_TEST_FILTER: "SCRIPTS" - steps: - - prepare_go - - generic_integration: - result_subdir: amd64_e2e_subs_nightly - no_output_timeout: 45m - - slack/notify: + - slack/notify: &slack-fail-event event: fail template: basic_fail_1 - amd64_e2e_expect: - machine: - image: ubuntu-2004:202104-01 - resource_class: medium - parallelism: 2 - environment: - E2E_TEST_FILTER: "EXPECT" - steps: - - prepare_go - - generic_integration: - result_subdir: amd64_e2e_expect - short_test_flag: "-short" - - amd64_e2e_expect_nightly: - machine: - image: ubuntu-2004:202104-01 - resource_class: medium + integration: + parameters: + platform: + type: string + executor: << parameters.platform >>_medium parallelism: 2 - environment: - E2E_TEST_FILTER: "EXPECT" - steps: - - prepare_go - - generic_integration: - result_subdir: amd64_e2e_expect_nightly - no_output_timeout: 45m - - slack/notify: - event: fail - template: basic_fail_1 - - arm64_build: - machine: - image: ubuntu-2004:202101-01 - resource_class: arm.medium - steps: - - checkout - - prepare_go - - generic_build - - arm64_test: - machine: - image: ubuntu-2004:202101-01 - resource_class: arm.medium - parallelism: 4 - steps: - - checkout - - prepare_go - - generic_buildtest: - result_subdir: arm64_test - short_test_flag: "-short" - - upload_coverage - - arm64_test_nightly: - machine: - image: ubuntu-2004:202101-01 - resource_class: arm.medium - parallelism: 4 - steps: - - checkout - - prepare_go - - generic_buildtest: - result_subdir: arm64_test_nightly - no_output_timeout: 45m - - upload_coverage - - slack/notify: - event: fail - template: basic_fail_1 - - arm64_integration: - machine: - image: ubuntu-2004:202101-01 - resource_class: arm.medium - parallelism: 4 environment: E2E_TEST_FILTER: "GO" steps: - - checkout - prepare_go - generic_integration: - result_subdir: arm64_integration + result_subdir: << parameters.platform >>_integration short_test_flag: "-short" - arm64_integration_nightly: - machine: - image: ubuntu-2004:202101-01 - resource_class: arm.medium - parallelism: 4 + integration_nightly: + parameters: + platform: + type: string + executor: << parameters.platform >>_medium + parallelism: 2 environment: E2E_TEST_FILTER: "GO" steps: - - checkout - prepare_go - generic_integration: - result_subdir: arm64_integration_nightly + result_subdir: << parameters.platform >>_integration_nightly no_output_timeout: 45m - slack/notify: - event: fail - template: basic_fail_1 + <<: *slack-fail-event - arm64_e2e_subs: - machine: - image: ubuntu-2004:202101-01 - resource_class: arm.large - environment: - E2E_TEST_FILTER: "SCRIPTS" - steps: - - checkout - - prepare_go - - generic_integration: - result_subdir: arm64_e2e_subs - short_test_flag: "-short" - - arm64_e2e_subs_nightly: - machine: - image: ubuntu-2004:202101-01 - resource_class: arm.large - environment: - E2E_TEST_FILTER: "SCRIPTS" - steps: - - checkout - - prepare_go - - generic_integration: - result_subdir: arm64_e2e_subs_nightly - no_output_timeout: 45m - - slack/notify: - event: fail - template: basic_fail_1 - - arm64_e2e_expect: - machine: - image: ubuntu-2004:202101-01 - resource_class: arm.medium + e2e_expect: + parameters: + platform: + type: string + executor: << parameters.platform >>_medium parallelism: 2 environment: E2E_TEST_FILTER: "EXPECT" steps: - - checkout - prepare_go - generic_integration: - result_subdir: arm64_e2e_expect + result_subdir: << parameters.platform >>_e2e_expect short_test_flag: "-short" - arm64_e2e_expect_nightly: - machine: - image: ubuntu-2004:202101-01 - resource_class: arm.medium + e2e_expect_nightly: + parameters: + platform: + type: string + executor: << parameters.platform >>_medium parallelism: 2 environment: E2E_TEST_FILTER: "EXPECT" steps: - - checkout - - prepare_go - - generic_integration: - result_subdir: arm64_e2e_expect_nightly - no_output_timeout: 45m - - slack/notify: - event: fail - template: basic_fail_1 - - mac_amd64_build: - macos: - xcode: 12.0.1 - resource_class: medium - environment: - HOMEBREW_NO_AUTO_UPDATE: "true" - steps: - #- run: git -C /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core fetch --unshallow - - checkout - - prepare_go - - generic_build: - circleci_home: /Users/distiller - - mac_amd64_test: - macos: - xcode: 12.0.1 - resource_class: medium - environment: - HOMEBREW_NO_AUTO_UPDATE: "true" - parallelism: 4 - steps: - #- run: git -C /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core fetch --unshallow - - prepare_go - - generic_buildtest: - result_subdir: mac_amd64_test - circleci_home: /Users/distiller - short_test_flag: "-short" - - upload_coverage - - mac_amd64_test_nightly: - macos: - xcode: 12.0.1 - resource_class: medium - environment: - HOMEBREW_NO_AUTO_UPDATE: "true" - parallelism: 4 - steps: - #- run: git -C /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core fetch --unshallow - - prepare_go - - generic_buildtest: - result_subdir: mac_amd64_test_nightly - circleci_home: /Users/distiller - no_output_timeout: 45m - - upload_coverage - - slack/notify: - event: fail - template: basic_fail_1 - - mac_amd64_integration: - macos: - xcode: 12.0.1 - resource_class: medium - parallelism: 4 - environment: - E2E_TEST_FILTER: "GO" - HOMEBREW_NO_AUTO_UPDATE: "true" - steps: - #- run: git -C /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core fetch --unshallow - prepare_go - generic_integration: - result_subdir: mac_amd64_integration - circleci_home: /Users/distiller - short_test_flag: "-short" - - mac_amd64_integration_nightly: - macos: - xcode: 12.0.1 - resource_class: medium - parallelism: 4 - environment: - E2E_TEST_FILTER: "GO" - HOMEBREW_NO_AUTO_UPDATE: "true" - steps: - #- run: git -C /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core fetch --unshallow - - prepare_go - - generic_integration: - result_subdir: mac_amd64_integration_nightly - circleci_home: /Users/distiller + result_subdir: << parameters.platform>>_e2e_expect_nightly no_output_timeout: 45m - slack/notify: - event: fail - template: basic_fail_1 + <<: *slack-fail-event - mac_amd64_e2e_subs: - macos: - xcode: 12.0.1 - resource_class: large + e2e_subs: + parameters: + platform: + type: string + executor: << parameters.platform >>_large environment: E2E_TEST_FILTER: "SCRIPTS" - HOMEBREW_NO_AUTO_UPDATE: "true" steps: - #- run: git -C /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core fetch --unshallow - prepare_go - generic_integration: - result_subdir: mac_amd64_e2e_subs - circleci_home: /Users/distiller + result_subdir: << parameters.platform >>_e2e_subs short_test_flag: "-short" - mac_amd64_e2e_subs_nightly: - macos: - xcode: 12.0.1 - resource_class: large + e2e_subs_nightly: + parameters: + platform: + type: string + executor: << parameters.platform >>_large environment: E2E_TEST_FILTER: "SCRIPTS" - HOMEBREW_NO_AUTO_UPDATE: "true" steps: - #- run: git -C /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core fetch --unshallow - prepare_go - generic_integration: - result_subdir: mac_amd64_e2e_subs_nightly - circleci_home: /Users/distiller + result_subdir: << parameters.platform >>_e2e_subs_nightly no_output_timeout: 45m - slack/notify: - event: fail - template: basic_fail_1 - - mac_amd64_e2e_expect: - macos: - xcode: 12.0.1 - resource_class: medium - parallelism: 2 - environment: - E2E_TEST_FILTER: "EXPECT" - HOMEBREW_NO_AUTO_UPDATE: "true" - steps: - #- run: git -C /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core fetch --unshallow - - prepare_go - - generic_integration: - result_subdir: mac_amd64_e2e_expect - circleci_home: /Users/distiller - short_test_flag: "-short" - - mac_amd64_e2e_expect_nightly: - macos: - xcode: 12.0.1 - resource_class: medium - parallelism: 2 - environment: - E2E_TEST_FILTER: "EXPECT" - HOMEBREW_NO_AUTO_UPDATE: "true" - steps: - #- run: git -C /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core fetch --unshallow - - prepare_go - - generic_integration: - result_subdir: mac_amd64_e2e_expect_nightly - circleci_home: /Users/distiller - no_output_timeout: 45m - - slack/notify: - event: fail - template: basic_fail_1 + <<: *slack-fail-event windows_x64_build: executor: @@ -893,16 +532,17 @@ jobs: export MAKE=mingw32-make $msys2 scripts/travis/build_test.sh shell: bash.exe + tests_verification_job: docker: - image: python:3.9.6-alpine resource_class: small parameters: - job_type: # job_type: ["amd64", "arm64", "mac_amd64"] + platform: # platform: ["amd64", "arm64", "mac_amd64"] type: string - job_version: # job_version: ["test", "test_nightly", "integration", "integration_nightly", "e2e_expect", "e2e_expect_nightly"] + job_type: # job_type: ["test", "test_nightly", "integration", "integration_nightly", "e2e_expect", "e2e_expect_nightly"] type: string steps: - checkout - tests_verification_command: - result_subdir: << parameters.job_type >>_<< parameters.job_version >> + result_subdir: << parameters.platform >>_<< parameters.job_type >> From ccab14d10ae6241c94a481ec273020634483c960 Mon Sep 17 00:00:00 2001 From: chris erway Date: Wed, 8 Sep 2021 16:53:57 -0400 Subject: [PATCH 02/11] use matrix.platform instead of matrix.arch --- .circleci/config.yml | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 860675087e..7887ac5498 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -48,17 +48,17 @@ workflows: - codegen_verification - build: - name: << matrix.arch >>_build + name: << matrix.platform >>_build matrix: &matrix-default parameters: platform: ["amd64", "arm64", "mac_amd64"] - test: - name: << matrix.arch >>_test + name: << matrix.platform >>_test matrix: <<: *matrix-default requires: - - << matrix.arch >>_build + - << matrix.platform >>_build filters: &filters-default branches: ignore: @@ -66,11 +66,11 @@ workflows: - /hotfix\/.*/ - test_nightly: - name: << matrix.arch >>_test_nightly + name: << matrix.platform >>_test_nightly matrix: <<: *matrix-default requires: - - << matrix.arch >>_build + - << matrix.platform >>_build filters: &filters-nightly branches: only: @@ -79,58 +79,58 @@ workflows: context: slack-secrets - integration: - name: << matrix.arch >>_integration + name: << matrix.platform >>_integration matrix: <<: *matrix-default requires: - - << matrix.arch >>_build + - << matrix.platform >>_build filters: <<: *filters-default - integration_nightly: - name: << matrix.arch >>_integration_nightly + name: << matrix.platform >>_integration_nightly matrix: <<: *matrix-default requires: - - << matrix.arch >>_build + - << matrix.platform >>_build filters: <<: *filters-nightly context: slack-secrets - e2e_expect: - name: << matrix.arch >>_e2e_expect + name: << matrix.platform >>_e2e_expect matrix: <<: *matrix-default requires: - - << matrix.arch >>_build + - << matrix.platform >>_build filters: <<: *filters-default - e2e_expect_nightly: - name: << matrix.arch >>_e2e_expect_nightly + name: << matrix.platform >>_e2e_expect_nightly matrix: <<: *matrix-default requires: - - << matrix.arch >>_build + - << matrix.platform >>_build filters: <<: *filters-nightly context: slack-secrets - e2e_subs: - name: << matrix.arch >>_e2e_subs + name: << matrix.platform >>_e2e_subs matrix: <<: *matrix-default requires: - - << matrix.arch >>_build + - << matrix.platform >>_build filters: <<: *filters-default - e2e_subs_nightly: - name: << matrix.arch >>_e2e_subs_nightly + name: << matrix.platform >>_e2e_subs_nightly matrix: <<: *matrix-default requires: - - << matrix.arch >>_build + - << matrix.platform >>_build filters: <<: *filters-nightly context: slack-secrets From c75b2cb56344e85db8f1ec7f35f0a67d4b779a99 Mon Sep 17 00:00:00 2001 From: chris erway Date: Wed, 8 Sep 2021 17:00:59 -0400 Subject: [PATCH 03/11] chown working_directory in CircleCI jobs --- .circleci/config.yml | 33 +++++++++++++++++++++++++++------ 1 file changed, 27 insertions(+), 6 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 7887ac5498..98a8224c38 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -10,34 +10,28 @@ executors: machine: image: ubuntu-2004:202104-01 resource_class: medium - working_directory: /cibuild amd64_large: machine: image: ubuntu-2004:202104-01 resource_class: large - working_directory: /cibuild arm64_medium: machine: image: ubuntu-2004:202101-01 resource_class: arm.medium - working_directory: /cibuild arm64_large: machine: image: ubuntu-2004:202101-01 resource_class: arm.large - working_directory: /cibuild mac_amd64_medium: macos: xcode: 12.0.1 resource_class: medium - working_directory: /cibuild environment: HOMEBREW_NO_AUTO_UPDATE: "true" mac_amd64_large: macos: xcode: 12.0.1 resource_class: large - working_directory: /cibuild environment: HOMEBREW_NO_AUTO_UPDATE: "true" @@ -152,6 +146,15 @@ commands: steps: - run: | sudo rm -rf ${HOME}/.go_workspace /usr/local/go + prepare_build_dir: + description: Set up build directory + parameters: + build_dir: + type: string + default: "/cibuild" + steps: + - run: | + sudo chown -R $USER:$USER << parameters.build_dir >> prepare_windows: description: Prepare windows image steps: @@ -392,7 +395,9 @@ jobs: platform: type: string executor: << parameters.platform >>_medium + working_directory: /cibuild steps: + - prepare_build_dir - checkout - prepare_go - generic_build @@ -402,8 +407,10 @@ jobs: platform: type: string executor: << parameters.platform >>_medium + working_directory: /cibuild parallelism: 4 steps: + - prepare_build_dir - prepare_go - generic_test: result_subdir: << parameters.platform >>_test @@ -415,8 +422,10 @@ jobs: platform: type: string executor: << parameters.platform >>_medium + working_directory: /cibuild parallelism: 4 steps: + - prepare_build_dir - prepare_go - generic_test: result_subdir: << parameters.platform >>_test_nightly @@ -431,10 +440,12 @@ jobs: platform: type: string executor: << parameters.platform >>_medium + working_directory: /cibuild parallelism: 2 environment: E2E_TEST_FILTER: "GO" steps: + - prepare_build_dir - prepare_go - generic_integration: result_subdir: << parameters.platform >>_integration @@ -445,10 +456,12 @@ jobs: platform: type: string executor: << parameters.platform >>_medium + working_directory: /cibuild parallelism: 2 environment: E2E_TEST_FILTER: "GO" steps: + - prepare_build_dir - prepare_go - generic_integration: result_subdir: << parameters.platform >>_integration_nightly @@ -461,10 +474,12 @@ jobs: platform: type: string executor: << parameters.platform >>_medium + working_directory: /cibuild parallelism: 2 environment: E2E_TEST_FILTER: "EXPECT" steps: + - prepare_build_dir - prepare_go - generic_integration: result_subdir: << parameters.platform >>_e2e_expect @@ -475,10 +490,12 @@ jobs: platform: type: string executor: << parameters.platform >>_medium + working_directory: /cibuild parallelism: 2 environment: E2E_TEST_FILTER: "EXPECT" steps: + - prepare_build_dir - prepare_go - generic_integration: result_subdir: << parameters.platform>>_e2e_expect_nightly @@ -491,9 +508,11 @@ jobs: platform: type: string executor: << parameters.platform >>_large + working_directory: /cibuild environment: E2E_TEST_FILTER: "SCRIPTS" steps: + - prepare_build_dir - prepare_go - generic_integration: result_subdir: << parameters.platform >>_e2e_subs @@ -504,9 +523,11 @@ jobs: platform: type: string executor: << parameters.platform >>_large + working_directory: /cibuild environment: E2E_TEST_FILTER: "SCRIPTS" steps: + - prepare_build_dir - prepare_go - generic_integration: result_subdir: << parameters.platform >>_e2e_subs_nightly From f0e537586bc78238d2d0fa95aa2b5b5547a1292a Mon Sep 17 00:00:00 2001 From: chris erway Date: Wed, 8 Sep 2021 17:08:12 -0400 Subject: [PATCH 04/11] make working_directory before jobs run --- .circleci/config.yml | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 98a8224c38..58fe9a9f26 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -153,8 +153,11 @@ commands: type: string default: "/cibuild" steps: - - run: | - sudo chown -R $USER:$USER << parameters.build_dir >> + - run: + working_directory: /tmp + command: | + sudo mkdir -p << parameters.build_dir >> + sudo chown -R $USER:$USER << parameters.build_dir >> prepare_windows: description: Prepare windows image steps: From df53ed21d21edea76d0798d670e4b92f77279558 Mon Sep 17 00:00:00 2001 From: chris erway Date: Wed, 8 Sep 2021 17:14:48 -0400 Subject: [PATCH 05/11] switch to /opt/cibuild --- .circleci/config.yml | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 58fe9a9f26..af7ef03929 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -151,7 +151,7 @@ commands: parameters: build_dir: type: string - default: "/cibuild" + default: "/opt/cibuild" steps: - run: working_directory: /tmp @@ -180,7 +180,7 @@ commands: parameters: build_dir: type: string - default: "/cibuild" + default: "/opt/cibuild" steps: - restore_libsodium - restore_cache: @@ -192,7 +192,7 @@ commands: - run: name: scripts/travis/build.sh --make_debug command: | - export PATH=$(echo "$PATH" | sed -e "s|:${HOME}/\.go_workspace/bin||g' | sed -e 's|:/usr/local/go/bin||g') + export PATH=$(echo "$PATH" | sed -e "s|:${HOME}/\.go_workspace/bin||g" | sed -e 's|:/usr/local/go/bin||g') export GOPATH="<< parameters.build_dir >>/go" export ALGORAND_DEADLOCK=enable scripts/travis/build.sh --make_debug @@ -243,7 +243,7 @@ commands: parameters: build_dir: type: string - default: "/cibuild" + default: "/opt/cibuild" result_subdir: type: string no_output_timeout: @@ -313,7 +313,7 @@ commands: parameters: build_dir: type: string - default: "/cibuild" + default: "/opt/cibuild" result_subdir: type: string no_output_timeout: @@ -398,7 +398,7 @@ jobs: platform: type: string executor: << parameters.platform >>_medium - working_directory: /cibuild + working_directory: /opt/cibuild steps: - prepare_build_dir - checkout @@ -410,7 +410,7 @@ jobs: platform: type: string executor: << parameters.platform >>_medium - working_directory: /cibuild + working_directory: /opt/cibuild parallelism: 4 steps: - prepare_build_dir @@ -425,7 +425,7 @@ jobs: platform: type: string executor: << parameters.platform >>_medium - working_directory: /cibuild + working_directory: /opt/cibuild parallelism: 4 steps: - prepare_build_dir @@ -443,7 +443,7 @@ jobs: platform: type: string executor: << parameters.platform >>_medium - working_directory: /cibuild + working_directory: /opt/cibuild parallelism: 2 environment: E2E_TEST_FILTER: "GO" @@ -459,7 +459,7 @@ jobs: platform: type: string executor: << parameters.platform >>_medium - working_directory: /cibuild + working_directory: /opt/cibuild parallelism: 2 environment: E2E_TEST_FILTER: "GO" @@ -477,7 +477,7 @@ jobs: platform: type: string executor: << parameters.platform >>_medium - working_directory: /cibuild + working_directory: /opt/cibuild parallelism: 2 environment: E2E_TEST_FILTER: "EXPECT" @@ -493,7 +493,7 @@ jobs: platform: type: string executor: << parameters.platform >>_medium - working_directory: /cibuild + working_directory: /opt/cibuild parallelism: 2 environment: E2E_TEST_FILTER: "EXPECT" @@ -511,7 +511,7 @@ jobs: platform: type: string executor: << parameters.platform >>_large - working_directory: /cibuild + working_directory: /opt/cibuild environment: E2E_TEST_FILTER: "SCRIPTS" steps: @@ -526,7 +526,7 @@ jobs: platform: type: string executor: << parameters.platform >>_large - working_directory: /cibuild + working_directory: /opt/cibuild environment: E2E_TEST_FILTER: "SCRIPTS" steps: From 475c2721b7bc0bb722b912f64dbf30f34450904e Mon Sep 17 00:00:00 2001 From: chris erway Date: Wed, 8 Sep 2021 17:16:18 -0400 Subject: [PATCH 06/11] switch to /opt/cibuild --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index af7ef03929..1e91da7ce0 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -157,7 +157,7 @@ commands: working_directory: /tmp command: | sudo mkdir -p << parameters.build_dir >> - sudo chown -R $USER:$USER << parameters.build_dir >> + sudo chown -R $USER:$GROUP << parameters.build_dir >> prepare_windows: description: Prepare windows image steps: From 4677548d56829bf0dfdb89b110c1c9fd9ec167a6 Mon Sep 17 00:00:00 2001 From: chris erway Date: Wed, 8 Sep 2021 17:27:14 -0400 Subject: [PATCH 07/11] bump all cache keys --- .circleci/config.yml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 1e91da7ce0..a3a12d49f3 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -185,10 +185,10 @@ commands: - restore_libsodium - restore_cache: keys: - - 'go-mod-1-14-7-v1-{{ arch }}-{{ checksum "go.mod" }}-{{ checksum "go.sum" }}' + - 'go-mod-1-14-7-v2-{{ arch }}-{{ checksum "go.mod" }}-{{ checksum "go.sum" }}' - restore_cache: keys: - - 'go-cache-{{ .Environment.CIRCLE_STAGE }}-' + - 'go-cache-v2-{{ .Environment.CIRCLE_STAGE }}-' - run: name: scripts/travis/build.sh --make_debug command: | @@ -198,11 +198,11 @@ commands: scripts/travis/build.sh --make_debug - cache_libsodium - save_cache: - key: 'go-mod-1-14-7-v1-{{ arch }}-{{ checksum "go.mod" }}-{{ checksum "go.sum" }}' + key: 'go-mod-1-14-7-v2-{{ arch }}-{{ checksum "go.mod" }}-{{ checksum "go.sum" }}' paths: - << parameters.build_dir >>/go/pkg/mod - save_cache: - key: 'go-cache-{{ .Environment.CIRCLE_STAGE }}-{{ .Environment.CIRCLE_BUILD_NUM }}' + key: 'go-cache-v2-{{ .Environment.CIRCLE_STAGE }}-{{ .Environment.CIRCLE_BUILD_NUM }}' paths: - tmp/go-cache - persist_to_workspace: @@ -222,7 +222,7 @@ commands: mkdir -p tmp find crypto/libsodium-fork -type f -exec openssl md5 "{}" + > tmp/libsodium.md5 - save_cache: - key: 'libsodium-fork-{{ .Environment.CIRCLE_STAGE }}-{{ checksum "tmp/libsodium.md5" }}' + key: 'libsodium-fork-v2-{{ .Environment.CIRCLE_STAGE }}-{{ checksum "tmp/libsodium.md5" }}' paths: - crypto/libs @@ -236,7 +236,7 @@ commands: find crypto/libsodium-fork -type f -exec openssl md5 "{}" + > tmp/libsodium.md5 - restore_cache: keys: - - 'libsodium-fork-{{ .Environment.CIRCLE_STAGE }}-{{ checksum "tmp/libsodium.md5" }}' + - 'libsodium-fork-v2-{{ .Environment.CIRCLE_STAGE }}-{{ checksum "tmp/libsodium.md5" }}' generic_test: description: Run build tests from build workspace, for re-use by diferent architectures @@ -261,7 +261,7 @@ commands: - run: mkdir -p << parameters.result_path >>/<< parameters.result_subdir >>/$CIRCLE_NODE_INDEX - restore_cache: keys: - - 'go-cache-{{ .Environment.CIRCLE_STAGE }}-' + - 'go-cache-v2-{{ .Environment.CIRCLE_STAGE }}-' - run: name: Run build tests no_output_timeout: << parameters.no_output_timeout >> @@ -295,7 +295,7 @@ commands: paths: - << parameters.result_subdir >> - save_cache: - key: 'go-cache-{{ .Environment.CIRCLE_STAGE }}-{{ .Environment.CIRCLE_BUILD_NUM }}' + key: 'go-cache-v2-{{ .Environment.CIRCLE_STAGE }}-{{ .Environment.CIRCLE_BUILD_NUM }}' paths: - tmp/go-cache From 794ec4a14eb0e4f1e45d07f0ab111156bf7bf7d0 Mon Sep 17 00:00:00 2001 From: chris erway Date: Wed, 8 Sep 2021 22:44:26 -0400 Subject: [PATCH 08/11] add GIMME_ENV_PREFIX before build.sh --- .circleci/config.yml | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index a3a12d49f3..a3f4c67ab5 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -195,6 +195,8 @@ commands: export PATH=$(echo "$PATH" | sed -e "s|:${HOME}/\.go_workspace/bin||g" | sed -e 's|:/usr/local/go/bin||g') export GOPATH="<< parameters.build_dir >>/go" export ALGORAND_DEADLOCK=enable + export GIMME_ENV_PREFIX=<< parameters.build_dir >>/.gimme/envs + export GIMME_VERSION_PREFIX=<< parameters.build_dir >>/.gimme/versions scripts/travis/build.sh --make_debug - cache_libsodium - save_cache: @@ -273,9 +275,9 @@ commands: export GOPATH="<< parameters.build_dir >>/go" export PATH="${PATH}:${GOPATH}/bin" export ALGORAND_DEADLOCK=enable + export GIMME_ENV_PREFIX=<< parameters.build_dir >>/.gimme/envs + export GIMME_VERSION_PREFIX=<< parameters.build_dir >>/.gimme/versions GOLANG_VERSION=$(./scripts/get_golang_version.sh) - GIMME_ENV_PREFIX=<< parameters.build_dir >>/.gimme/envs - GIMME_VERSION_PREFIX=<< parameters.build_dir >>/.gimme/versions eval "$(~/gimme "${GOLANG_VERSION}")" scripts/configure_dev.sh scripts/buildtools/install_buildtools.sh -o "gotest.tools/gotestsum" @@ -340,9 +342,9 @@ commands: export PATH="${PATH}:${GOPATH}/bin" export ALGORAND_DEADLOCK=enable export BUILD_TYPE=integration + export GIMME_ENV_PREFIX=<< parameters.build_dir >>/.gimme/envs + export GIMME_VERSION_PREFIX=<< parameters.build_dir >>/.gimme/versions GOLANG_VERSION=$(./scripts/get_golang_version.sh) - GIMME_ENV_PREFIX=<< parameters.build_dir >>/.gimme/envs - GIMME_VERSION_PREFIX=<< parameters.build_dir >>/.gimme/versions eval "$(~/gimme "${GOLANG_VERSION}")" scripts/configure_dev.sh scripts/buildtools/install_buildtools.sh -o "gotest.tools/gotestsum" From f3a7e15982a0bdd619935e5a2c2f5ad43988299b Mon Sep 17 00:00:00 2001 From: chris erway Date: Wed, 8 Sep 2021 23:09:51 -0400 Subject: [PATCH 09/11] update working_directory to project --- .circleci/config.yml | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index a3f4c67ab5..3220e5eaaf 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -400,7 +400,7 @@ jobs: platform: type: string executor: << parameters.platform >>_medium - working_directory: /opt/cibuild + working_directory: /opt/cibuild/project steps: - prepare_build_dir - checkout @@ -412,7 +412,7 @@ jobs: platform: type: string executor: << parameters.platform >>_medium - working_directory: /opt/cibuild + working_directory: /opt/cibuild/project parallelism: 4 steps: - prepare_build_dir @@ -427,7 +427,7 @@ jobs: platform: type: string executor: << parameters.platform >>_medium - working_directory: /opt/cibuild + working_directory: /opt/cibuild/project parallelism: 4 steps: - prepare_build_dir @@ -445,7 +445,7 @@ jobs: platform: type: string executor: << parameters.platform >>_medium - working_directory: /opt/cibuild + working_directory: /opt/cibuild/project parallelism: 2 environment: E2E_TEST_FILTER: "GO" @@ -461,7 +461,7 @@ jobs: platform: type: string executor: << parameters.platform >>_medium - working_directory: /opt/cibuild + working_directory: /opt/cibuild/project parallelism: 2 environment: E2E_TEST_FILTER: "GO" @@ -479,7 +479,7 @@ jobs: platform: type: string executor: << parameters.platform >>_medium - working_directory: /opt/cibuild + working_directory: /opt/cibuild/project parallelism: 2 environment: E2E_TEST_FILTER: "EXPECT" @@ -495,7 +495,7 @@ jobs: platform: type: string executor: << parameters.platform >>_medium - working_directory: /opt/cibuild + working_directory: /opt/cibuild/project parallelism: 2 environment: E2E_TEST_FILTER: "EXPECT" @@ -513,7 +513,7 @@ jobs: platform: type: string executor: << parameters.platform >>_large - working_directory: /opt/cibuild + working_directory: /opt/cibuild/project environment: E2E_TEST_FILTER: "SCRIPTS" steps: @@ -528,7 +528,7 @@ jobs: platform: type: string executor: << parameters.platform >>_large - working_directory: /opt/cibuild + working_directory: /opt/cibuild/project environment: E2E_TEST_FILTER: "SCRIPTS" steps: From badd182fc56f14de1a1b2801d86662e8e811384c Mon Sep 17 00:00:00 2001 From: chris erway Date: Thu, 9 Sep 2021 10:33:12 -0400 Subject: [PATCH 10/11] configure GIMME_INSTALL_DIR --- .circleci/config.yml | 1 + scripts/travis/build.sh | 7 ++++--- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 3220e5eaaf..79fd6d1962 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -195,6 +195,7 @@ commands: export PATH=$(echo "$PATH" | sed -e "s|:${HOME}/\.go_workspace/bin||g" | sed -e 's|:/usr/local/go/bin||g') export GOPATH="<< parameters.build_dir >>/go" export ALGORAND_DEADLOCK=enable + export GIMME_INSTALL_DIR=<< parameters.build_dir >> export GIMME_ENV_PREFIX=<< parameters.build_dir >>/.gimme/envs export GIMME_VERSION_PREFIX=<< parameters.build_dir >>/.gimme/versions scripts/travis/build.sh --make_debug diff --git a/scripts/travis/build.sh b/scripts/travis/build.sh index 8603416094..3087f63d75 100755 --- a/scripts/travis/build.sh +++ b/scripts/travis/build.sh @@ -46,9 +46,10 @@ ARCH=$("${SCRIPTPATH}/../archtype.sh") # Get the go build version. if [ -z "${SKIP_GO_INSTALLATION}" ]; then GOLANG_VERSION=$(./scripts/get_golang_version.sh) - curl -sL -o ~/gimme https://raw.githubusercontent.com/travis-ci/gimme/master/gimme - chmod +x ~/gimme - eval "$(~/gimme "${GOLANG_VERSION}")" + GIMME_PATH="${GIMME_INSTALL_DIR:-${HOME}}/gimme" + curl -sL -o "${GIMME_PATH}" https://raw.githubusercontent.com/travis-ci/gimme/master/gimme + chmod +x "${GIMME_PATH}" + eval "$("${GIMME_PATH}" "${GOLANG_VERSION}")" fi # travis sometimes fail to download a dependency. trying multiple times might help. From c3254b24b72fc26bb04fece15023017e172c2236 Mon Sep 17 00:00:00 2001 From: chris erway Date: Thu, 9 Sep 2021 11:39:43 -0400 Subject: [PATCH 11/11] fix invocation of gimme in tests --- .circleci/config.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 79fd6d1962..675393cd53 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -279,7 +279,7 @@ commands: export GIMME_ENV_PREFIX=<< parameters.build_dir >>/.gimme/envs export GIMME_VERSION_PREFIX=<< parameters.build_dir >>/.gimme/versions GOLANG_VERSION=$(./scripts/get_golang_version.sh) - eval "$(~/gimme "${GOLANG_VERSION}")" + eval "$(<< parameters.build_dir >>/gimme "${GOLANG_VERSION}")" scripts/configure_dev.sh scripts/buildtools/install_buildtools.sh -o "gotest.tools/gotestsum" PACKAGES="$(go list ./... | grep -v /go-algorand/test/)" @@ -346,7 +346,7 @@ commands: export GIMME_ENV_PREFIX=<< parameters.build_dir >>/.gimme/envs export GIMME_VERSION_PREFIX=<< parameters.build_dir >>/.gimme/versions GOLANG_VERSION=$(./scripts/get_golang_version.sh) - eval "$(~/gimme "${GOLANG_VERSION}")" + eval "$(<< parameters.build_dir >>/gimme "${GOLANG_VERSION}")" scripts/configure_dev.sh scripts/buildtools/install_buildtools.sh -o "gotest.tools/gotestsum" export ALGOTEST=1