projects
/
invirt/scripts/git-hooks.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
update git-hooks notes to reflect asynchronous design
[invirt/scripts/git-hooks.git]
/
notes
diff --git
a/notes
b/notes
index
0663e05
..
716b3ad
100644
(file)
--- a/
notes
+++ b/
notes
@@
-4,17
+4,33
@@
on commit to submodule:
zephyr
nothing else?
zephyr
nothing else?
-superrepo heads are dev, prod
+superrepo heads are dev, prod, and dev-incoming, prod-incoming
on commit to superrepo:
on commit to superrepo:
+ reject commits to dev, prod
+ grab lock or fail
+ spawn build process
+ zephyr
+
+in build process for foo-incoming:
for each changed submodule revision:
(as optimization: if same commit already in dev, just reprepro move)
try to build submodule
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
+ if fail:
+ abort whole build
+ 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
tag submodule with version
upload to dev/prod respectively
- actually commit
+ clean up built files
+ commit to foo
+ zephyr?
+ release lock
+if fail:
+ reset foo-incoming to old revision
+ send mail with log
zephyr
zephyr
+ release lock
-This makes a long pre-receive process. Is that cool?
-Probably is the right thing.
-
+Maybe there could be something sane without the lock? It'd require
+more thought.