mirror of
https://github.com/linuxkit/linuxkit.git
synced 2025-07-24 11:25:40 +00:00
Use build container id rather than tagging builds
This means that multiple builds will not conflict, so we can remove the lock from the CI. Also quieter when no errors. Some still left to do, only done the ones used in build and CI initially. Some of the others will be cleaned up anyway later. Signed-off-by: Justin Cormack <justin.cormack@docker.com>
This commit is contained in:
parent
6fb163c2a5
commit
fa19d3259b
7
Makefile
7
Makefile
@ -22,9 +22,10 @@ qemu-iso: Dockerfile.qemuiso alpine/mobylinux-bios.iso
|
|||||||
|
|
||||||
test: Dockerfile.test alpine/initrd.img alpine/kernel/x86_64/vmlinuz64
|
test: Dockerfile.test alpine/initrd.img alpine/kernel/x86_64/vmlinuz64
|
||||||
$(MAKE) -C alpine
|
$(MAKE) -C alpine
|
||||||
tar cf - $^ | docker build -f Dockerfile.test -t mobytest:build -
|
BUILD=$$( tar cf - $^ | docker build -f Dockerfile.test -q - ) && [ -n "$$BUILD" ] && \
|
||||||
touch test.log
|
touch test.log && \
|
||||||
docker run --rm mobytest:build 2>&1 | tee -a test.log
|
docker run --rm $$BUILD 2>&1 | tee -a test.log && \
|
||||||
|
docker rmi --no-prune $$BUILD
|
||||||
@cat test.log | grep -q 'Moby test suite PASSED'
|
@cat test.log | grep -q 'Moby test suite PASSED'
|
||||||
|
|
||||||
TAG=$(shell git rev-parse HEAD)
|
TAG=$(shell git rev-parse HEAD)
|
||||||
|
@ -5,7 +5,7 @@ ETCFILES=$(shell find etc)
|
|||||||
initrd.img: Dockerfile mkinitrd.sh init $(ETCFILES)
|
initrd.img: Dockerfile mkinitrd.sh init $(ETCFILES)
|
||||||
$(MAKE) -C kernel
|
$(MAKE) -C kernel
|
||||||
$(MAKE) -j -C packages
|
$(MAKE) -j -C packages
|
||||||
tar cf - \
|
BUILD=$$( tar cf - \
|
||||||
Dockerfile etc usr init mkinitrd.sh \
|
Dockerfile etc usr init mkinitrd.sh \
|
||||||
-C kernel usr etc sbin lib -C .. \
|
-C kernel usr etc sbin lib -C .. \
|
||||||
-C packages/proxy usr sbin etc -C ../.. \
|
-C packages/proxy usr sbin etc -C ../.. \
|
||||||
@ -30,13 +30,15 @@ initrd.img: Dockerfile mkinitrd.sh init $(ETCFILES)
|
|||||||
-C packages/aws etc -C ../.. \
|
-C packages/aws etc -C ../.. \
|
||||||
-C packages/azure etc -C ../.. \
|
-C packages/azure etc -C ../.. \
|
||||||
| \
|
| \
|
||||||
docker build -t moby-initrd:build -
|
docker build -q - ) && [ -n "$$BUILD" ] && \
|
||||||
docker run --net=none --log-driver=none --rm moby-initrd:build > $@
|
docker run --net=none --log-driver=none --rm $$BUILD > $@ && \
|
||||||
|
docker rmi --no-prune $$BUILD
|
||||||
|
|
||||||
mobylinux-efi.iso: Dockerfile.efi initrd.img kernel/x86_64/vmlinuz64
|
mobylinux-efi.iso: Dockerfile.efi initrd.img kernel/x86_64/vmlinuz64
|
||||||
tar cf - $^ | docker build -t moby-efi:build -f Dockerfile.efi -
|
BUILD=$$( tar cf - $^ | docker build -q -f Dockerfile.efi - ) && [ -n "$$BUILD" ] && \
|
||||||
docker run --net=none --log-driver=none --rm --cap-add sys_admin moby-efi:build cat /tmp/efi/mobylinux.efi > mobylinux.efi
|
docker run --net=none --log-driver=none --rm --cap-add sys_admin $$BUILD cat /tmp/efi/mobylinux.efi > mobylinux.efi && \
|
||||||
docker run --net=none --log-driver=none --rm --cap-add sys_admin moby-efi:build cat /tmp/efi/mobylinux-efi.iso > $@
|
docker run --net=none --log-driver=none --rm --cap-add sys_admin $$BUILD cat /tmp/efi/mobylinux-efi.iso > $@ && \
|
||||||
|
docker rmi --no-prune $$BUILD
|
||||||
|
|
||||||
mobylinux-bios.iso: initrd.img kernel/x86_64/vmlinuz64
|
mobylinux-bios.iso: initrd.img kernel/x86_64/vmlinuz64
|
||||||
tar cf - initrd.img -C kernel/x86_64 vmlinuz64 | \
|
tar cf - initrd.img -C kernel/x86_64 vmlinuz64 | \
|
||||||
|
@ -4,11 +4,12 @@ all: x86_64/vmlinuz64
|
|||||||
|
|
||||||
x86_64/vmlinuz64: Dockerfile kernel_config
|
x86_64/vmlinuz64: Dockerfile kernel_config
|
||||||
mkdir -p x86_64 etc
|
mkdir -p x86_64 etc
|
||||||
docker build --build-arg DEBUG=$(DEBUG) -t mobykernel:build .
|
BUILD=$$( docker build --build-arg DEBUG=$(DEBUG) -q . ) && [ -n "$$BUILD" ] && \
|
||||||
docker run --rm --net=none --log-driver=none mobykernel:build cat /kernel-modules.tar | tar xf -
|
docker run --rm --net=none --log-driver=none $$BUILD cat /kernel-modules.tar | tar xf - && \
|
||||||
docker run --rm --net=none --log-driver=none mobykernel:build cat /aufs-utils.tar | tar xf -
|
docker run --rm --net=none --log-driver=none $$BUILD cat /aufs-utils.tar | tar xf - && \
|
||||||
docker run --rm --net=none --log-driver=none mobykernel:build cat /kernel-source-info > etc/kernel-source-info
|
docker run --rm --net=none --log-driver=none $$BUILD cat /kernel-source-info > etc/kernel-source-info && \
|
||||||
docker run --rm --net=none --log-driver=none mobykernel:build cat /linux/arch/x86_64/boot/bzImage > $@
|
docker run --rm --net=none --log-driver=none $$BUILD cat /linux/arch/x86_64/boot/bzImage > $@ && \
|
||||||
|
docker rmi --no-prune $$BUILD
|
||||||
cp -a patches etc/kernel-patches
|
cp -a patches etc/kernel-patches
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
|
@ -2,8 +2,9 @@ DEPS=Dockerfile $(wildcard *.c *.h)
|
|||||||
|
|
||||||
9pmount-vsock: $(DEPS)
|
9pmount-vsock: $(DEPS)
|
||||||
mkdir -p sbin
|
mkdir -p sbin
|
||||||
tar cf - $(DEPS) | docker build -t 9pmount-vsock:build -
|
BUILD=$$( tar cf - $(DEPS) | docker build -q - ) && [ -n "$$BUILD" ] && \
|
||||||
docker run --rm --net=none 9pmount-vsock:build | tar xf - -C sbin
|
docker run --rm --net=none $$BUILD | tar xf - -C sbin && \
|
||||||
|
docker rmi --no-prune $$BUILD
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -rf sbin
|
rm -rf sbin
|
||||||
|
@ -3,8 +3,9 @@ all: usr/bin/diagnostics-server
|
|||||||
DEPS=Dockerfile $(wildcard *.go)
|
DEPS=Dockerfile $(wildcard *.go)
|
||||||
|
|
||||||
usr/bin/diagnostics-server: $(DEPS) ../vendor/manifest
|
usr/bin/diagnostics-server: $(DEPS) ../vendor/manifest
|
||||||
tar cf - $(DEPS) -C .. vendor | docker build -t diagnostics-server:build -
|
BUILD=$$( tar cf - $(DEPS) -C .. vendor | docker build -q - ) && [ -n "$$BUILD" ] && \
|
||||||
docker run --rm --net=none diagnostics-server:build | tar xf - -C usr/bin
|
docker run --rm --net=none $$BUILD | tar xf - -C usr/bin && \
|
||||||
|
docker rmi --no-prune $$BUILD
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -f usr/bin/diagnostics-server
|
rm -f usr/bin/diagnostics-server
|
||||||
|
@ -2,8 +2,9 @@ all: usr/local/sbin/iptables
|
|||||||
|
|
||||||
usr/local/sbin/iptables: Dockerfile main.ml
|
usr/local/sbin/iptables: Dockerfile main.ml
|
||||||
mkdir -p usr/local/sbin
|
mkdir -p usr/local/sbin
|
||||||
docker build -t iptables:build .
|
BUILD=$$( docker build -q . ) && [ -n "$$BUILD" ] && \
|
||||||
docker run --rm iptables:build | tar xf - -C usr/local/sbin
|
docker run --rm $$BUILD | tar xf - -C usr/local/sbin && \
|
||||||
|
docker rmi --no-prune $$BUILD
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -rf usr
|
rm -rf usr
|
||||||
|
@ -2,8 +2,9 @@ DEPS=Dockerfile $(wildcard *.c *.h)
|
|||||||
|
|
||||||
usr/bin/nc-vsock: $(DEPS)
|
usr/bin/nc-vsock: $(DEPS)
|
||||||
mkdir -p usr/bin
|
mkdir -p usr/bin
|
||||||
tar cf - $(DEPS) | docker build -t nc-vsock:build -
|
BUILD=$$( tar cf - $(DEPS) | docker build -q - ) && [ -n "$$BUILD" ] && \
|
||||||
docker run --rm --net=none nc-vsock:build | tar xf - -C usr/bin
|
docker run --rm --net=none $$BUILD | tar xf - -C usr/bin && \
|
||||||
|
docker rmi --no-prune $$BUILD
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -rf usr
|
rm -rf usr
|
||||||
|
@ -3,8 +3,9 @@ all: usr/bin/slirp-proxy sbin/proxy-vsockd
|
|||||||
DEPS=Dockerfile $(wildcard *.go libproxy/*.go)
|
DEPS=Dockerfile $(wildcard *.go libproxy/*.go)
|
||||||
|
|
||||||
proxy: $(DEPS) ../vendor/manifest
|
proxy: $(DEPS) ../vendor/manifest
|
||||||
tar cf - $(DEPS) -C .. vendor | docker build -t proxy:build -
|
BUILD=$$( tar cf - $(DEPS) -C .. vendor | docker build -q - ) && [ -n "$$BUILD" ] && \
|
||||||
docker run --rm --net=none proxy:build | tar xf -
|
docker run --rm --net=none $$BUILD | tar xf - && \
|
||||||
|
docker rmi --no-prune $$BUILD
|
||||||
|
|
||||||
usr/bin/slirp-proxy: proxy
|
usr/bin/slirp-proxy: proxy
|
||||||
mkdir -p usr/bin
|
mkdir -p usr/bin
|
||||||
|
@ -2,8 +2,9 @@ DEPS=Dockerfile $(wildcard *.c *.h)
|
|||||||
|
|
||||||
sbin/tap-vsockd: $(DEPS)
|
sbin/tap-vsockd: $(DEPS)
|
||||||
mkdir -p sbin
|
mkdir -p sbin
|
||||||
tar cf - $(DEPS) | docker build -t tap-vsockd:build -
|
BUILD=$$( tar cf - $(DEPS) | docker build -q - ) && [ -n "$$BUILD" ] && \
|
||||||
docker run --rm --net=none tap-vsockd:build | tar xf - -C sbin
|
docker run --rm --net=none $$BUILD | tar xf - -C sbin && \
|
||||||
|
docker rmi --no-prune $$BUILD
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -rf sbin
|
rm -rf sbin
|
||||||
|
@ -2,8 +2,9 @@ DEPS=Dockerfile $(wildcard *.c *.h)
|
|||||||
|
|
||||||
sbin/transfused: $(DEPS)
|
sbin/transfused: $(DEPS)
|
||||||
mkdir -p sbin
|
mkdir -p sbin
|
||||||
tar cf - $(DEPS) | docker build -t transfused:build -
|
BUILD=$$( tar cf - $(DEPS) | docker build -q - ) && [ -n "$$BUILD" ] && \
|
||||||
docker run --rm --net=none transfused:build | tar xf - -C sbin
|
docker run --rm --net=none $$BUILD | tar xf - -C sbin && \
|
||||||
|
docker rmi --no-prune $$BUILD
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -rf sbin
|
rm -rf sbin
|
||||||
|
@ -4,8 +4,9 @@ DEPS=Dockerfile $(wildcard *.go)
|
|||||||
|
|
||||||
vsudd: $(DEPS) ../vendor/manifest
|
vsudd: $(DEPS) ../vendor/manifest
|
||||||
mkdir -p sbin
|
mkdir -p sbin
|
||||||
tar cf - $(DEPS) -C .. vendor | docker build -t vsudd:build -
|
BUILD=$$( tar cf - $(DEPS) -C .. vendor | docker build -q - ) && [ -n "$$BUILD" ] && \
|
||||||
docker run --rm --net=none vsudd:build | tar xf - -C sbin
|
docker run --rm --net=none $$BUILD | tar xf - -C sbin && \
|
||||||
|
docker rmi --no-prune $$BUILD
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -rf sbin
|
rm -rf sbin
|
||||||
|
Loading…
Reference in New Issue
Block a user