mirror of
https://github.com/rancher/os.git
synced 2025-09-01 14:48:55 +00:00
Speed up build and run tests
This commit is contained in:
7
scripts/default
Executable file
7
scripts/default
Executable file
@@ -0,0 +1,7 @@
|
||||
#!/bin/bash
|
||||
|
||||
cd $(dirname $0)
|
||||
|
||||
./build
|
||||
./prepare
|
||||
./package
|
8
scripts/dev
Executable file
8
scripts/dev
Executable file
@@ -0,0 +1,8 @@
|
||||
#!/bin/bash
|
||||
# help: For development, creates iso, kernel, initrd gzip compressed
|
||||
|
||||
cd $(dirname $0)
|
||||
|
||||
./build
|
||||
./prepare
|
||||
COMPRESS="gzip -1" ROOTFS=0 ./package
|
16
scripts/help
Executable file
16
scripts/help
Executable file
@@ -0,0 +1,16 @@
|
||||
#!/bin/bash
|
||||
|
||||
cd $(dirname $0)
|
||||
|
||||
echo Targets:
|
||||
|
||||
for i in *; do
|
||||
if [ ! -x $i ] || [ ! -f $i ]; then
|
||||
continue
|
||||
fi
|
||||
|
||||
MSG=$(grep '^# help:' $i)
|
||||
if [ -n "$MSG" ]; then
|
||||
echo " " ${i}: $(echo $MSG | sed 's/# help://')
|
||||
fi
|
||||
done
|
11
scripts/integration-test
Executable file
11
scripts/integration-test
Executable file
@@ -0,0 +1,11 @@
|
||||
#!/bin/bash
|
||||
# help: Run Python based integration tests
|
||||
set -e
|
||||
|
||||
cd $(dirname $0)/../tests/integration
|
||||
|
||||
if [ ! -e ../../dist/artifacts/initrd ]; then
|
||||
../../scripts/dev
|
||||
fi
|
||||
|
||||
tox "$@"
|
@@ -3,6 +3,8 @@ set -e
|
||||
|
||||
cd $(dirname $0)
|
||||
|
||||
./package-rootfs
|
||||
if [ "$ROOTFS" != "0" ]; then
|
||||
./package-rootfs
|
||||
fi
|
||||
./package-initrd
|
||||
./package-iso
|
||||
|
@@ -1,41 +1,21 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
rootfs() {
|
||||
DFS=$(docker run -d --privileged -v /lib/modules/$(uname -r):/lib/modules/$(uname -r) ${DFS_IMAGE}${SUFFIX})
|
||||
trap "docker rm -fv ${DFS_ARCH} ${DFS}" EXIT
|
||||
docker exec -i ${DFS} docker load < ${INITRD_DIR}/usr/share/ros/images.tar
|
||||
docker stop ${DFS}
|
||||
docker run --rm --volumes-from=${DFS} rancher/os-dapper-base tar -c -C /var/lib/docker ./image | tar -x -C ${PREPOP_DIR}
|
||||
docker run --rm --volumes-from=${DFS} rancher/os-dapper-base tar -c -C /var/lib/docker ./overlay | tar -x -C ${PREPOP_DIR}
|
||||
|
||||
tar -cf ${ARTIFACTS}/rootfs.tar --exclude lib/modules --exclude lib/firmware -C ${INITRD_DIR} .
|
||||
tar -rf ${ARTIFACTS}/rootfs.tar --exclude lib/modules --exclude lib/firmware -C ${INITRD_DIR} .
|
||||
rm -f ${ARTIFACTS}/rootfs.tar.gz
|
||||
gzip ${ARTIFACTS}/rootfs.tar
|
||||
}
|
||||
|
||||
initrd() {
|
||||
COMPRESS=lzma
|
||||
[ "$DEV_BUILD" == "1" ] && COMPRESS="gzip -1"
|
||||
|
||||
pushd ${INITRD_DIR} >/dev/null
|
||||
|
||||
find | cpio -H newc -o | ${COMPRESS} > ${INITRD}
|
||||
|
||||
popd >/dev/null
|
||||
}
|
||||
|
||||
cd $(dirname $0)/..
|
||||
|
||||
BUILD=$(pwd)/build
|
||||
IMAGE_CACHE=${BUILD}/image-cache
|
||||
PREPOP_DIR=${IMAGE_CACHE}/var/lib/system-docker
|
||||
INITRD_DIR=${BUILD}/initrd
|
||||
ARTIFACTS=$(pwd)/dist/artifacts
|
||||
INITRD=${ARTIFACTS}/initrd
|
||||
|
||||
mkdir -p ${ARTIFACTS} ${PREPOP_DIR}
|
||||
mkdir -p ${ARTIFACTS}
|
||||
|
||||
rootfs
|
||||
initrd
|
||||
if [ "$COMPRESS" == "" ]; then
|
||||
COMPRESS=lzma
|
||||
fi
|
||||
|
||||
cd ${INITRD_DIR}
|
||||
|
||||
echo Creating ${INITRD}
|
||||
find | cpio -H newc -o | ${COMPRESS} > ${INITRD}
|
||||
echo Done creating ${INITRD}
|
||||
|
@@ -1,31 +1,6 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
rootfs() {
|
||||
DFS=$(docker run -d --privileged -v /lib/modules/$(uname -r):/lib/modules/$(uname -r) ${DFS_IMAGE}${SUFFIX})
|
||||
trap "docker rm -fv ${DFS_ARCH} ${DFS}" EXIT
|
||||
docker exec -i ${DFS} docker load < ${INITRD_DIR}/usr/share/ros/images.tar
|
||||
docker stop ${DFS}
|
||||
docker run --rm --volumes-from=${DFS} rancher/os-dapper-base tar -c -C /var/lib/docker ./image | tar -x -C ${PREPOP_DIR}
|
||||
docker run --rm --volumes-from=${DFS} rancher/os-dapper-base tar -c -C /var/lib/docker ./overlay | tar -x -C ${PREPOP_DIR}
|
||||
|
||||
tar -cf ${ARTIFACTS}/rootfs.tar --exclude lib/modules --exclude lib/firmware -C ${INITRD_DIR} .
|
||||
tar -rf ${ARTIFACTS}/rootfs.tar --exclude lib/modules --exclude lib/firmware -C ${INITRD_DIR} .
|
||||
rm -f ${ARTIFACTS}/rootfs.tar.gz
|
||||
gzip ${ARTIFACTS}/rootfs.tar
|
||||
}
|
||||
|
||||
initrd() {
|
||||
COMPRESS=lzma
|
||||
[ "$DEV_BUILD" == "1" ] && COMPRESS="gzip -1"
|
||||
|
||||
pushd ${INITRD_DIR} >/dev/null
|
||||
|
||||
find | cpio -H newc -o | ${COMPRESS} > ${INITRD}
|
||||
|
||||
popd >/dev/null
|
||||
}
|
||||
|
||||
cd $(dirname $0)/..
|
||||
|
||||
BUILD=$(pwd)/build
|
||||
@@ -37,5 +12,14 @@ INITRD=${ARTIFACTS}/initrd
|
||||
|
||||
mkdir -p ${ARTIFACTS} ${PREPOP_DIR}
|
||||
|
||||
rootfs
|
||||
initrd
|
||||
DFS=$(docker run -d --privileged -v /lib/modules/$(uname -r):/lib/modules/$(uname -r) ${DFS_IMAGE}${SUFFIX})
|
||||
trap "docker rm -fv ${DFS_ARCH} ${DFS}" EXIT
|
||||
docker exec -i ${DFS} docker load < ${INITRD_DIR}/usr/share/ros/images.tar
|
||||
docker stop ${DFS}
|
||||
docker run --rm --volumes-from=${DFS} rancher/os-dapper-base tar -c -C /var/lib/docker ./image | tar -x -C ${PREPOP_DIR}
|
||||
docker run --rm --volumes-from=${DFS} rancher/os-dapper-base tar -c -C /var/lib/docker ./overlay | tar -x -C ${PREPOP_DIR}
|
||||
|
||||
tar -cf ${ARTIFACTS}/rootfs.tar --exclude lib/modules --exclude lib/firmware -C ${INITRD_DIR} .
|
||||
tar -rf ${ARTIFACTS}/rootfs.tar --exclude lib/modules --exclude lib/firmware -C ${INITRD_DIR} .
|
||||
rm -f ${ARTIFACTS}/rootfs.tar.gz
|
||||
gzip ${ARTIFACTS}/rootfs.tar
|
||||
|
@@ -5,7 +5,7 @@ source $(dirname $0)/version
|
||||
|
||||
cd $(dirname $0)
|
||||
|
||||
if [ ! -e ./bin/host_ros ]; then
|
||||
if [ ! -e ../bin/host_ros ]; then
|
||||
./build
|
||||
fi
|
||||
|
||||
|
@@ -1,5 +1,6 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
# help: build and run RancherOS, requires KVM local
|
||||
|
||||
cd $(dirname $0)/..
|
||||
|
||||
@@ -108,7 +109,7 @@ if [[ ! -e ${KERNEL} || ! -e ${INITRD_SRC} ]]; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ "$REBUILD" == "1" ]; then
|
||||
if [ "$REBUILD" == "1" ] || [ ! -e ${INITRD} ]; then
|
||||
cp bin/ros ${INITRD_SRC}/usr/bin/ros
|
||||
pushd ${INITRD_SRC} >/dev/null
|
||||
find . | cpio -H newc -o | gzip -1 > ${INITRD}
|
||||
@@ -157,6 +158,7 @@ if [ "$QEMU" == "1" ]; then
|
||||
CPU="-cpu host"
|
||||
fi
|
||||
set -x
|
||||
HOME=${HOME:-/}
|
||||
exec qemu-system-${QEMUARCH} -serial stdio \
|
||||
-rtc base=utc,clock=host \
|
||||
${KVM_ENABLE} \
|
||||
|
4
scripts/shell
Executable file
4
scripts/shell
Executable file
@@ -0,0 +1,4 @@
|
||||
#!/bin/bash
|
||||
# help: Launch shell in build environment
|
||||
|
||||
exec bash
|
@@ -1,4 +1,5 @@
|
||||
#!/bin/bash
|
||||
# help: Run go unit tests
|
||||
set -e
|
||||
|
||||
cd $(dirname $0)/..
|
||||
|
Reference in New Issue
Block a user