Commit graph

37295 commits

Author SHA1 Message Date
Tibor Vass
e554fb23c8 Jenkinsfile: reduce time of integration tests by dividing tests into 3 parallel runs
Signed-off-by: Tibor Vass <tibor@docker.com>
2019-08-12 20:41:03 +00:00
Tibor Vass
13df617d4c hack: unmount leftover daemon root folders
Signed-off-by: Tibor Vass <tibor@docker.com>
2019-08-12 20:41:03 +00:00
Tibor Vass
251c8dca28 Jenkinsfile: move static and cross compilation to unit-validate stage
Signed-off-by: Tibor Vass <tibor@docker.com>
2019-08-12 20:41:03 +00:00
Sebastiaan van Stijn
90af4ba5e7
Merge pull request #39714 from thaJeztah/fix_docker_py_deselects
docker-py: skip PullImageTest::test_pull_invalid_platform
2019-08-11 03:36:03 +02:00
Sebastiaan van Stijn
6f5c377ddc
docker-py: skip PullImageTest::test_pull_invalid_platform
and remove `PullImageTest::test_build_invalid_platform` from the list,
which was a copy/paste error in f8cde0b32d

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2019-08-10 13:18:13 +02:00
Sebastiaan van Stijn
901d30b6b4
Merge pull request #39685 from kolyshkin/jenkins-find
Jenkinsfile: avoid errors from find
2019-08-10 13:00:54 +02:00
Kir Kolyshkin
b283dff3ff Jenkinsfile: avoid errors from find
There are many errors like this one:

> 01:39:28.750 find: ‘bundles/test-integration/dbc77018d39a5/root/overlay2/f49953a883daceee60a481dd8e1e37b0f806d309258197d6ba0f6871236d3d47/work/work’: Permission denied

(probably caused by bad permissions)

These directories are not to be looked at when we search for logs, so
let's exclude them. It's not super easy to do in find, here is some
kind of an explanation for find arguments

```
PATTERN ACTION OR PATTERN                           ACTION
-path X -prune -o -type f [AND] (-name A -o name B) -print
```

(here -o means OR, while AND is implicit)

While at it,
 - let the find know we're only looking for files, not directories
 - remove a subshell and || true
 - remove `-name integration.test` (there are no such files)

Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
2019-08-09 15:18:41 -07:00
Tibor Vass
c5c11f9cef
Merge pull request #39709 from thaJeztah/remove_experimental
Jenkinsfile: remove "experimental" stage
2019-08-09 14:48:34 -07:00
Sebastiaan van Stijn
e856b46cfb
Jenkinsfile: remove "experimental" stage
All tests that require experimental either spin up a separate daemon,
or use the main daemon if experimental is enabled.

This patch

- allows enabling "experimental" for stages through an environment variable
- enables experimental by default on all stages, so that some of these tests
  don't have to start a new daemon.
- removes the seaprate "experimental" stage, because it was running exactly
  the same tests as the "janky" stage.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2019-08-09 20:25:54 +02:00
Sebastiaan van Stijn
a43123cab1
Consistently use DOCKER_EXPERIMENTAL=1 instead or =y
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2019-08-09 20:24:00 +02:00
Brian Goff
c2f70da793
Merge pull request #38859 from kolyshkin/journald
Fixes for reading journald logs
2019-08-09 10:22:40 -07:00
Sebastiaan van Stijn
f8cde0b32d
docker-py: deselect broken experimental tests
These tests are fixed upstream, but those fixes are not yet in a
released version.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2019-08-09 18:55:08 +02:00
Sebastiaan van Stijn
4cc9dc73ba
Merge pull request #39703 from ddebroy/fix-39623
Fix regression in handling of NotFound err during startup ENGCORE-929
2019-08-09 14:42:14 +02:00
Deep Debroy
4d5b6260bc Fix regression in handling of NotFound err during startup
Signed-off-by: Deep Debroy <ddebroy@docker.com>
2019-08-08 16:58:52 -07:00
Kirill Kolyshkin
150530564a
Merge pull request #39695 from thaJeztah/fix_copy_on_windows
Builder: fix "COPY --from" to non-existing directory on Windows
2019-08-08 10:25:31 -07:00
Kirill Kolyshkin
838843bbad
Merge pull request #39698 from thaJeztah/fix_windows_integration_pwd
make.ps1: Run-IntegrationTests(): set working directory for test suite
2019-08-08 10:18:26 -07:00
Sebastiaan van Stijn
5858a99267
Builder: fix "COPY --from" to non-existing directory on Windows
This fixes a regression introduced in 6d87f19142,
causing `COPY --from` to fail if the target directory does not exist:

