Makefile
f3d52335
 # 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
 
 all:
 	echo "This just saved you from a terrible mistake!"
 
 # Do Some Work
 stack:
 	./stack.sh
 
 unstack:
 	./unstack.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
b30dca9a
 	rm -rf files/cirros*.tar.gz files/Fedora*.qcow2
f3d52335
 
 # 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