version: 2.1 references: # environment specific references - aim to avoid conflicts go-machine-image: &go_machine_image circleci/classic:201808-01 go-machine-recent-image: &go_machine_recent_image ubuntu-1604:201903-01 go-windows-image: &go_windows_image windows-server-2019-vs2019:stable # common references common_envs: &common_envs GOMAXPROCS: 1 NOMAD_SLOW_TEST: 1 GOTESTSUM_JUNITFILE: /tmp/test-reports/results.xml GOTESTSUM_JSONFILE: /tmp/test-reports/testjsonfile.json # disable implicit git paging. CircleCI runs commands with in a tty # making git assume it's an interactive session. PAGER: cat GIT_PAGER: cat executors: go: working_directory: /go/src/github.com/hashicorp/nomad docker: - image: golang:1.14.3 environment: <<: *common_envs GOPATH: /go go-machine: working_directory: ~/go/src/github.com/hashicorp/nomad machine: image: *go_machine_image environment: &machine_env <<: *common_envs GOPATH: /home/circleci/go GOLANG_VERSION: 1.14.3 # uses a more recent image with unattended upgrades disabled properly # but seems to break docker builds go-machine-recent: working_directory: ~/go/src/github.com/hashicorp/nomad machine: image: *go_machine_recent_image environment: *machine_env go-macos: working_directory: ~/go/src/github.com/hashicorp/nomad macos: xcode: 11.3.1 environment: <<: *common_envs GOPATH: /Users/distiller/go GOLANG_VERSION: 1.14.3 go-windows: machine: image: *go_windows_image resource_class: windows.medium shell: bash --login -eo pipefail working_directory: c:\gopath\src\github.com\hashicorp\nomad environment: GOPATH: c:\gopath GOBIN: c:\gopath\bin GOTESTSUM_PATH: c:\tmp\test-reports GOLANG_VERSION: 1.14.3 GOTESTSUM_VERSION: 0.4.2 VAULT_VERSION: 1.4.1