Commit Graph

48 Commits

Author SHA1 Message Date
Jonathan Bernard e000b37c35 WIP Moving back towards using named runs.
* Rename artifactsRepo -> buildDataDir to be more explicit about the fact that
  it holds more than just the artifacts.
* Revert removal of run ids.
* Move Worker definition into core as part of making the core responsible for
  accepting run requests.
* Make the core module more responsible for internal details of data structure
  and storage. External callers should not need to construct paths to
  artifacts, versions, etc. but should be able to call method in the core
  module to do this work for them.
* The working directory no longer contains anything but the checked-out code.
  All StrawBoss-specific data is stored by StrawBoss elsewhere.
* Add a regular maintenance cycle to the server module.
2017-11-22 10:47:04 -06:00
Jonathan Bernard 7aa0a69215 GET /api/project/<project-name> endpoint. 2017-11-20 20:18:17 -06:00
Jonathan Bernard f222d859e6 WIP Adding GET /project/<projectName> endpoint. 2017-11-20 10:05:55 -06:00
Jonathan Bernard 6340b2fa49 Remove the concept of named, identifiable runs.
StarBoss is meant for building things checked into the repo It is also designed
around repeatable builds. So it makes the assumption that running a build step
for a specific version of a project will always result in the same output. So
runs are identified by the project, build step, and version.
2017-11-20 09:15:03 -06:00
Jonathan Bernard 6569564aa8 Update to work with latest Nim devel and cliutil updates. 2017-11-15 23:00:40 -06:00
jdb e39c1186c8 Refactor utils out into cliutils package. 2017-08-15 14:30:03 -05:00
Jonathan Bernard 0a6023c656 Smalll documentation, TODOs. 2017-08-01 08:49:42 -05:00
Jonathan Bernard 1299311a4c Added test of build step running. 2017-06-14 01:06:43 -05:00
Jonathan Bernard 3d8454d486 Reworking runs to include an id, save the run request. 2017-05-11 10:51:06 -05:00
Jonathan Bernard e2c3aeca09 Documentation for server module, stubbed out API methods. 2017-05-11 10:48:54 -05:00
Jonathan Bernard f6b347a4ed Preliminary configuration for StrawBoss to build itself. 2017-05-11 10:46:56 -05:00
Jonathan Bernard a1100f17d8 Fix bug around spawning worker processes.
We were expecting to find the path to the `strawboss` binary implicitly from
the environment, which meant that configuration was also implicit, and required
more setup. Now the path to the binary is explicit in the StrawBoss runtime
configuration, and the path to the configuration file can also be explicitly given.
2017-05-11 10:43:55 -05:00
Jonathan Bernard 42f37a21e6 Debug stack traces in core. Bugfix around directory creating ordering. 2017-05-11 10:39:38 -05:00
Jonathan Bernard a7619a3048 Change default value logic for stepCmd and cmdInput (see README). 2017-05-11 10:38:28 -05:00
Jonathan Bernard 45f490c677 Clarification in the README around service vs. project configuration. 2017-05-11 10:36:45 -05:00
Jonathan Bernard 37682441ea Split testing into unit and functional tests.
* Split the `test` nimble task into `unittest` and `functest`, with
  corresponding test directories and test runners.
* Added documentation in README regarding building and testing StrawBoss.
* Created a small, simple test project for use in the functional tests.
* Added a `keepEnv` template in the server unit test code to make it easy to
  preserve the working environment for a single unit test to invistigate
  failures manually.
