f3d52335e7
There are a couple of targets in here that some might find useful in doing DevStack testing in multiple remote VMs. There are some of the usual boring targets too, like stack and unstack, that do exactly what you would expect. Change-Id: I7974cac4cc527bacf6f183ac1f344428b05f2fdc
105 lines
2.5 KiB
Makefile
105 lines
2.5 KiB
Makefile
# DevStack Makefile of Sanity
|
|
|
|
# Interesting targets:
|
|
# ds-remote - Create a Git remote for use by ds-push and ds-pull targets
|
|
# DS_REMOTE_URL must be set on the command line
|
|
#
|
|
# ds-push - Merge a list of branches taken from .ds-test and push them
|
|
# to the ds-remote repo in ds-test branch
|
|
#
|
|
# ds-pull - Pull the remote ds-test branch into a fresh local branch
|
|
#
|
|
# refresh - Performs a sequence of unstack, refresh and stack
|
|
|
|
# Duplicated from stackrc for now
|
|
DEST=/opt/stack
|
|
WHEELHOUSE=$(DEST)/.wheelhouse
|
|
|
|
all:
|
|
echo "This just saved you from a terrible mistake!"
|
|
|
|
# Do Some Work
|
|
stack:
|
|
./stack.sh
|
|
|
|
unstack:
|
|
./unstack.sh
|
|
|
|
wheels:
|
|
WHEELHOUSE=$(WHEELHOUSE) tools/build-wheels.sh
|
|
|
|
docs:
|
|
tox -edocs
|
|
|
|
# Just run the shocco source formatting build
|
|
docs-build:
|
|
INSTALL_SHOCCO=True tools/build_docs.sh
|
|
|
|
# Just run the Sphinx docs build
|
|
docs-rst:
|
|
python setup.py build_sphinx
|
|
|
|
# Run the bashate test
|
|
bashate:
|
|
tox -ebashate
|
|
|
|
# Run the function tests
|
|
test:
|
|
tests/test_ini_config.sh
|
|
tests/test_meta_config.sh
|
|
tests/test_ip.sh
|
|
tests/test_refs.sh
|
|
|
|
# Spiff up the place a bit
|
|
clean:
|
|
./clean.sh
|
|
rm -rf accrc doc/build test*-e *.egg-info
|
|
|
|
# Clean out the cache too
|
|
realclean: clean
|
|
rm -rf files/cirros*.tar.gz files/Fedora*.qcow2 $(WHEELHOUSE)
|
|
|
|
# Repo stuffs
|
|
|
|
pull:
|
|
git pull
|
|
|
|
|
|
# These repo targets are used to maintain a branch in a remote repo that
|
|
# consists of one or more local branches merged and pushed to the remote.
|
|
# This is most useful for iterative testing on multiple or remote servers
|
|
# while keeping the working repo local.
|
|
#
|
|
# It requires:
|
|
# * a remote pointing to a remote repo, often GitHub is used for this
|
|
# * a branch name to be used on the remote
|
|
# * a local file containing the list of local branches to be merged into
|
|
# the remote branch
|
|
|
|
GIT_REMOTE_NAME=ds-test
|
|
GIT_REMOTE_BRANCH=ds-test
|
|
|
|
# Push the current branch to a remote named ds-test
|
|
ds-push:
|
|
git checkout master
|
|
git branch -D $(GIT_REMOTE_BRANCH) || true
|
|
git checkout -b $(GIT_REMOTE_BRANCH)
|
|
for i in $(shell cat .$(GIT_REMOTE_BRANCH) | grep -v "^#" | grep "[^ ]"); do \
|
|
git merge --no-edit $$i; \
|
|
done
|
|
git push -f $(GIT_REMOTE_NAME) HEAD:$(GIT_REMOTE_BRANCH)
|
|
|
|
# Pull the ds-test branch
|
|
ds-pull:
|
|
git checkout master
|
|
git branch -D $(GIT_REMOTE_BRANCH) || true
|
|
git pull $(GIT_REMOTE_NAME) $(GIT_REMOTE_BRANCH)
|
|
git checkout $(GIT_REMOTE_BRANCH)
|
|
|
|
# Add the remote - set DS_REMOTE_URL=htps://example.com/ on the command line
|
|
ds-remote:
|
|
git remote add $(GIT_REMOTE_NAME) $(DS_REMOTE_URL)
|
|
|
|
# Refresh the current DevStack checkout nd re-initialize
|
|
refresh: unstack ds-pull stack
|