| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
Forking after creating a grpc channel can cause issues so these tests
are changed to avoid this.
May fix #1023
|
|\
| |
| |
| |
| |
| |
| | |
Fix workspaced junctions
Closes #1030
See merge request BuildStream/buildstream!1356
|
| |
| |
| |
| |
| |
| |
| | |
This is the canonical way to fetch sources, and now leverages
the source cache if possible, better to do this rather than
poking around into Element.sources() directly and reimplementing
fetching in the loader.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
junctions
We already test the behavior without workspaces, lets just augment
these tests to also run with a workspaced junction and check the results.
This guards against regressions of #1030.
|
|/
|
|
|
|
|
|
|
|
| |
Instead of looping over the sources directly, we should be using
the canonical way of checking element consistency.
This requires an additional call to Element._update_state() on the
freshly loaded junction element in order to ensure we calculate consistency.
This fixes issue #1030.
|
|\
| |
| |
| |
| | |
jobs: refactor, use new set_message_unique_id
See merge request BuildStream/buildstream!1337
|
|/
|
|
|
|
|
|
|
|
|
| |
Ease the burden on subclasses of Job slightly, by providing a new
set_message_unique_id() method. It ensures that created Message
instances will use that id.
This removes the need to override the message() method, so it is no
longer in the 'abstract method' section.
Enable callers to Job's message() method to override the 'unique_id'.
|
|\
| |
| |
| |
| | |
Create artifact proto files atomically
See merge request BuildStream/buildstream!1354
|
| | |
|
| | |
|
|/ |
|
|\
| |
| |
| |
| |
| |
| | |
element.py: Only reset Artifact's cachedness when it might change
Closes #1028
See merge request BuildStream/buildstream!1352
|
|/
|
|
|
|
|
|
| |
i.e. after calculating the original cached state (as soon as weak/strict
cache keys are available), cachedness needs to be reset if the artifact
may have appeared on the filesystem.
We expect that to happen after _pull_done() or _assemble_done()
|
|\
| |
| |
| |
| |
| |
| | |
Staging sources directly into CAS
Closes #983
See merge request BuildStream/buildstream!1340
|
| |
| |
| |
| |
| | |
copy_files and link_files suggested that a single file path is a valid argument
when it isn't.
|
| |
| |
| |
| | |
Part of #983
|
| |
| |
| |
| |
| |
| |
| | |
Without this, there's not much benefit to using the virtual directories
as we still copy files back into the CAS.
Part of #983
|
| |
| |
| |
| |
| |
| |
| | |
This a new method which deals with importing a single file.
Implemented for both FileBasedDirectory and CasBasedDirectory.
Part of #983
|
|/
|
|
|
|
|
|
| |
Add flag to indicate whether sources can stage directly to a virtual
directory. Adds `__stage_previous_sources` method which stages previous
sources taking into account whether they use virtual directories or not.
Part of #983
|
|\
| |
| |
| |
| | |
_scheduler/jobs/job: mv _parent* above _child*
See merge request BuildStream/buildstream!1349
|
|/
|
|
|
|
|
|
| |
Move the parent-specific methods above the child-specific methods.
This makes slightly more sense chronologically, as the parent creates
the child. It will also make diffs cleaner when splitting parent and
child into separate classes.
|
|\
| |
| |
| |
| | |
tests/frontend/logging.py: fix error message regex
See merge request BuildStream/buildstream!1348
|
|/
|
|
|
|
|
|
|
|
|
| |
This regex was not matching, and therefore the assert was not doing
anything.
Fix the regex to match BuildStream's current output.
Add a check to make sure that we get exactly the number of expected
matches. This means we get an obvious error if the regex stops matching
again.
|
|\
| |
| |
| |
| |
| |
| | |
Move source from 'buildstream' to 'src/buildstream'
Closes #1009
See merge request BuildStream/buildstream!1322
|
| | |
|
| |
| |
| |
| |
| | |
Since the `buildstream` module now lives inside `src` directory, also
update the paths that we give to `radon`.
|
| |
| |
| |
| |
| | |
This file has been moved under `src` so update the `.gitattributes`
entry accordingly.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* `include` directive is unnecessary as all of `buildstream` is already
included, so remove it.
* Having `buildstream/buildstream` in `paths` confuses
`coverage combine` as it tries to insert `src/buildstream` in the path
twice in that case.
|
| |
| |
| |
| |
| |
| |
| |
| | |
Now that the `buildstream` module is inside `src` directory, `pylint`
treats `buildstream` as a third party module inside `tests`. As such, it
wants the imports from `buildstream` to be placed before imports from
`tests`. Adopt this style to fix the lint errors, which is probably also
good for readability.
|
|/
|
|
|
|
| |
This was discussed in #1008.
Fixes #1009.
|
|\
| |
| |
| |
| | |
tox.ini: Coverage does not need module installed
See merge request BuildStream/buildstream!1347
|
|/
|
|
|
| |
Coverage does not need the module, or its dependencies, to be installed.
Save time by not installing them extraneously.
|
|\
| |
| |
| |
| |
| |
| | |
Move Element.__*cached variable to Artifact class
Closes #1015
See merge request BuildStream/buildstream!1325
|
|/
|
|
|
| |
This commit also removes Element.__is_cached because it doesn't seem to
serve a purpose.
|
|\
| |
| |
| |
| | |
Make various Element/Source init helpers @classmethod to clarify data flow
See merge request BuildStream/buildstream!1346
|
| |
| |
| |
| |
| |
| |
| |
| | |
To reduce the `kind == "junction"` stuff all over Element's init
helpers, move the `is_junction` logic into `MetaElement` to clarify
things.
Signed-off-by: Daniel Silverstone <daniel.silverstone@codethink.co.uk>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Construction of the plugin defaults and the config construction
don't actually need access to the source instance, so make them
into classmethods ready for extraction into the loader.
Signed-off-by: Daniel Silverstone <daniel.silverstone@codethink.co.uk>
|
| |
| |
| |
| |
| |
| |
| | |
To clarify the flow of data and dependencies, make sandbox extraction
classy.
Signed-off-by: Daniel Silverstone <daniel.silverstone@codethink.co.uk>
|
| |
| |
| |
| |
| |
| |
| | |
To clarify data flow, configuration extraction can be made to be
a classmethod.
Signed-off-by: Daniel Silverstone <daniel.silverstone@codethink.co.uk>
|
| |
| |
| |
| |
| |
| |
| |
| | |
To clarify data flow, make the extraction of public data into a
classmethod, and add an expand method to deal with the instance
variable expansion.
Signed-off-by: Daniel Silverstone <daniel.silverstone@codethink.co.uk>
|
| |
| |
| |
| |
| |
| |
| |
| | |
To clarify the data flow for extraction of environment variables,
make the relevant functions into classmethods and add an expansion
function which relies on the Variables instance.
Signed-off-by: Daniel Silverstone <daniel.silverstone@codethink.co.uk>
|
| |
| |
| |
| |
| |
| |
| | |
Since __extract_variables only needs to be a class method, lift it
to clarify what it depends on.
Signed-off-by: Daniel Silverstone <daniel.silverstone@codethink.co.uk>
|
| |
| |
| |
| |
| |
| |
| |
| | |
As a clarity-inducing change, remove the __is_junction property from
elements since that is only used during initialisation and only by
code which has access to the metaelement anyway.
Signed-off-by: Daniel Silverstone <daniel.silverstone@codethink.co.uk>
|
|/
|
|
|
|
|
|
| |
Since plugins are initialised once per plugin kind+source combo,
we can do that as a class method which renders the flow of information
more transparently.
Signed-off-by: Daniel Silverstone <daniel.silverstone@codethink.co.uk>
|
|\
| |
| |
| |
| | |
Fix init_workspace for multiple sources
See merge request BuildStream/buildstream!1345
|
|/
|
|
|
| |
Noticed a mistake that got into !1214, so only the last source
gets initialised in a workspace. Added a test for this.
|
|\
| |
| |
| |
| | |
Split Element._update_state into cache key and artifact state methods
See merge request BuildStream/buildstream!1342
|
|/
|
|
|
| |
i.e. there are now __update_cache_keys(), __update_artifact_state()
__reset_cache_data() and __update_cache_key_non_strict() methods.
|
|\
| |
| |
| |
| |
| |
| | |
Artifact as a Proto: rework
Closes #974
See merge request BuildStream/buildstream!1292
|
| |
| |
| |
| |
| |
| |
| | |
If an element is cached without a buildtree it not longer entails
that it may be possible to pull a buildtree for it, if it wasn't
cached with one at creation. Query _buildtree_exists() to reduce
possible redudant pull attempts.
|