1. 24 Sep, 2018 3 commits
  2. 21 Sep, 2018 3 commits
  3. 20 Sep, 2018 6 commits
  4. 19 Sep, 2018 5 commits
    • Qinusty's avatar
      element.py: Remove redundant timed_activity · 0a314bb8
      Qinusty authored
      This removes the timed_activity for an element _push action. This is
      unnecessary as the job is already being timed elsewhere.
      0a314bb8
    • Qinusty's avatar
      tests.py: Test skip on push · 93ab82d5
      Qinusty authored
      Adds a test to ensure that BuildStream alerts the user of a skipped push
      when the remote already has the artifact cached.
      93ab82d5
    • Qinusty's avatar
      Rework Skipped usage · 8a378557
      Qinusty authored
      The SKIPPED message type is now used to indicate the end of a task which
      was successful without having to perform the given task.
      
      This overhauls the use of `Queue.done()` and therefore queues do not
      need to provide a processed/skipped return value from `done()`. Instead
      this is replaced with the action of raising a `SkipJob` exception from
      within `Queue.process()`.
      8a378557
    • Tristan Van Berkom's avatar
      Merge branch 'tristan/remove-blessings-1.2' into 'bst-1.2' · c7e5d8be
      Tristan Van Berkom authored
      _frontend/status.py: Completely remove the blessings dependency from BuildStream
      
      See merge request !809
      c7e5d8be
    • Tristan Van Berkom's avatar
      _frontend/status.py: Completely remove the blessings dependency from BuildStream · 7ba047b4
      Tristan Van Berkom authored
      This actually improves reliability of the status bar because we
      now disable it completely in the case that not all of the terminal
      escape sequences are supported on the given terminal.
      
      This replaces the few functions we were using, to move the cursor
      up one line, move it to the beginning of the line, and to clear a
      line, with low level functions provided by the curses module in
      the standard library.
      
      This change makes it easier for downstream distro package maintainers
      to package BuildStream, particularly on Fedora.
      
      Asides from changing _frontend/status.py, this commit includes the
      following changes:
      
        * _frontend/app.py: Use python isatty() function to determine if
                            we are connected to a tty, instead of relying
      		      on blessings.
      
        * setup.py: Remove the dependency on blessings.
      7ba047b4
  5. 18 Sep, 2018 6 commits
  6. 16 Sep, 2018 1 commit
  7. 14 Sep, 2018 12 commits
  8. 10 Sep, 2018 4 commits
    • Tristan Van Berkom's avatar
      Merge branch 'tristan/fix-cache-exclusivity-1.2' into 'bst-1.2' · 32d0ce66
      Tristan Van Berkom authored
      Tristan/fix cache exclusivity 1.2
      
      See merge request !779
      32d0ce66
    • Tristan Van Berkom's avatar
      _artifactcache: There shalt be only one cache size · 78499b7d
      Tristan Van Berkom authored
      This does a lot of house cleaning, finally bringing cache
      cleanup logic to a level of comprehensibility.
      
      Changes in this commit include:
      
        o _artifactcache/artifactcache.py: _cache_size, _cache_quota and
          _cache_lower_threshold are now all private variables.
      
          get_approximate_cache_size() is now get_cache_size()
      
          Added get_quota_exceeded() for the purpose of safely checking
          if we have exceeded the quota.
      
          set_cache_size() now asserts that the passed size is not None,
          it is not acceptable to set a None size cache anymore.
      
        o _artifactcache/cascache.py: No longer set the ArtifactCache
          'cache_size' variable violently in the commit() method.
      
          Also the calculate_cache_size() method now unconditionally
          calculates the cache size, that is what it's for.
      
        o _scheduler/jobs/cachesizejob.py & _scheduler/jobs/cleanupjob.py:
      
          Now check the success status. Don't try to set the cache size
          in the case that the job was terminated.
      
        o _scheduler/jobs/elementjob.py & _scheduler/queues/queue.py:
      
          No longer passing around the cache size from child tasks,
          this happens only explicitly, not implicitly for all tasks.
      
        o _scheduler/queues/buildqueue.py & _scheduler/scheduler.py:
      
          Use get_quota_exceeded() accessor
      
      This is a part of #623
      78499b7d
    • Tristan Van Berkom's avatar
      element.py: Remove _get_artifact_cache() accessor. · 303240ab
      Tristan Van Berkom authored
      The artifact cache is anyway a singleton, the Element itself
      has an internal handle on the artifact cache because it is
      needed very frequently; but an artifact cache is not element
      specific and should not be looked up by surrounding code
      on a per element basis.
      
      Updated _scheduler/queues/queue.py, _scheduler/queues/buildqueue.py
      and _scheduler/jobs/elementjob.py to get the artifact cache directly
      from the Platform
      303240ab
    • Tristan Van Berkom's avatar
      _scheduler/jobs/cleanupjob.py: Use Platform.get_platform() public accessor · 67fa96e1
      Tristan Van Berkom authored
      This was previously poking directly at the Platform._instance.
      
      Also, use the name 'artifacts' to hold the artifact cache to
      be consistent with other parts of the codebase, instead of
      calling it 'cache'.
      67fa96e1