1. 14 May, 2019 1 commit
  2. 13 May, 2019 1 commit
  3. 08 May, 2019 1 commit
  4. 06 May, 2019 1 commit
  5. 15 Apr, 2019 1 commit
  6. 12 Apr, 2019 5 commits
  7. 11 Apr, 2019 1 commit
    • Adam Coldrick's avatar
      Implement timestamps for the buildbox bot · 24c608bd
      Adam Coldrick authored
      This makes use of the --output-times command line argument to buildbox
      to make it output a file containing an ExecutedActionMetadata message.
      This file is then read by the bot and the contents added to the
      ActionResult, making the timestamps provided by the buildbox bot
      consistent with the other provided bots.
      This solves part of #83.
  8. 10 Apr, 2019 4 commits
    • Adam Coldrick's avatar
      Set cacheCapabilities.digestFunction for ActionCaches · 545a600d
      Adam Coldrick authored
      Bazel expects that the execution server will return all the capabilities
      of all endpoints, rather than just its own. Since BuildGrid endpoints
      just return their own capabilities, Bazel doesn't work with the default
      docker-compose layout.
      This commit adds cacheCapabilities.digestFunction to the capabilities
      returned by an ActionCache, since it is relevant to how the cache works.
      This works around the incompatibility with Bazel without making the
      Execution endpoint return all capabilities.
      This solves issue #174.
    • Adam Coldrick's avatar
      Don't attempt to update read-only caches · ade08768
      Adam Coldrick authored
      If the ActionCache is in read-only mode, the scheduler will still try to
      cache successful job results (unless the peer advised otherwise). This
      will cause an endless loop of uncaught NotImplementedErrors which just
      seems like the build has hung from the client-side, since the operation
      stage never gets updated.
      This commit checks whether updating the cache is allowed before
      attempting to do so, avoiding raising the NotImplementedError when using
      a read-only cache.
    • Adam Coldrick's avatar
      tenant.py: Fix exception handling in run_work · 48e19d99
      Adam Coldrick authored
      The except blocks in this method were attempting to use the `lease`
      variable, which is always undefined in the except blocks since it is
      only defined at the end of the try block.
    • Adam Coldrick's avatar
      tenantmanager.py: Handle exceptions in complete_lease · 7ff90260
      Adam Coldrick authored
      The complete_lease callback currently just assumes that the task was
      completed successfully. In situations where an exception was raised,
      `task.result()` re-raises the exception and so the lease state never
      gets updated. This makes the job hang forever when there is a
      bot-related error.
      This commit adds logic to check whether the task failed, and if so set
      the lease status and state appropriately. There is also a small change
      to the server-side result logic to allow empty results to be accepted,
      since sometimes the exception can occur before there is useful content
      for an ActionResult.
  9. 09 Apr, 2019 1 commit
  10. 08 Apr, 2019 1 commit
    • Adam Coldrick's avatar
      Add a tox.ini file to ease management of dependencies · 13ac12da
      Adam Coldrick authored
      Currently, running BuildGrid locally for development or testing purposes
      means either manually using virtualenvs, or rebuilding a docker
      container every time a change is made.
      This adds a tox.ini file which defines targets for running the tests,
      building the docs, running a basic server and bot, and a generic "venv"
      target for running arbitrary commands in an environment with BuildGrid
      and its dependencies installed.
      This allows faster turnaround time when testing changes to the code by
      avoiding docker rebuilds, without the overhead of manually working with
      virtualenvs or installing things globally.
  11. 05 Apr, 2019 2 commits
  12. 01 Apr, 2019 1 commit
    • Adam Coldrick's avatar
      Fix some docs warnings · c142f726
      Adam Coldrick authored
      There are a bunch of warnings in the docs build, some more important
      than others. One of these (the conf.py fix) was breaking the docs
      build entirely for sphinx 2.0.
      This fixes most of the warnings that aren't in the Python files
      generated from the .proto files. The only unfixed warning that
      isn't from generated code is about the FAQ not being in a table
      of contents anywhere, but that seems to be a deliberate choice and
      is harmless to ignore.
  13. 22 Mar, 2019 2 commits
  14. 21 Mar, 2019 5 commits
  15. 20 Mar, 2019 1 commit
  16. 15 Mar, 2019 3 commits
  17. 14 Mar, 2019 2 commits
  18. 11 Mar, 2019 1 commit
  19. 08 Mar, 2019 4 commits
  20. 06 Mar, 2019 1 commit
  21. 26 Feb, 2019 1 commit