Commit graph

495 commits

Author SHA1 Message Date
Sebastiaan van Stijn
e5058ff15c Merge pull request #29947 from vdemeester/integration-some-runCommandWithOutput-clean
[test-integration] clean some runCommandWithOutput
2017-01-10 15:56:42 +01:00
Vincent Demeester
303b1d200a
Update trustedCmd to be compatible with testutil/cmd
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2017-01-09 11:07:05 +01:00
Tonis Tiigi
e160860054 Fix workdir cache invalidation
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2017-01-06 12:10:59 -08:00
John Howard
528a5fd2ba Windows: Enable TestBuildWorkdirImageCmd
Signed-off-by: John Howard <jhoward@microsoft.com>
2017-01-04 15:33:40 -08:00
Vincent Demeester
bc19388fb2
Updates some integration tests to fix userns builds
- `TestRunMountReadOnlyDevShm` and `TestRunHostnameInHostMode` needs
  `NotUserNamespace` requirement as these are known limitation of
  userns.
- `TestBuildWorkdirCmd` should use a preload image (`busybox`) instead
  of one that require network access.

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2017-01-02 19:13:26 +01:00
Sebastiaan van Stijn
ed689c48b0 Merge pull request #29799 from vdemeester/integration-registry-package
[test-integration] Add a registry package with registry v1/v2 code
2017-01-02 15:37:09 +01:00
Vincent Demeester
4300e5e881
Add a registry package with registry v1/v2 code
This extract what was in registry_test.go and
registry_mock_test.go. This also move `RegistryHosting`
requirement to `registry.Hosting`

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2017-01-02 11:03:53 +01:00
Vincent Demeester
33968e6c7d
Remove pkg/integration and move it to testutil or integration-cli
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2016-12-30 18:26:34 +01:00
Sebastiaan van Stijn
021710fcdf Merge pull request #29371 from vdemeester/clean-integration-utils
[test-integration] Clean utils.go from most of its content
2016-12-29 09:28:46 +01:00
Vincent Demeester
def13fa23c
Clean integration-cli/utils.go from most of its content
Most of the code is now on pkg/integration.

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2016-12-28 19:05:48 +01:00
Yong Tang
0836023847 Fix image's CMD after WORKDIR in Dockerfile
This fix tries to fix 29667 where image's `CMD` is modified
after `WORKDIR` in Dockerfile.

The value of `b.runConfig.Cmd` was modified in the processing
of `WORKDIR`, in order to fix 28902. However, the same
`b.runConfig.Cmd` is passed to `commit()`.

This fix restored the `b.runConfig.Cmd` before `commit()`
the image for `WORKDIR`.

A test has been added.

This fix fixes 29667.

This fix is related to 28902, 28909, 28514.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-12-26 20:43:29 -08:00
Doug Davis
cdb8ea90b0 Fix processing of unset build-args during build
This reverts 26103.  26103 was trying to make it so that if someone did:
  docker build --build-arg FOO .
and FOO wasn't set as an env var then it would pick-up FOO from the
Dockerfile's ARG cmd.  However, it went too far and removed the ability
to specify a build arg w/o any value. Meaning it required the --build-arg
param to always be in the form "name=value", and not just "name".

This PR does the right fix - it allows just "name" and it'll grab the value
from the env vars if set. If "name" isn't set in the env then it still needs
to send "name" to the server so that a warning can be printed about an
unused --build-arg. And this is why buildArgs in the options is now a
*string instead of just a string - 'nil' == mentioned but no value.

Closes #29084

