add script and Makefile target to test multiverse in a docker container
This commit is contained in:
parent
44f4fb6620
commit
187e3bc9be
12
Makefile
12
Makefile
|
@ -1,5 +1,7 @@
|
||||||
|
DIST := "ubuntu:latest"
|
||||||
|
|
||||||
cosmos:
|
cosmos:
|
||||||
fab all cosmos
|
fab all cosmos
|
||||||
|
|
||||||
upgrade:
|
upgrade:
|
||||||
fab upgrade
|
fab upgrade
|
||||||
|
@ -9,4 +11,10 @@ db:
|
||||||
@git add global/overlay/etc/puppet/cosmos-db.yaml && git commit -m "update db" global/overlay/etc/puppet/cosmos-db.yaml
|
@git add global/overlay/etc/puppet/cosmos-db.yaml && git commit -m "update db" global/overlay/etc/puppet/cosmos-db.yaml
|
||||||
|
|
||||||
tag: db
|
tag: db
|
||||||
./bump-tag
|
./bump-tag
|
||||||
|
|
||||||
|
test_in_docker:
|
||||||
|
docker run --rm -it \
|
||||||
|
-v ${CURDIR}:/multiverse:ro \
|
||||||
|
\
|
||||||
|
$(DIST) /multiverse/scripts/test-in-docker.sh
|
||||||
|
|
42
scripts/test-in-docker.sh
Executable file
42
scripts/test-in-docker.sh
Executable file
|
@ -0,0 +1,42 @@
|
||||||
|
#!/bin/bash
|
||||||
|
#
|
||||||
|
# This script runs in a Docker container (started with the 'make test_in_docker' command)
|
||||||
|
# and installs multiverse as it is in your source directory.
|
||||||
|
#
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
apt -y update
|
||||||
|
apt -y install git rsync gpg
|
||||||
|
|
||||||
|
cosmos_deb=$(find /multiverse/apt/ -maxdepth 1 -name 'cosmos_*.deb' | sort -V | tail -1)
|
||||||
|
dpkg -i "$cosmos_deb"
|
||||||
|
|
||||||
|
test -d /var/cache/cosmos/repo || mkdir -p /var/cache/cosmos/repo
|
||||||
|
test -d /var/cache/cosmos/model || mkdir -p /var/cache/cosmos/model
|
||||||
|
|
||||||
|
# Make every "cosmos update" copy the contents from /multiverse
|
||||||
|
# without requiring the changes in there to be checked into git.
|
||||||
|
cat >/etc/cosmos/update.d/50update-while-testing << EOF
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
rsync -a --delete --exclude .git /multiverse/ /var/cache/cosmos/repo
|
||||||
|
EOF
|
||||||
|
chmod 755 /etc/cosmos/update.d/50update-while-testing
|
||||||
|
|
||||||
|
sed -i -e 's!^#COSMOS_REPO_MODELS=.*!COSMOS_REPO_MODELS="\$COSMOS_REPO/global/"!' /etc/cosmos/cosmos.conf
|
||||||
|
|
||||||
|
export DEBIAN_FRONTEND=noninteractive
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
echo "***"
|
||||||
|
echo ""
|
||||||
|
echo "$0: Configured docker container for testing of files in /multiverse."
|
||||||
|
echo ""
|
||||||
|
echo "You should now be able to do"
|
||||||
|
echo ""
|
||||||
|
echo " cosmos -v update"
|
||||||
|
echo " cosmos -v apply"
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
exec bash -l
|
Loading…
Reference in a new issue