| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
No longer used.
Fixes #134, #138, #148, #217, #268, #276, #443, #460.
|
|
|
|
| |
Fixes #424
|
|
|
|
|
| |
The unused list_remote_refs() function has also been removed as
part of this commit.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
catching-non-exception warnings
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This interacts badly with our builds, usually if the check does fire
it's at the point that we are trying to commit a completed build (which
may have taken a long time to complete) into the cache. Even though
there might be enough space available to store the build, the error
causes BuildStream to consider it "failed" and forces the user to start
again.
This aims to fix https://gitlab.com/BuildStream/buildstream/issues/216
although there is some evidence that it does not completely do so.
BuildStream currently has no minimum disk space check, and no way
to automatically clean up the cache. There is an open issue for this:
https://gitlab.com/BuildStream/buildstream/issues/135
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This extends the 'artifacts' configuration block such that a list of
`url` mappings can be given instead of a single entry. For example:
artifacts:
- url: http://example.com/artifacts1
- url: ssh://ostree@example.com/artifacts2
The OSTreeCache class is updated to set up multiple remotes and query
remote refs from all of them.
There are no automated tests for this yet.
Empty URLs ('') now raise an exception. They cause breakages internally
if we allow them through, and they can only occur if the user or our
tests are misconfiguring things somehow.
We report failure to fetch from the cache by printing a message to
stderr for now. This is because BuildStream's actual logging
functionality can't be used during frontend init -- see issue #168.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Outline of changes to exceptions:
o Now BstError base class has a `domain` and `reason` member,
reason members are optional.
o All derived error classes now specify their `domain`
o For LoadError, LoadErrorReason defines the error's `reason`
o Now the scheduler `job` class takes care of sending the error
reason and domain back to the main process where the last
exception which caused a child task to fail can be discretely stored.
|
|
|
|
|
|
|
|
|
|
| |
This call can fail (if we pass an invalid remote name, for example) so
we should wrap the GLib.Error with OSTreeException.
In the case of GLib.Error this is especially important as GLib.Error
can't be pickled and so such exceptions disappear completely when we try
to propagate them back from multiprocessing subprocesses. See
<https://bugzilla.gnome.org/show_bug.cgi?id=791265>.
|
| |
|
|
|
|
|
|
|
|
|
| |
New-style formatting does not implicitly convert from float to int. Add
explicit conversion to fix the following error:
ValueError: Unknown format code 'd' for object of type 'float'
Fixes: 3b17762a ("Switch old-style string formattings to new...")
|
| |
|
|
|
|
|
|
| |
Base class for exceptions is now a part of the already private _exceptions module
Also moved PipelineError from _pipeline -> _exceptions module
|
|
|
|
| |
Hide all of buildstream's internal exceptions from the API surface.
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
The remove() API is not used anywhere, it was previously used
by ArtifactCache.remove() which itself was unused.
If we need it in the future, it will be right here in
the history.
|
| |
|
| |
|
| |
|
|
|
|
| |
We're going to do this a bit differently.
|
|
|
|
|
|
| |
Pushing is done with ostree-push, and fetching is done with regular
_ostree.fetch() codepath only, which will support http or local directory
pulls.
|
|
|
|
| |
So that we dont dirty the CWD
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
This should eventually change with a fuse layer that cooperates
with ostree and fakes root permissions.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We use ostree primarily for the artifact cache and also for
the ostree source plugin, for the artifact cache, we want "bare user"
mode repository.
Changes are that:
o We no longer encode files as uid/gid root, because it requires "user mode"
option at checkout time
o We no longer use "user mode" option when checking out the artifacts (but
we still need to use it for the ostree source).
This is all because checking out with "user mode" not only drops the ownership
bits on the checked out files, but it _also_ munges the permission bits, we
need the file permission bits to be preserved.
|
|
|
|
| |
This makes sure they are propagated correctly from child processes.
|
|
|
|
|
|
|
|
| |
It's not enough to check if one can resolve the ref, that
only means that the ref is known and valid in the metadata.
One needs to check with OSTree.Repo.has_object() to know if
a resolved commit object exists in the local ostree cache.
|
|
We share some code this way and also have the option of replacing
the implementation for a shell based one instead of a gi bindings
based implementation (which would allow us to depend on older versions
of ostree).
Note we use repo.remote_change() API instead of repo.remote_add(),
this allows to use a create-if-not-exists flag for configuring
remotes.
|