X-Git-Url: http://xvm.mit.edu/gitweb/invirt/scripts/git-hooks.git/blobdiff_plain/a070886cbe878cbfed4aa6ce58c6f12ca5890c4c..78ae65bde57c9cdc34aa10d05bc853060ddb2bd8:/notes diff --git a/notes b/notes index 0663e05..5b0b30a 100644 --- a/notes +++ b/notes @@ -1,20 +1,30 @@ -on commit to submodule: +on push to submodule: + error on non-fast-forward + error on pushing tag zephyr - nothing else? -superrepo heads are dev, prod -on commit to superrepo: - for each changed submodule revision: - (as optimization: if same commit already in dev, just reprepro move) - try to build submodule - if fail, abort -- whole commit, probably; else - tag submodule with version - upload to dev/prod respectively - actually commit - zephyr +superproject heads are dev and prod +on push to superproject: + error - no pushes to superproject -This makes a long pre-receive process. Is that cool? -Probably is the right thing. +on remctl xvm repo (dev|prod) package SHA-1: + use remctl ACLs to limit pushes to correct groups + verify that new version number is greater than previous + echo "(dev|prod) package SHA-1" > $build_queue/TIMESTAMP +while build queue is not empty: + find min(os.listdir($build_queue)) + (as optimization: if same commit already in dev, just reprepro move) + try to build submodule + if fail: + keep build around + send mail with log + zephyr + upload to apt repo + tag submodule with version + commit superproject with updated submodule + clean up build files + zephyr + rm $build_queue file