2017-05-10 11:44:46 -05:00
Jonathan Bernard fd804a9aa8 Implemented list project versions endpoint. 2017-05-08 12:41:46 -05:00
Jonathan Bernard 2d4f1bfdd2 Fix logic bug in findProject(StrawBossConfig, string). 2017-05-08 12:40:24 -05:00
Jonathan Bernard 781eeb6a13 Change auth-token endpoint from GET to POST. 2017-05-08 12:39:38 -05:00
Jonathan Bernard 6aaca4a078 Change the auth handler code in the server to play better with the resp macro (again). 2017-05-08 12:38:32 -05:00
Jonathan Bernard a6c6bcf37d Explicitly kill server processes after tests if they don't die gracefully. 2017-05-08 12:36:34 -05:00
Jonathan Bernard 411379cb8d StrawBossConfig object (de)serialization and tests. 2017-05-08 12:33:47 -05:00
Jonathan Bernard 13165879c5 Pulled sameContents function out into nim-langutils library. 2017-05-08 12:32:55 -05:00
Jonathan Bernard 1e2af48892 Implemented GET on /projects/<proj-id> and started unit tests. 2017-04-25 12:57:13 -05:00
Jonathan Bernard e547ecd607 Code cleanup in server.nim 2017-04-25 12:55:48 -05:00
Jonathan Bernard 9d00d638db Add findProject for looking up projects from the StrawBossConfig object properly. 2017-04-25 12:54:08 -05:00
Jonathan Bernard 81674dfa3f Clarified language in the README around cached project configurations. 2017-04-25 12:52:33 -05:00
Jonathan Bernard ec967ec2bf Added ProjectDef parsing code. Unit test for , authentication logic. 2017-04-24 16:31:58 -05:00
Jonathan Bernard 053ac8dc14 .gitignore: add runtestsbinary 2017-04-24 16:31:09 -05:00
Jonathan Bernard d701460e91 Start adding actual HTTP tests. 2017-04-23 00:19:47 -05:00
Jonathan Bernard b402a8eb6d Fix jester options (port, appName). 2017-04-23 00:19:32 -05:00
Jonathan Bernard 3e8bbb1676 Add debug switch and API endpoint to stop server when in debug mode. 2017-04-23 00:18:57 -05:00
Jonathan Bernard 06b8914e7b Change CLI to allow the config file to be specified as an option. 2017-04-23 00:16:40 -05:00
Jonathan Bernard 52b7d2f48b Implemented password hashing. Added and improved tests. 2017-03-24 01:04:39 -05:00
Jonathan Bernard b5a70f6de0 WIP: tests, REST API support (auth). 2017-03-19 06:34:42 -05:00
Jonathan Bernard 2551affd4b Re-order README section to flow better. 2017-03-19 06:33:22 -05:00
Jonathan Bernard 2cfb91aaeb WIP Adding session auth and routes. 2017-03-17 23:34:33 -05:00
Jonathan Bernard 0976871563 Finished refactor towards process-based workers. 0.2.0 2017-03-13 07:29:37 -05:00
Jonathan Bernard cc28e7f4bf WIP 2017-03-08 09:16:23 -06:00
Jonathan Bernard 0e4f13de9a Linkify the README. 2017-03-08 09:15:53 -06:00
Jonathan Bernard a5b4d7d3eb Added documentation for configuration and planned out a redesigned architecture. 2017-03-05 23:01:06 -06:00
Jonathan Bernard 73e502f8a9 Re-organized into multiple modules. 2017-02-20 18:02:31 -06:00
Jonathan Bernard 36eb80077d WIP> Completed JSON schemas. 2017-02-20 00:11:31 -06:00
Jonathan Bernard 435613f6dc WIP: continued server work. Schema for config files. 2017-02-19 14:51:43 -06:00
Jonathan Bernard 9f68963f18 WIP: Working on server. 2017-02-18 23:09:09 -06:00
Jonathan Bernard ca029ab67d Add GIT_DIR to the ENV to make sure git commands find the repo. 2017-02-18 09:14:24 -06:00
Jonathan Bernard a2350ef7fd Initial version. 2017-02-17 17:54:30 -06:00
Jonathan Bernard eca33739b2 Initial commit with basic architecural thoughts. 2017-02-15 23:27:47 -06:00