diff options
author | Daniel Narvaez <dwnarvaez@gmail.com> | 2012-12-25 01:22:46 (GMT) |
---|---|---|
committer | Daniel Narvaez <dwnarvaez@gmail.com> | 2012-12-25 01:22:46 (GMT) |
commit | 4f9a11409b3b3ea9d2415472b29a481834089a1e (patch) | |
tree | abdb572e004d15ac6f82ec121fae2d7acda84c91 /devbot | |
parent | 5a97aac1de8b120747fc79b20dfbe4db81116515 (diff) |
Store built module commit in a dict
So that we can store more info
Diffstat (limited to 'devbot')
-rw-r--r-- | devbot/build.py | 11 | ||||
-rw-r--r-- | devbot/state.py | 12 |
2 files changed, 10 insertions, 13 deletions
diff --git a/devbot/build.py b/devbot/build.py index 9823310..6a7f387 100644 --- a/devbot/build.py +++ b/devbot/build.py @@ -52,12 +52,7 @@ def build(): skipped = [] for module in modules[:]: - new_commit_id = module.get_commit_id() - if new_commit_id is None: - break - - old_commit_id = state.get_built_commit_id(module) - if old_commit_id == new_commit_id: + if state.check_built_module(module): modules.pop(0) skipped.append(module.name) else: @@ -68,7 +63,7 @@ def build(): print "\n".join(skipped) for module in modules: - state.remove_built_commit_id(module) + state.remove_built_module(module) for module in modules: if not _build_module(module, config.get_log_path("build")): @@ -226,7 +221,7 @@ def _build_module(module, log=None): except subprocess.CalledProcessError: return False - state.touch_built_commit_id(module) + state.touch_built_module(module) return True diff --git a/devbot/state.py b/devbot/state.py index 649b115..beba837 100644 --- a/devbot/state.py +++ b/devbot/state.py @@ -25,23 +25,25 @@ def _save_state(name, state): json.dump(state, f, indent=4) f.write('\n') -def touch_built_commit_id(module): +def touch_built_module(module): built_modules = _load_state(_BUILT_MODULES, {}) - built_modules[module.name] = module.get_commit_id() + info = {"commit": module.get_commit_id()} + built_modules[module.name] = info _save_state(_BUILT_MODULES, built_modules) -def remove_built_commit_id(module): +def remove_built_module(module): built_modules = _load_state(_BUILT_MODULES) if built_modules and module.name in built_modules: del built_modules[module.name] _save_state(_BUILT_MODULES, built_modules) -def get_built_commit_id(module): +def check_built_module(module): built_modules = _load_state(_BUILT_MODULES, {}) - return built_modules.get(module.name, None) + info = built_modules.get(module.name, {}) + return module.get_commit_id() == info.get("commit", None) def get_last_system_check(): system_check = _load_state(_SYSTEM_CHECK, {}) |