github.com/cspotcode/docker-cli@v20.10.0-rc1.0.20201201121459-3faad7acc5b8+incompatible/.circleci/config.yml (about) 1 version: 2 2 3 jobs: 4 5 lint: 6 working_directory: /work 7 docker: [{image: 'docker:19.03-git'}] 8 environment: 9 DOCKER_BUILDKIT: 1 10 steps: 11 - checkout 12 - setup_remote_docker: 13 version: 19.03.12 14 reusable: true 15 exclusive: false 16 - run: 17 name: "Docker version" 18 command: docker version 19 - run: 20 name: "Docker info" 21 command: docker info 22 - run: 23 name: "Shellcheck - build image" 24 command: | 25 docker build --progress=plain -f dockerfiles/Dockerfile.shellcheck --tag cli-validator:$CIRCLE_BUILD_NUM . 26 - run: 27 name: "Shellcheck" 28 command: | 29 docker run --rm cli-validator:$CIRCLE_BUILD_NUM \ 30 make shellcheck 31 - run: 32 name: "Lint - build image" 33 command: | 34 docker build --progress=plain -f dockerfiles/Dockerfile.lint --tag cli-linter:$CIRCLE_BUILD_NUM . 35 - run: 36 name: "Lint" 37 command: | 38 docker run --rm cli-linter:$CIRCLE_BUILD_NUM 39 40 cross: 41 working_directory: /work 42 docker: [{image: 'docker:19.03-git'}] 43 environment: 44 DOCKER_BUILDKIT: 1 45 parallelism: 3 46 steps: 47 - checkout 48 - setup_remote_docker: 49 version: 19.03.12 50 reusable: true 51 exclusive: false 52 - run: 53 name: "Docker version" 54 command: docker version 55 - run: 56 name: "Docker info" 57 command: docker info 58 - run: 59 name: "Cross - build image" 60 command: | 61 docker build --progress=plain -f dockerfiles/Dockerfile.cross --tag cli-builder:$CIRCLE_BUILD_NUM . 62 - run: 63 name: "Cross" 64 command: | 65 name=cross-$CIRCLE_BUILD_NUM-$CIRCLE_NODE_INDEX 66 docker run \ 67 -e CROSS_GROUP=$CIRCLE_NODE_INDEX \ 68 --name $name cli-builder:$CIRCLE_BUILD_NUM \ 69 make cross 70 docker cp \ 71 $name:/go/src/github.com/docker/cli/build \ 72 /work/build 73 - store_artifacts: 74 path: /work/build 75 76 test: 77 working_directory: /work 78 docker: [{image: 'docker:19.03-git'}] 79 environment: 80 DOCKER_BUILDKIT: 1 81 steps: 82 - checkout 83 - setup_remote_docker: 84 version: 19.03.12 85 reusable: true 86 exclusive: false 87 - run: 88 name: "Docker version" 89 command: docker version 90 - run: 91 name: "Docker info" 92 command: docker info 93 - run: 94 name: "Unit Test with Coverage - build image" 95 command: | 96 mkdir -p test-results/unit-tests 97 docker build --progress=plain -f dockerfiles/Dockerfile.dev --tag cli-builder:$CIRCLE_BUILD_NUM . 98 - run: 99 name: "Unit Test with Coverage" 100 command: | 101 docker run \ 102 -e GOTESTSUM_JUNITFILE=/tmp/junit.xml \ 103 --name \ 104 test-$CIRCLE_BUILD_NUM cli-builder:$CIRCLE_BUILD_NUM \ 105 make test-coverage 106 docker cp \ 107 test-$CIRCLE_BUILD_NUM:/tmp/junit.xml \ 108 ./test-results/unit-tests/junit.xml 109 - run: 110 name: "Upload to Codecov" 111 command: | 112 docker cp \ 113 test-$CIRCLE_BUILD_NUM:/go/src/github.com/docker/cli/coverage.txt \ 114 coverage.txt 115 apk add -U bash curl 116 curl -s https://codecov.io/bash | bash || \ 117 echo 'Codecov failed to upload' 118 - store_test_results: 119 path: test-results 120 - store_artifacts: 121 path: test-results 122 123 validate: 124 working_directory: /work 125 docker: [{image: 'docker:19.03-git'}] 126 environment: 127 DOCKER_BUILDKIT: 1 128 steps: 129 - checkout 130 - setup_remote_docker: 131 version: 19.03.12 132 reusable: true 133 exclusive: false 134 - run: 135 name: "Docker version" 136 command: docker version 137 - run: 138 name: "Docker info" 139 command: docker info 140 - run: 141 name: "Validate - build image" 142 command: | 143 rm -f .dockerignore # include .git 144 docker build --progress=plain -f dockerfiles/Dockerfile.dev --tag cli-builder-with-git:$CIRCLE_BUILD_NUM . 145 - run: 146 name: "Validate Vendor, Docs, and Code Generation" 147 command: | 148 docker run --rm cli-builder-with-git:$CIRCLE_BUILD_NUM \ 149 make ci-validate 150 no_output_timeout: 15m 151 152 workflows: 153 version: 2 154 ci: 155 jobs: 156 - lint 157 - cross 158 - test 159 - validate