Finished refactor to base the build process around explicit run instances.

* Implemented periodic maintenance window.
* Moved worker creation into the core module.
* Worker processes no longer create run requests, but read queued requests from
  the file system.
* Build status and logs have been moved into the StrawBoss data directory.
* An initial build status is recorded when the job is queued.
* Build status is recorded for build references as well as actual versions.
  So there will be a build status for "master", for example, that is
  overwritten whenever "master" is built for that step.
* RunRequests now include a timestamp.
* Added a Run object to contain both a RunRequest and the corresponding
  BuildStatus for that run.
* API endpoints that talk about runs now return Run objects instead of
  RunRequests.
* Moved all data layer operations into the core module so that the
  "database API" only lives in one place.
This commit is contained in:
Jonathan Bernard
2017-11-23 07:30:48 -06:00
parent e000b37c35
commit 82a7b301ea
10 changed files with 364 additions and 228 deletions

10
.editorconfig Normal file
View File

@ -0,0 +1,10 @@
[*]
charset=utf-8
end_of_line=lf
indent_style=space
indent_size=2
max_line_length=79
[{.babelrc,.stylelintrc,jest.config,.eslintrc,*.bowerrc,*.jsb3,*.jsb2,*.json,*.js}]
indent_style=space
indent_size=2