```
FROM mcr.microsoft.com/windows/servercore:ltsc2019 as s1
RUN echo "Hello World" > /hello

FROM mcr.microsoft.com/windows/servercore:ltsc2019
COPY --from=s1 /hello /hello/another/world
```

Would produce an error:

```
Step 4/4 : COPY --from=s1 /hello /hello/another/world
failed to copy files: mkdir \\?: The filename, directory name, or volume label syntax is incorrect.
```

The cause for this was that Go's `os.MkdirAll()` does not support/detect volume GUID paths
(`\\?\Volume{dae8d3ac-b9a1-11e9-88eb-e8554b2ba1db}\hello\another}`), and as a result
attempted to create the volume as a directory (`\\?`), causing it to fail.

This patch replaces `os.MkdirAll()` with our own `system.MkdirAll()` function, which
is capable of detecting GUID volumes.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2019-08-08 16:45:10 +02:00
Sebastiaan van Stijn
097c09eb60
Merge pull request #39679 from jterry75/revendor_go-winio
Update Microsoft/go-winio v0.4.14
2019-08-08 15:07:29 +02:00
Sebastiaan van Stijn
6ae46aeabf
make.ps1: Run-IntegrationTests(): set working directory for test suite
This function changed to the correct working directory before starting the tests
(which is the same as on Linux), however the `ProcessStartInfo` process does
not inherit this working directory, which caused Windows tests to be running
with a different working directory as Linux (causing files used in tests to not
be found).

From the documentation; https://docs.microsoft.com/en-us/dotnet/api/system.diagnostics.processstartinfo.workingdirectory?view=netframework-4.8

> When `UseShellExecute` is `true`, the fully qualified name of the directory that contains
> the process to be started. When the `UseShellExecute` property is `false`, the working
> directory for the process to be started. The default is an empty string (`""`).

This patch sets the `ProcessStartInfo.WorkingDirectory` to the correct working
directory before starting the process.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2019-08-08 13:20:04 +02:00
Sebastiaan van Stijn
e4611b3e07
Merge pull request #39683 from tonistiigi/builder-metadata-timestamps
builder-next: ensure timestamps set for metadata commands
2019-08-08 01:13:34 +02:00
Brian Goff
ae0c0cdffd
Merge pull request #39684 from cpuguy83/test_detector_fix
Improve integration test detector
2019-08-07 13:17:37 -07:00
Kirill Kolyshkin
7a057e7fd2
Merge pull request #39669 from thaJeztah/fix_yamllint_locale
Set locale to fix yamlllint
2019-08-07 12:40:41 -07:00
Akihiro Suda
bf1f5b90f0
Merge pull request #39689 from thaJeztah/devmapper_deadcode
devicemapper: remove some dead / unused code
2019-08-08 03:16:59 +09:00
Kirill Kolyshkin
741ac712b6
Merge pull request #39687 from tonistiigi/update-buildkit
vendor: update buildkit to f5a55a95
2019-08-07 10:22:31 -07:00
Justin Terry (VM)
35fe16b7eb Update Microsoft/go-winio v0.4.14
Signed-off-by: Justin Terry (VM) <juterry@microsoft.com>
2019-08-07 09:36:51 -07:00
Brian Goff
e2b24490e4 Improve integration test detecetor
The "new test" detector in test-integration-flaky was a bit flaky since
it would detect function signatures that are not new tests.

In addition, the test calls `return` outside of a function which is not
allowed.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2019-08-07 08:43:43 -07:00
Sebastiaan van Stijn
13ea237234
devicemapper: remove unused errors
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2019-08-07 12:27:44 +02:00
Sebastiaan van Stijn
5b2f8e9103
devicemapper: remove unused task.setRo()
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2019-08-07 12:25:26 +02:00
Sebastiaan van Stijn
3a4b51ebb8
Merge pull request #39681 from seemethere/only_add_btrfs_when_needed_please
Remove btrfs_noversion build tag, no longer needed
2019-08-07 10:19:56 +02:00
Akihiro Suda
b06e094c9c
Merge pull request #39672 from thaJeztah/fix_zfs_permissions
zfs: fix incorrect permissions (staticcheck)
2019-08-07 13:21:16 +09:00
Tonis Tiigi
c60e53a274 vendor: update buildkit to f5a55a95
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2019-08-06 20:44:32 -07:00
Sebastiaan van Stijn
608f37ffd2
Merge pull request #39627 from zelahi/add-ci-to-contribution-guide
Add ci info to docs
2019-08-07 03:26:57 +02:00
Tonis Tiigi
1a2bd3cf7d builder-next: ensure timestamps set for metadata commands
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2019-08-06 17:42:46 -07:00
Eli Uriegas
e665263b10
daemon: Remove btrfs_noversion build flag
btrfs_noversion was added in d7c37b5a28
for distributions that did not have the `btrfs/version.h` header file.

