X-Git-Url: http://xvm.mit.edu/gitweb/invirt/scripts/git-hooks.git/blobdiff_plain/42b40b95eaf64099792a7020a46300bdf51601a8..78ae65bde57c9cdc34aa10d05bc853060ddb2bd8:/notes diff --git a/notes b/notes index f79e7c3..5b0b30a 100644 --- a/notes +++ b/notes @@ -1,25 +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 - clean up any previous packages' built files, maybe keep this one's around - remember package and version - for each changed submodule revision: (if we're still going) - tag submodule with version - upload to dev/prod respectively - clean up built files - 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