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