Signed-off-by: Doug Davis <dug@us.ibm.com>
2016-12-07 07:41:55 -08:00
Vincent Demeester
6e0666e622
Revert "Fix dockerfile parser with empty line after escape"
This reverts commit 3e1b539e8d.

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2016-12-02 14:15:55 +01:00
John Howard
49f392ff6b Windows: Builder case insensitive env
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-11-28 10:30:45 -08:00
John Howard
286ab6d69b COPY file . after WORKDIR (now always created)
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-11-23 09:56:02 -08:00
Alexander Morozov
0a5a41a438 Merge pull request #28415 from Microsoft/jjh/builduser
Windows: Allow `USER` in builder
2016-11-17 10:32:56 -08:00
John Howard
7e03ce3f13 Windows: Revert 27884
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-11-16 13:38:45 -08:00
John Howard
a3c4ab9b65 Windows: Allow user in builder
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-11-14 14:10:47 -08:00
Derek McGowan
64b43ed5ec
Use naive diff for overlay2 when opaque copy up bug present
When running on a kernel which is not patched for the copy up bug
overlay2 will use the naive diff driver.

Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
2016-11-09 13:42:10 -08:00
Doug Davis
eaf0b5708f Fix case where \\ at EOF made the builder ignore the command
Came from looking at issue #27545

Signed-off-by: Doug Davis <dug@us.ibm.com>
2016-11-03 05:48:49 -07:00
Michael Crosby
22f3e43e9a Merge pull request #22641 from cpuguy83/build_finalization
Adds ability to flatten image after build
2016-11-01 14:30:18 -07:00
Brian Goff
362369b4bb Adds ability to squash image after build
Allow built images to be squash to scratch.
Squashing does not destroy any images or layers, and preserves the
build cache.

Introduce a new CLI argument --squash to docker build
Introduce a new param to the build API endpoint `squash`

Once the build is complete, docker creates a new image loading the diffs
from each layer into a single new layer and references all the parent's
layers.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2016-11-01 13:41:59 -04:00
Addam Hardy
f150f42009 Convert Unused ARG error to warning
Signed-off-by: Addam Hardy <addam.hardy@gmail.com>
2016-10-31 21:42:50 -05:00
John Howard
f0b93b6ed8 Windows: Fix COPY file . after WORKDIR
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-10-30 13:12:27 -07:00
Sebastiaan van Stijn
c5adc271b2 Merge pull request #24725 from yongtang/24693-dockerfile-empty-line-after-escape
Fix dockerfile parser with empty line after escape
2016-10-28 13:53:15 -07:00
Vincent Demeester
9e206b5512 Merge pull request #27805 from Microsoft/jjh/fixbuildercache
Windows: Fix builder cache bug
2016-10-28 02:49:40 +02:00
John Howard
4f3889e4be Windows: Fix builder cache bug
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-10-27 12:27:30 -07:00
Yong Tang
3e1b539e8d Fix dockerfile parser with empty line after escape
This fix tries to fix the bug reported by #24693 where an empty
line after escape will not be stopped by the parser.

This fix addresses this issue by stop the parser from continue
with an empty line after escape.

An additional integration test has been added.

This fix fixes #24693.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-10-27 10:43:08 -07:00
Sebastiaan van Stijn
62ff3e9083 Merge pull request #27702 from tonistiigi/net-builder0
add --network option for docker build
2016-10-25 21:50:33 -07:00
Tonis Tiigi
e3b48fca0d Add integration tests for build with network opts
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-10-25 10:25:42 -07:00
John Howard
9127818414 Windows: Honour escape directive fully
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-10-21 14:22:14 -07:00
Akihiro Suda
bb17d1fabb [test] fix failure of TestBuildLabelsOverride on Windows
TestBuildLabelsOverride was consistently failing due to "Windows does not support FROM scratch" error

Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2016-10-16 11:05:31 +00:00
Sebastiaan van Stijn
6f54d70a54 Merge pull request #27174 from duglin/Issue26027
Don't env-var evaluate labels from docker build cmd line
2016-10-14 20:57:41 -07:00
Darren Stahl
6482410c9d Enabled more test on Windows, API and Build
Signed-off-by: Darren Stahl <darst@microsoft.com>
2016-10-06 17:18:42 -07:00
Darren Stahl
443d7313f5 Enable more build tests on Windows
Signed-off-by: Darren Stahl <darst@microsoft.com>
2016-10-06 00:53:30 -07:00
Doug Davis
28a9a7deb0 Don't env-var evaluate labels from docker build cmd line
Fixes #26027

