Commit Graph

26 Commits

Author SHA1 Message Date
5827fd03c8 CircleCI: Increase no-output timeout to 15 minutes for vendoring
Vendoring can take some time, depending on network-speed, so
reduce flakiness by increasing the default timeout, to prevent:

    make[1]: Entering directory '/go/src/github.com/docker/cli'
    rm -rf vendor
    bash -c 'vndr |& grep -v -i clone'
    2019/03/18 11:38:26 Collecting initial packages
    Too long with no output (exceeded 10m0s)

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
(cherry picked from commit dba90e4999)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
Upstream-commit: 90fa621791
Component: cli
2019-03-30 00:45:35 +01:00
69d2858460 Do not patch Dockerfiles in CI
When building the Dockerfiles for development, those images are mainly used to
create a reproducible build-environment. The source code is bind-mounted into
the image at runtime; there is no need to create an image with the actual
source code, and copying the source code into the image would lead to a new
image being created for each code-change (possibly leading up to many "dangling"
images for previous code-changes).

However, when building (and using) the development images in CI, bind-mounting
is not an option, because the daemon is running remotely.

To make this work, the circle-ci script patched the Dockerfiles when CI is run;
adding a `COPY` to the respective Dockerfiles.

Patching Dockerfiles is not really a "best practice" and, even though the source
code does not and up in the image, the source would still be _sent_ to the daemon
for each build (unless BuildKit is used).

This patch updates the makefiles, circle-ci script, and Dockerfiles;

- When building the Dockerfiles locally, pipe the Dockerfile through stdin.
  Doing so, prevents the build-context from being sent to the daemon. This speeds
  up the build, and doesn't fill up the Docker "temp" directory with content that's
  not used
- Now that no content is sent, add the COPY instructions to the Dockerfiles, and
  remove the code in the circle-ci script to "live patch" the Dockerfiles.

Before this patch is applied (with cache):

```
$ time make -f docker.Makefile build_shell_validate_image
docker build -t docker-cli-shell-validate -f ./dockerfiles/Dockerfile.shellcheck .
Sending build context to Docker daemon     41MB
Step 1/2 : FROM    debian:stretch-slim
...
Successfully built 81e14e8ad856
Successfully tagged docker-cli-shell-validate:latest

2.75 real         0.45 user         0.56 sys
```

After this patch is applied (with cache)::

```
$ time make -f docker.Makefile build_shell_validate_image
cat ./dockerfiles/Dockerfile.shellcheck | docker build -t docker-cli-shell-validate -
Sending build context to Docker daemon  2.048kB
Step 1/2 : FROM    debian:stretch-slim
...
Successfully built 81e14e8ad856
Successfully tagged docker-cli-shell-validate:latest

0.33 real         0.07 user         0.08 sys
```

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
(cherry picked from commit 166856ab1b)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
Upstream-commit: 8997667aa2
Component: cli
2019-03-26 14:26:01 +01:00
3980327921 Configure CircleCI remote daemon to use version 18.03.1
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
Upstream-commit: 13eb2aa125
Component: cli
2018-07-13 11:51:41 +02:00
92fa05c733 Update CircleCI Docker version to 18.03
17.06 has reached EOL a long time ago; let's use a current
version in CI as well :D

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
Upstream-commit: e2a56c47da
Component: cli
2018-07-13 11:26:07 +02:00
b4e14f104b Set DISABLE_WARN_OUTSIDE_CONTAINER in the Dockerfile so that we don't spend 10s sleeping in CI
also add time to validate check

Signed-off-by: Daniel Nephin <dnephin@docker.com>
Upstream-commit: 058733969c
Component: cli
2017-08-15 14:34:43 -04:00
750260f43f Ignore codecov upload failures in CI.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
Upstream-commit: 4e09dba068
Component: cli
2017-08-15 14:34:43 -04:00
29e4b6071d Cleanup dockerfiles and circle
Signed-off-by: Daniel Nephin <dnephin@docker.com>
Upstream-commit: 0f91d9e6c4
Component: cli
2017-07-18 12:22:28 -04:00
cbcb37cde8 Update dockerfile path for CicleCI build
Signed-off-by: Jean-Pierre Huynh <jean-pierre.huynh@ounet.fr>
Upstream-commit: 501cf0e6d1
Component: cli
2017-07-13 22:24:08 +01:00
a61c7f009e Add shellcheck for bash completion
Signed-off-by: Jean-Pierre Huynh <jean-pierre.huynh@ounet.fr>
Upstream-commit: b2fc35aefa
Component: cli
2017-07-13 22:24:08 +01:00
5f5ef4ba5a Add parallelism to cross build
Reusable docker engine

