From ca40bbee41f12ad297baf6e0a2ed886f22a26654 Mon Sep 17 00:00:00 2001 From: Mahmood Ali Date: Mon, 12 Aug 2019 20:19:58 -0400 Subject: [PATCH 1/2] circleci: fix test reports and some refactoring --- .circleci/config.yml | 57 +++++++++++++++++++++++--------------------- 1 file changed, 30 insertions(+), 27 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index aa6e476ce..1cb8404de 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -1,7 +1,12 @@ version: 2.1 references: - GO_VERSION: &GOVERSION 1.12.7 + common_envs: &COMMON_ENVS + GOVERSION: "1.12.7" + GOMAXPROCS: 1 + NOMAD_SLOW_TEST: 1 + GOTESTSUM_JUNITFILE: /tmp/test-reports/results.xml + workflows: build-test: jobs: @@ -85,36 +90,28 @@ jobs: type: string default: "" environment: + <<: *COMMON_ENVS GOTEST_PKGS: "<< parameters.test_packages >>" GOTEST_PKGS_EXCLUDE: "<< parameters.exclude_packages >>" GOPATH: /go - GOTESTSUM_JUNITFILE: /tmp/results.xml - GOMAXPROCS: 1 - NOMAD_SLOW_TEST: 1 steps: - checkout - run-tests - store_test_results: - path: /tmp + path: /tmp/test-reports + - store_artifacts: + path: /tmp/test-reports test-rkt: executor: go-machine environment: + <<: *COMMON_ENVS GOTEST_PKGS: "./drivers/rkt" - GOTESTSUM_JUNITFILE: /tmp/results.xml GOPATH: /home/circleci/go - GOVERSION: *GOVERSION - GOMAXPROCS: 1 - NOMAD_SLOW_TEST: 1 RKT_VERSION: 1.29.0 steps: - checkout - - run: - name: install go - command: | - sudo rm -rf /usr/local/go - wget https://dl.google.com/go/go$GOVERSION.linux-amd64.tar.gz - sudo tar -C /usr/local -xzf go$GOVERSION.linux-amd64.tar.gz + - install-golang - install-protoc - run: name: install rkt @@ -127,7 +124,9 @@ jobs: - run: PATH="$GOPATH/bin:/usr/local/go/bin:$PATH" make bootstrap - run-tests - store_test_results: - path: /tmp + path: /tmp/test-reports + - store_artifacts: + path: /tmp/test-reports test-machine: executor: go-machine @@ -139,28 +138,22 @@ jobs: type: string default: "" environment: + <<: *COMMON_ENVS GOTEST_PKGS_EXCLUDE: "<< parameters.exclude_packages >>" GOTEST_PKGS: "<< parameters.test_packages >>" - GOTESTSUM_JUNITFILE: /tmp/results.xml GOPATH: /home/circleci/go - GOVERSION: *GOVERSION - GOMAXPROCS: 1 - NOMAD_SLOW_TEST: 1 steps: - checkout - - run: - name: install go - command: | - sudo rm -rf /usr/local/go - wget https://dl.google.com/go/go$GOVERSION.linux-amd64.tar.gz - sudo tar -C /usr/local -xzf go$GOVERSION.linux-amd64.tar.gz + - install-golang - install-protoc - install-consul - install-vault - run: PATH="$GOPATH/bin:/usr/local/go/bin:$PATH" make bootstrap - run-tests - store_test_results: - path: /tmp + path: /tmp/test-reports + - store_artifacts: + path: /tmp/test-reports build-website: # setting the working_directory along with the checkout path allows us to not have @@ -195,6 +188,15 @@ jobs: command: ./scripts/deploy.sh commands: + install-golang: + steps: + - run: + name: install golang + command: | + sudo rm -rf /usr/local/go + wget https://dl.google.com/go/go$GOVERSION.linux-amd64.tar.gz + sudo tar -C /usr/local -xzf go$GOVERSION.linux-amd64.tar.gz + install-vault: parameters: version: @@ -241,5 +243,6 @@ commands: unset GOTEST_PKGS fi + mkdir -p /tmp/test-reports sudo -E PATH="$GOPATH/bin:/usr/local/go/bin:$PATH" make generate-structs sudo -E PATH="$GOPATH/bin:/usr/local/go/bin:$PATH" make test-nomad From 3f891ed9b598179e4ff0bd341a22dba728e82f05 Mon Sep 17 00:00:00 2001 From: Mahmood Ali Date: Tue, 13 Aug 2019 09:22:47 -0400 Subject: [PATCH 2/2] parameterize golang version --- .circleci/config.yml | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 1cb8404de..851ebcda0 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -2,7 +2,6 @@ version: 2.1 references: common_envs: &COMMON_ENVS - GOVERSION: "1.12.7" GOMAXPROCS: 1 NOMAD_SLOW_TEST: 1 GOTESTSUM_JUNITFILE: /tmp/test-reports/results.xml @@ -189,13 +188,18 @@ jobs: commands: install-golang: + parameters: + version: + type: string + default: "1.12.7" steps: - run: - name: install golang + name: install golang << parameters.version >> command: | sudo rm -rf /usr/local/go - wget https://dl.google.com/go/go$GOVERSION.linux-amd64.tar.gz - sudo tar -C /usr/local -xzf go$GOVERSION.linux-amd64.tar.gz + wget -q -O /tmp/golang.tar.gz https://dl.google.com/go/go<< parameters.version >>.linux-amd64.tar.gz + sudo tar -C /usr/local -xzf /tmp/golang.tar.gz + rm -rf /tmp/golang.tar.gz install-vault: parameters: @@ -206,9 +210,9 @@ commands: - run: name: Install Vault << parameters.version >> command: | - wget -q -O /tmp/vault.zip https://releases.hashicorp.com/vault/<< parameters.version >>/vault_<< parameters.version>>_linux_amd64.zip \ - && sudo unzip -d /usr/local/bin /tmp/vault.zip \ - && rm -rf /tmp/vault* + wget -q -O /tmp/vault.zip https://releases.hashicorp.com/vault/<< parameters.version >>/vault_<< parameters.version>>_linux_amd64.zip + sudo unzip -d /usr/local/bin /tmp/vault.zip + rm -rf /tmp/vault* install-consul: parameters: @@ -219,9 +223,9 @@ commands: - run: name: Install Consul << parameters.version >> command: | - wget -q -O /tmp/consul.zip https://releases.hashicorp.com/consul/<< parameters.version >>/consul_<< parameters.version >>_linux_amd64.zip \ - && sudo unzip -d /usr/local/bin /tmp/consul.zip \ - && rm -rf /tmp/consul* + wget -q -O /tmp/consul.zip https://releases.hashicorp.com/consul/<< parameters.version >>/consul_<< parameters.version >>_linux_amd64.zip + sudo unzip -d /usr/local/bin /tmp/consul.zip + rm -rf /tmp/consul* install-protoc: steps: