| 1 | 1 |
new file mode 100644 |
| ... | ... |
@@ -0,0 +1,104 @@ |
| 0 |
+# DevStack Makefile of Sanity |
|
| 1 |
+ |
|
| 2 |
+# Interesting targets: |
|
| 3 |
+# ds-remote - Create a Git remote for use by ds-push and ds-pull targets |
|
| 4 |
+# DS_REMOTE_URL must be set on the command line |
|
| 5 |
+# |
|
| 6 |
+# ds-push - Merge a list of branches taken from .ds-test and push them |
|
| 7 |
+# to the ds-remote repo in ds-test branch |
|
| 8 |
+# |
|
| 9 |
+# ds-pull - Pull the remote ds-test branch into a fresh local branch |
|
| 10 |
+# |
|
| 11 |
+# refresh - Performs a sequence of unstack, refresh and stack |
|
| 12 |
+ |
|
| 13 |
+# Duplicated from stackrc for now |
|
| 14 |
+DEST=/opt/stack |
|
| 15 |
+WHEELHOUSE=$(DEST)/.wheelhouse |
|
| 16 |
+ |
|
| 17 |
+all: |
|
| 18 |
+ echo "This just saved you from a terrible mistake!" |
|
| 19 |
+ |
|
| 20 |
+# Do Some Work |
|
| 21 |
+stack: |
|
| 22 |
+ ./stack.sh |
|
| 23 |
+ |
|
| 24 |
+unstack: |
|
| 25 |
+ ./unstack.sh |
|
| 26 |
+ |
|
| 27 |
+wheels: |
|
| 28 |
+ WHEELHOUSE=$(WHEELHOUSE) tools/build-wheels.sh |
|
| 29 |
+ |
|
| 30 |
+docs: |
|
| 31 |
+ tox -edocs |
|
| 32 |
+ |
|
| 33 |
+# Just run the shocco source formatting build |
|
| 34 |
+docs-build: |
|
| 35 |
+ INSTALL_SHOCCO=True tools/build_docs.sh |
|
| 36 |
+ |
|
| 37 |
+# Just run the Sphinx docs build |
|
| 38 |
+docs-rst: |
|
| 39 |
+ python setup.py build_sphinx |
|
| 40 |
+ |
|
| 41 |
+# Run the bashate test |
|
| 42 |
+bashate: |
|
| 43 |
+ tox -ebashate |
|
| 44 |
+ |
|
| 45 |
+# Run the function tests |
|
| 46 |
+test: |
|
| 47 |
+ tests/test_ini_config.sh |
|
| 48 |
+ tests/test_meta_config.sh |
|
| 49 |
+ tests/test_ip.sh |
|
| 50 |
+ tests/test_refs.sh |
|
| 51 |
+ |
|
| 52 |
+# Spiff up the place a bit |
|
| 53 |
+clean: |
|
| 54 |
+ ./clean.sh |
|
| 55 |
+ rm -rf accrc doc/build test*-e *.egg-info |
|
| 56 |
+ |
|
| 57 |
+# Clean out the cache too |
|
| 58 |
+realclean: clean |
|
| 59 |
+ rm -rf files/cirros*.tar.gz files/Fedora*.qcow2 $(WHEELHOUSE) |
|
| 60 |
+ |
|
| 61 |
+# Repo stuffs |
|
| 62 |
+ |
|
| 63 |
+pull: |
|
| 64 |
+ git pull |
|
| 65 |
+ |
|
| 66 |
+ |
|
| 67 |
+# These repo targets are used to maintain a branch in a remote repo that |
|
| 68 |
+# consists of one or more local branches merged and pushed to the remote. |
|
| 69 |
+# This is most useful for iterative testing on multiple or remote servers |
|
| 70 |
+# while keeping the working repo local. |
|
| 71 |
+# |
|
| 72 |
+# It requires: |
|
| 73 |
+# * a remote pointing to a remote repo, often GitHub is used for this |
|
| 74 |
+# * a branch name to be used on the remote |
|
| 75 |
+# * a local file containing the list of local branches to be merged into |
|
| 76 |
+# the remote branch |
|
| 77 |
+ |
|
| 78 |
+GIT_REMOTE_NAME=ds-test |
|
| 79 |
+GIT_REMOTE_BRANCH=ds-test |
|
| 80 |
+ |
|
| 81 |
+# Push the current branch to a remote named ds-test |
|
| 82 |
+ds-push: |
|
| 83 |
+ git checkout master |
|
| 84 |
+ git branch -D $(GIT_REMOTE_BRANCH) || true |
|
| 85 |
+ git checkout -b $(GIT_REMOTE_BRANCH) |
|
| 86 |
+ for i in $(shell cat .$(GIT_REMOTE_BRANCH) | grep -v "^#" | grep "[^ ]"); do \ |
|
| 87 |
+ git merge --no-edit $$i; \ |
|
| 88 |
+ done |
|
| 89 |
+ git push -f $(GIT_REMOTE_NAME) HEAD:$(GIT_REMOTE_BRANCH) |
|
| 90 |
+ |
|
| 91 |
+# Pull the ds-test branch |
|
| 92 |
+ds-pull: |
|
| 93 |
+ git checkout master |
|
| 94 |
+ git branch -D $(GIT_REMOTE_BRANCH) || true |
|
| 95 |
+ git pull $(GIT_REMOTE_NAME) $(GIT_REMOTE_BRANCH) |
|
| 96 |
+ git checkout $(GIT_REMOTE_BRANCH) |
|
| 97 |
+ |
|
| 98 |
+# Add the remote - set DS_REMOTE_URL=htps://example.com/ on the command line |
|
| 99 |
+ds-remote: |
|
| 100 |
+ git remote add $(GIT_REMOTE_NAME) $(DS_REMOTE_URL) |
|
| 101 |
+ |
|
| 102 |
+# Refresh the current DevStack checkout nd re-initialize |
|
| 103 |
+refresh: unstack ds-pull stack |