This is all slightly annoying, maybe we should make a file for the CLI for
hyperkit, but this is better and fixes a bug that the test CLI was coming from moby,
and is easier to use with custom builds.
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
- remove remainder of editions code
- add a new check container to run tests without Docker
- switch over `make test` to use new command to build tests
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
Recently com.docker.slirp was renamed.
Please update Docker for Mac before using this script...
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
Make won't evaluate actual dependencies of targets called with
`$(MAKE) -C` if the target file already exists. Marking the
top-level targets `.PHONY` will enable incremental builds.
Signed-off-by: Robb Kistler <robb.kistler@docker.com>
The CI will set `CI_TAG` to the tag name, which will be used for the
uploaded images instead of the git commit ID.
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
The mobylinux/kernel image now has the bzImage (no longer named vmlinuz64)
and a tarball of the files needed for the initrd, ie modules etc.
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
Save some downloading as the user probably has these installed
already; still fall back if not found to downloading from CI.
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
OS X CI endpoints won't need to do a build, the artifacts can be pulled
from mobylinux/media. This requires docker, which may not be available.
- 'get-regextract' make target pulls media without Docker using the
regextract utility, which it will fetch from CI if needed.
- Add initrd-test.img to mobylinux/media image
Addresses #1046
Signed-off-by: Robb Kistler <robb.kistler@docker.com>
This is temporary, it should be under `containers/` just as soon
as we have a manifest setup.
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
- make a `bin/` directory
- make hyperkit-test pass, as it writes to pty so redirect was not working
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
Using docker build is slower and needs lots of Dockerfiles,
while a single image with a careful script can accept any type
of image, either with `-v` to share into `/tmp` for interactive
use (where you need the input and a tty, or by adding a tarball
for cases where there is no login such as running tests, so you
can still use a remote daemon in these cases.
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
Address #954:
- Pull hyperkit and vpnkit binaries from CI
- Use vpnkit instead of vmnet
- Add hyperkit-test test target
Signed-off-by: Robb Kistler <robb.kistler@docker.com>
This is the same as aufs variant, but without AUFS patches. Looks like
GCP may need this, at least initially.
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
- Add back Linux kernel 4.4.x support, only for AUFS at present.
- Add back config options that are different for 4.4 series
See #923 for discussion on whether we need to do this.
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
See `docs/ebpf.md` for how to use. This is built by CI or you can build
manually if you customise the kernel.
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
These headers are needed for defining kernel probes etc, tested with
eBPF. Could also be used for perf, building kernel modules etc. Saved
to the media tarball at present, may add to base image or container.
Also rationalise the paths in the headers tarball a little to match.
Will add an eBPF container using these later.
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
This builds both the standard and AUFS versions of Moby,
and does `make clean` carefully.
- `make ci` for branches (pushes artifacts)
- `make pr` for PRs
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
This seems the best option, although none are great
- build with `make AUFS=1` to build with AUFS support, currently with 4.8 kernel
- default is to build without AUFS support, with 4.9 kernel
This recognises that AUFS supprot is temporary #620 and only there until
we can phase it out on desktop editions, and allow the other editions that
never shipped with AUFS to ship something very close to mainline.
However we do still apply the patches so that the non AUFS branch runs fine on
all platforms, so it can be tested elsewhere.
We may be able to move the kernel versions back in line when 4.9 aufs support is out.
Plan is to shift CI to build both sets of images, and get the Desktop editions to
pick up the aufs set automatically, once this is merged.
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
- this is a raw 1GB filesystem image with syslinux for booting
- built with libguestfs so does not need any privileges
- need not be built on GCE
- there is a target that runs the image in qemu for local tests
Does not yet have a script to upload the image to cloud storage or create image from it.
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
- The scanning process was not ignoring the kernel extraversion before,
so was only sometimes picking up issues.
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
- run test suite under containerd
- in future this should be converted to Go not shell see #860
- test suite is now in its own initrd, can be run on any platform not just qemu
Signed-off-by: Justin Cormack <justin.cormack@docker.com>