github.com/mforkel/docker-ce-i386@v17.12.1-ce-rc2+incompatible/components/cli/circle.yml (about) 1 version: 2 2 3 jobs: 4 5 lint: 6 working_directory: /work 7 docker: [{image: 'docker:17.06-git'}] 8 steps: 9 - checkout 10 - setup_remote_docker: 11 reusable: true 12 exclusive: false 13 - run: 14 command: docker version 15 - run: 16 name: "Lint" 17 command: | 18 dockerfile=dockerfiles/Dockerfile.lint 19 echo "COPY . ." >> $dockerfile 20 docker build -f $dockerfile --tag cli-linter:$CIRCLE_BUILD_NUM . 21 docker run --rm cli-linter:$CIRCLE_BUILD_NUM 22 23 cross: 24 working_directory: /work 25 docker: [{image: 'docker:17.06-git'}] 26 parallelism: 3 27 steps: 28 - checkout 29 - setup_remote_docker: 30 reusable: true 31 exclusive: false 32 - run: 33 name: "Cross" 34 command: | 35 dockerfile=dockerfiles/Dockerfile.cross 36 echo "COPY . ." >> $dockerfile 37 docker build -f $dockerfile --tag cli-builder:$CIRCLE_BUILD_NUM . 38 name=cross-$CIRCLE_BUILD_NUM-$CIRCLE_NODE_INDEX 39 docker run \ 40 -e CROSS_GROUP=$CIRCLE_NODE_INDEX \ 41 --name $name cli-builder:$CIRCLE_BUILD_NUM \ 42 make cross 43 docker cp \ 44 $name:/go/src/github.com/docker/cli/build \ 45 /work/build 46 - store_artifacts: 47 path: /work/build 48 49 test: 50 working_directory: /work 51 docker: [{image: 'docker:17.06-git'}] 52 steps: 53 - checkout 54 - setup_remote_docker: 55 reusable: true 56 exclusive: false 57 - run: 58 name: "Unit Test with Coverage" 59 command: | 60 dockerfile=dockerfiles/Dockerfile.dev 61 echo "COPY . ." >> $dockerfile 62 docker build -f $dockerfile --tag cli-builder:$CIRCLE_BUILD_NUM . 63 docker run --name \ 64 test-$CIRCLE_BUILD_NUM cli-builder:$CIRCLE_BUILD_NUM \ 65 make test-coverage 66 67 - run: 68 name: "Upload to Codecov" 69 command: | 70 docker cp \ 71 test-$CIRCLE_BUILD_NUM:/go/src/github.com/docker/cli/coverage.txt \ 72 coverage.txt 73 apk add -U bash curl 74 curl -s https://codecov.io/bash | bash || \ 75 echo 'Codecov failed to upload' 76 77 validate: 78 working_directory: /work 79 docker: [{image: 'docker:17.06-git'}] 80 steps: 81 - checkout 82 - setup_remote_docker: 83 reusable: true 84 exclusive: false 85 - run: 86 name: "Validate Vendor, Docs, and Code Generation" 87 command: | 88 dockerfile=dockerfiles/Dockerfile.dev 89 echo "COPY . ." >> $dockerfile 90 rm -f .dockerignore # include .git 91 docker build -f $dockerfile --tag cli-builder-with-git:$CIRCLE_BUILD_NUM . 92 docker run --rm cli-builder-with-git:$CIRCLE_BUILD_NUM \ 93 make ci-validate 94 shellcheck: 95 working_directory: /work 96 docker: [{image: 'docker:17.06-git'}] 97 steps: 98 - checkout 99 - setup_remote_docker 100 - run: 101 name: "Run shellcheck" 102 command: | 103 dockerfile=dockerfiles/Dockerfile.shellcheck 104 echo "COPY . ." >> $dockerfile 105 docker build -f $dockerfile --tag cli-validator:$CIRCLE_BUILD_NUM . 106 docker run --rm cli-validator:$CIRCLE_BUILD_NUM \ 107 make shellcheck 108 workflows: 109 version: 2 110 ci: 111 jobs: 112 - lint 113 - cross 114 - test 115 - validate 116 - shellcheck