diff --git a/.circleci/config.yml b/.circleci/config.yml index f7575912..982e0cc6 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -1,21 +1,51 @@ ---- +# This configuration was automatically generated from a CircleCI 1.0 config. +# It should include any build commands you had along with commands that CircleCI +# inferred from your project structure. We strongly recommend you read all the +# comments in this file to understand the structure of CircleCI 2.0, as the idiom +# for configuration has changed substantially in 2.0 to allow arbitrary jobs rather +# than the prescribed lifecycle of 1.0. In general, we recommend using this generated +# configuration as a reference rather than using it in production, though in most +# cases it should duplicate the execution of your original 1.0 config. version: 2 jobs: build: working_directory: ~/18F/cg-dashboard parallelism: 1 shell: /bin/bash --login + # CircleCI 2.0 does not support environment variables that refer to each other the same way as 1.0 did. + # If any of these refer to each other, rewrite them so that they don't or see https://circleci.com/docs/2.0/env-vars/#interpolating-environment-variables-to-set-other-environment-variables . environment: CIRCLE_ARTIFACTS: /tmp/circleci-artifacts CIRCLE_TEST_REPORTS: /tmp/circleci-test-results GODIST: go1.9.linux-amd64.tar.gz WS: /home/ubuntu/.go_workspace/src/github.com/18F/cg-dashboard CF_ORGANIZATION: cloud-gov + # In CircleCI 1.0 we used a pre-configured image with a large number of languages and other packages. + # In CircleCI 2.0 you can now specify your own image, or use one of our pre-configured images. + # The following configuration line tells CircleCI to use the specified docker image as the runtime environment for you job. + # We have selected a pre-built image that mirrors the build environment we use on + # the 1.0 platform, but we recommend you choose an image more tailored to the needs + # of each job. For more information on choosing an image (or alternatively using a + # VM instead of a container) see https://circleci.com/docs/2.0/executor-types/ + # To see the list of pre-built images that CircleCI provides for most common languages see + # https://circleci.com/docs/2.0/circleci-images/ docker: - - image: circleci/golang:1.9.7-stretch-node-browsers + - image: circleci/build-image:ubuntu-14.04-XXL-upstart-1189-5614f37 + command: /sbin/init steps: + # Machine Setup + # If you break your build into multiple jobs with workflows, you will probably want to do the parts of this that are relevant in each + # The following `checkout` command checks out your code to your working directory. In 1.0 we did this implicitly. In 2.0 you can choose where in the course of a job your code should be checked out. - checkout - - run: mkdir -p $CIRCLE_ARTIFACTS $CIRCLE_TEST_REPORTS + # Prepare for artifact and test results collection equivalent to how it was done on 1.0. + # In many cases you can simplify this from what is generated here. + # 'See docs on artifact collection here https://circleci.com/docs/2.0/artifacts/' + - run: mkdir -p $CIRCLE_ARTIFACTS $CIRCLE_TEST_REPORTS + # This is based on your 1.0 configuration file or project settings + - run: + working_directory: ~/18F/cg-dashboard + command: 'sudo docker info >/dev/null 2>&1 || sudo service docker start; ' + # This is based on your 1.0 configuration file or project settings - run: working_directory: ~/18F/cg-dashboard command: nvm install && nvm use && nvm alias default $(cat .nvmrc) @@ -30,7 +60,7 @@ jobs: command: sudo rm -rf /usr/local/go - run: working_directory: ~/18F/cg-dashboard - command: sudo tar -C /usr/local -xzf download/$GODIST + command: sudo tar -C /usr/local -xzf download/$GODIST # Dependencies # This would typically go in either a build or a build-and-test job when using workflows # Restore the dependency cache @@ -42,6 +72,7 @@ jobs: - v1-dep-master- # Any branch if there are none on the default branch - this should be unnecessary if you have your default branch configured correctly - v1-dep- + # This is based on your 1.0 configuration file or project settings - run: sudo apt-get update; sudo apt-get install libicu52 - run: go version - run: go get -u github.com/golang/dep/cmd/dep