Signed-off-by: Daniel Nephin <dnephin@docker.com>
Upstream-commit: 1eb66d60bd
Component: cli
2017-07-05 15:23:32 -04:00
797b9c7a2d Use an image with git and ssh for circleCI
Signed-off-by: Daniel Nephin <dnephin@docker.com>
Upstream-commit: 74c1388f66
Component: cli
2017-06-22 19:51:36 -04:00
ad6108e6a5 Try out circleci workflow
Signed-off-by: Daniel Nephin <dnephin@docker.com>
Upstream-commit: 75aebdd463
Component: cli
2017-06-15 12:38:40 -07:00
1bcf02da4f Run docs and man generation in CI
Also cleanup the scripts a bit to be more consistent, and fail on errors.

Signed-off-by: Daniel Nephin <dnephin@docker.com>
Upstream-commit: 343d836a95
Component: cli
2017-06-14 14:59:48 -07:00
10e0cc84e6 Merge pull request #157 from dnephin/make-compose-check-fail
Fix check-git-diff in CI
Upstream-commit: 8545341709
Component: cli
2017-06-12 17:15:35 -07:00
1a30bcfcf2 Add a docker version print to CI
Signed-off-by: Daniel Nephin <dnephin@docker.com>
Upstream-commit: cda8281da8
Component: cli
2017-06-09 15:54:09 -04:00
3b7dc655ab Fix check-git-diff so that it fails on CI
Signed-off-by: Daniel Nephin <dnephin@docker.com>
Upstream-commit: f75a44ffd8
Component: cli
2017-06-06 15:06:34 -04:00
f039c950a8 Upload coverage report from outside of test container.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
Upstream-commit: f6d148c632
Component: cli
2017-05-19 17:37:38 -04:00
56d05cc358 Add test-coverage & codecov target and update circleci
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
Upstream-commit: d79d903864
Component: cli
2017-05-19 17:22:37 -04:00
71ca4e1c02 osx cross
Fix CI build

Signed-off-by: Daniel Nephin <dnephin@docker.com>
Upstream-commit: a408fb0a61
Component: cli
2017-05-13 13:47:00 -04:00
4ea068a247 Add check for compose bindata.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
Upstream-commit: ef1d58dd87
Component: cli
2017-05-09 15:42:22 -04:00
0285b89d9b Fix vendor.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
Upstream-commit: aa07c40069
Component: cli
2017-05-08 16:15:54 -04:00
697719d81a Run steps in parallel.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
Upstream-commit: 4aa65d9833
Component: cli
2017-05-08 15:57:56 -04:00
7b959e8107 update circle.yml
- update from docker:17.04 to docker:17.05
- install git and ssh to suppress CircleCI warning

Signed-off-by: Gaetan de Villele <gdevillele@gmail.com>
Upstream-commit: f35682a2f0
Component: cli
2017-05-08 10:25:30 -07:00
cc564a7692 Verify that vendored files are correct
Signed-off-by: Daniel Nephin <dnephin@docker.com>
Upstream-commit: 31851fbe3c
Component: cli
2017-05-02 17:57:32 -04:00
93938768a0 Add gometalinter to CI
Signed-off-by: Daniel Nephin <dnephin@docker.com>
Upstream-commit: e3f677794a
Component: cli
2017-05-02 17:15:56 -04:00
78926d2ac0 add circle ci config file
Signed-off-by: Gaetan de Villele <gdevillele@gmail.com>
Upstream-commit: 6b2a61a311
Component: cli
2017-04-27 14:24:28 -07:00