Signed-off-by: Doug Davis <dug@us.ibm.com>
2016-10-05 18:17:02 -07:00
Doug Davis
105bc63295 Require continuation char to be last char in a line
While look at #27039 I noticed that we allow for whitespace after
the continuation char (\\) which is wrong. It needs to be the very
last char in the line.

Signed-off-by: Doug Davis <dug@us.ibm.com>
2016-10-04 09:38:00 -07:00
Akihiro Suda
7fb7a477d7 [nit] integration-cli: obey Go's naming convention
No substantial code change.

 - Api         --> API
 - Cli         --> CLI
 - Http, Https --> HTTP, HTTPS
 - Id          --> ID
 - Uid,Gid,Pid --> UID,PID,PID
 - Ipam        --> IPAM
 - Tls         --> TLS (TestDaemonNoTlsCliTlsVerifyWithEnv --> TestDaemonTLSVerifyIssue13964)

Didn't touch in this commit:
 - Git: because it is officially "Git": https://git-scm.com/
 - Tar: because it is officially "Tar": https://www.gnu.org/software/tar/
 - Cpu, Nat, Mac, Ipc, Shm: for keeping a consistency with existing production code (not changable, for compatibility)

Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2016-09-30 01:21:05 +00:00
Tonis Tiigi
4b8e680bcc Add integration test for build —cache-from
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-09-23 11:30:34 -07:00
Vincent Demeester
72f556a9ff Merge pull request #26516 from yongtang/26453-build-bad-syntax
Check bad syntax on dockerfile before building.
2016-09-23 12:24:20 +02:00
John Howard
34fe27f153 Windows: Remove hard coded base image
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-09-22 09:57:35 -07:00
John Howard
b52c3ec4a4 Windows: Remove interim build hacks from tests
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-09-21 11:11:13 -07:00
John Howard
39f5d97cde Merge pull request #26553 from darrenstahlmsft/FixWildcard
Windows: Fix wildcard expansion after slash in filename
2016-09-14 16:56:35 -07:00
Darren Stahl
309056648c Windows: Fix wildcard expansion after slash in filename
Signed-off-by: Darren Stahl <darst@microsoft.com>
2016-09-14 11:40:57 -07:00
Yong Tang
c8dc2b156a Check bad syntax on dockerfile before building.
This fix tries to address the issue raised in 26453 where bad syntax
on dockerfile is not checked before building, thus user has to wait
before seeing error in dockerfile.

This fix fixes the issue by evaluating all the instructions and check
syntax before dockerfile is invoked actually.

All existing tests pass.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-09-13 21:43:10 -07:00
Darren Stahl
e79b0b42f0 Windows: Enable more build tests
Signed-off-by: Darren Stahl <darst@microsoft.com>
2016-09-13 17:43:27 -07:00
Darren Stahl
fdce2a7775 Don't attempt to evaluate drive root on Windows
Signed-off-by: Darren Stahl <darst@microsoft.com>
2016-09-08 13:52:54 -07:00
John Howard
ede6163ec6 Windows CI: Enable some more build tests
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-09-01 16:27:04 -07:00
John Howard
bb4b31585c Windows: Enable multiple cli build tests
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-08-30 09:51:13 -07:00
Daniel Nephin
6e7405ebd4 Fix tests and windows service.
Support args to RunCommand
Fix docker help text test.
Fix for ipv6 tests.
Fix TLSverify option.
Fix TestDaemonDiscoveryBackendConfigReload
Use tempfile for another test.
Restore missing flag.
Fix tests for removal of shlex.

Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-08-25 13:09:36 -04:00