Seeing how all of the distributions we currently support do have the
`btrfs/version.h` file we should probably just remove this build flag
altogether.

Signed-off-by: Eli Uriegas <eli.uriegas@docker.com>
2019-08-06 22:55:29 +00:00
Yong Tang
ecdb0b2239
Merge pull request #39673 from thaJeztah/fix_client_HTTPClient
fix client.HTTPClient() not returning a copy
2019-08-06 06:33:08 -07:00
Vincent Demeester
2eaf35c67c
Merge pull request #39661 from thaJeztah/jenkinsfile_improvements
Some additional Jenkinsfile improvements
2019-08-06 11:03:03 +02:00
Sebastiaan van Stijn
b5e5cac0f5
Set locale to fix yamlllint
Attempting to fix;

```
21:16:00 Traceback (most recent call last):
21:16:00 File "/usr/local/bin/yamllint", line 11, in <module>
21:16:00 sys.exit(run())
21:16:00 File "/usr/local/lib/python3.5/dist-packages/yamllint/cli.py", line 170, in run
21:16:00 problems = linter.run(f, conf, filepath)
21:16:00 File "/usr/local/lib/python3.5/dist-packages/yamllint/linter.py", line 233, in run
21:16:00 content = input.read()
21:16:00 File "/usr/lib/python3.5/encodings/ascii.py", line 26, in decode
21:16:00 return codecs.ascii_decode(input, self.errors)[0]
21:16:00 UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 123522: ordinal not in range(128)
21:16:00 Build step 'Execute shell' marked build as failure
```

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2019-08-06 01:35:35 +02:00
Sebastiaan van Stijn
73c1dae86d
zfs: fix incorrect permissions (staticcheck)
```
13:06:14 daemon/graphdriver/zfs/zfs.go:57:50: SA9002: file mode '600' evaluates to 01130; did you mean '0600'? (staticcheck)
13:06:14 	file, err := os.OpenFile("/dev/zfs", os.O_RDWR, 600)
```

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2019-08-06 00:46:47 +02:00
Kirill Kolyshkin
86dad145e9
Merge pull request #39635 from thaJeztah/no_install_recommends
Dockerfile: use --no-install-recommends for all stages
2019-08-05 15:46:10 -07:00
Sebastiaan van Stijn
58b0585cd2
fix client.HTTPClient() not returning a copy
```
14:26:43 client/client.go:255:9: SA4001: &*x will be simplified to x. It will not copy x. (staticcheck)
14:26:43 	return &*cli.client
```

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2019-08-06 00:45:45 +02:00
Brian Goff
88d093cbb4
Merge pull request #39653 from thaJeztah/fix_unmount_ipc_ignore_enotexist
Fix "no such file or directory" warning when unmounting IPC mount
2019-08-05 11:51:28 -07:00
Sebastiaan van Stijn
e0b10ddcf6
Merge pull request #39646 from ydcool/master
Cast Dev and Rdev of Stat_t to uint64 for mips
2019-08-05 12:03:20 +02:00
Sebastiaan van Stijn
b0835dd088
Dockerfile: use --no-install-recommends for all stages
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2019-08-05 09:42:51 +02:00
Sebastiaan van Stijn
7449ca395c
Merge pull request #39657 from cpuguy83/test_filter
Add support for setting a test filter
2019-08-03 23:34:01 +02:00
Sebastiaan van Stijn
ad28fec1c9
Jenkinsfile: move docker-py to separate stage
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2019-08-03 21:49:46 +02:00
Sebastiaan van Stijn
1e8ede514e
Jenkinsfile: inline experimental, power, z steps, and split Unit test
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2019-08-03 21:49:43 +02:00
Sebastiaan van Stijn
f411be2072
Jenkinsfile: inline janky steps, and move validate to separate stage
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2019-08-03 21:49:40 +02:00
Sebastiaan van Stijn
47ac8a97de
Jenkinsfile: remove .git mount in stages that don't use it
The .git mount is only needed for the DCO check, and for building
the binaries if `DOCKER_GITCOMMIT` is not set.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2019-08-03 21:49:37 +02:00
Sebastiaan van Stijn
f814e04652
Jenkinsfile: consistent indentation and order of env-vars
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2019-08-03 20:50:01 +02:00
Sebastiaan van Stijn
0634816c0c
Jenkinsfile: remove unused GIT_SHA1 env-var
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2019-08-03 20:49:58 +02:00