| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
| |
It seems like this hack was added as a workaround for OSTree's
limitations to commit an empty directory, originally in
https://gitlab.com/BuildStream/buildstream/commit/91940a6cba193ac0e20c01008335617847be27a5.
Since we do not have this limitation anymore, stop creating this empty
directory.
Fixes #998.
|
|\
| |
| |
| |
| | |
Fix building the docs
See merge request BuildStream/buildstream!1303
|
| |
| |
| |
| | |
String starting with a "%" character need to be quoted.
|
|/
|
|
|
|
|
|
|
|
|
|
| |
Sphinx 1.7, released in February 2018 moved the sphinx.apidoc module to
sphinx.ext.apidoc, with an alias and a deprecation warning in place so
users know to port their code.
The compatibility alias was removed in Sphinx 2.0, so we need to move to
the new module name.
Fortunately, since the new module name is more than a year old, this
shouldn't break anything for anybody.
|
|\
| |
| |
| |
| | |
Add support for defining target for junction elements
See merge request BuildStream/buildstream!1293
|
| | |
|
| | |
|
|/
|
|
|
|
|
|
|
|
|
| |
Add support for specifying target of a junction element to be a
sub-sub-project as a configuration option. When such a target is
defined, the junction element is not allowed to have any sources.
This was discussed in the following mailing list thread:
https://mail.gnome.org/archives/buildstream-list/2019-April/msg00025.html
Since this adds new configuration, also bump `BST_FORMAT_VERSION`.
|
|\
| |
| |
| |
| |
| |
| | |
Ensure templated source tests aren't collected unconditionally
Closes #995
See merge request BuildStream/buildstream!1297
|
|/
|
|
|
|
|
|
| |
Ensure that when specifying either a subset of tests to run, the
templated source tests are not automatically collected, regardless of
whether or not they are desired.
Fixes #995
|
|\
| |
| |
| |
| |
| |
| | |
Follow-up from "Artifact 'abstraction' class"
Closes #955
See merge request BuildStream/buildstream!1271
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When we determine that current cache keys are to be discarded, we
should also discard the associated members for correctness. This
should act as a safeguard against accessing Artifact instances that
have discarded cache keys.
A side effect of this is the querying of element buildtree state
from cli methods on elements that don't have a cached artifact
would lead to the artifact member methods not being reachable.
Ensuring the element is cached before trying to call said accessor
methods resolves this.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
As the artifact object now stores keys, it allows for the simplification
of metadata methods. Transitioning the metadata members to Artifact
also means the private accessor methods can be removed from Element
which reduces the overhead of syncing private variables across the
two classes via parameters.
With the key and metadata handling now being internalised within
Artifact, a temporary Artifact for the last_successful incremental
build is created for correctness. This should help guarantee that an
Artifact object is never used to access different artifacts.
|
| |
| |
| |
| |
| |
| | |
This was being accessed via a local private method that wasn't
augmenting the output as such it can be moved to match
_cached_failure.
|
| |
| |
| |
| |
| | |
This was being accessed via a local private method that wasn't
augmenting the output as such it can be moved.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The Artifact instance within Element is now initialised when the
relevant keys are available, with the weak & strong keys being
in the constructor. It also introduces the notion of a strict_artifact,
which is used to make a distinction of the Artifact keys and cached
state dependant on the context defined strictness. The keys are updated
when a relevant key change occurs. As the keys are now internalised
within Artifact, the majority of key determinsim and parameterisation
in public Artifact method calls are now redundant.
|
| |
| |
| |
| |
| |
| | |
This moves the cached assertion to happen before calling the
Artifact method, which removes the need to loopback for the
same purpose.
|
|/
|
|
|
|
| |
Switch to using the private _get_subdirectory() in places
where we are interacting directly with a subdirectory of the
artifact.
|
|\
| |
| |
| |
| | |
Rename 'plugintestutils' package to 'testing'
See merge request BuildStream/buildstream!1291
|
|/
|
|
|
|
|
|
|
| |
- Rename plugintestutils to testing.
- Don't run the tests from bst-plugins-template. This imports
buildstream.plugintestutils so will have to be disabled to get
through CI. This can be re nabled once bst-plugins-template has been
patched.
|
|\
| |
| |
| |
| | |
Fix empty external tests
See merge request BuildStream/buildstream!1295
|
|/
|
|
|
|
|
| |
If the list of external plugin tests is empty, tox -e pyXX-external
will fail attempting to move a coverage file which doesn't exist.
Allow the offending mv command to fail.
|
|\
| |
| |
| |
| |
| |
| | |
Fix non strict push
Closes #990
See merge request BuildStream/buildstream!1290
|
| |
| |
| |
| | |
This is a regression test for issue #990
|
|/
|
|
|
|
|
|
|
| |
Marking all elements as pulled in Stream.push() ensures that cache
keys are resolved before pushing elements, otherwise state is left
unresolved in non-strict mode while elements are awaiting to download
an artifact by it's strict cache key.
Fixes #990
|
|\
| |
| |
| |
| | |
Expose templated source tests
See merge request BuildStream/buildstream!1261
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| | |
A subset of the functionality provided by this module is not
available from buildstream._site but is necessary for the templated
source plugin tests.
|
| |
| |
| |
| |
| | |
Copy tests.testutils.junction into plugintestutils._utils. This is
needed for use by the templated source tests.
|
|/
|
|
|
|
|
|
| |
This needs to be exposed as part of the plugin author facing API so
that plugin authors can define custom repo types which will can be
passed to the set of tests which iterate over multiple source types.
Part of the work towards #944
|
|\
| |
| |
| |
| | |
.gitlab-ci.yml: master (bst2) should use the new bst-plugins-experimental repo instead bst-external
See merge request BuildStream/buildstream!1275
|
|/
|
|
| |
instead bst-external
|
|\
| |
| |
| |
| | |
Do not fetch file blobs for build-only dependencies with remote execution
See merge request BuildStream/buildstream!1278
|
| |
| |
| |
| |
| | |
Avoid unnecessary copies and use CopyFrom() instead of copying fields
one by one where copies are necessary.
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| | |
Let the sandbox know whether the buildtree will be required. This allows
the remote execution sandbox to skip buildtree download when it's not
needed.
|
| |
| |
| |
| | |
This enables conditional output file fetching with remote execution.
|
| |
| |
| |
| |
| | |
This will enable SandboxRemote to download the file blobs of the build
directory only when needed.
|
| |
| |
| |
| |
| | |
Output files need to be downloaded only if they are required in the
local cache or if artifact push remotes need them.
|
| | |
|
| |
| |
| |
| | |
Extracted from remote_missing_blobs_for_directory().
|
| |
| |
| |
| | |
Download them separately as they are not always required.
|
| |
| |
| |
| |
| | |
This allows skipping file download in pull_tree()/_fetch_tree() and is
preparation for conditional output file fetching.
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| | |
Ensure required artifact files are available for elements that need them
even if the context does not require artifact files for all elements.
|