| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Add a GitLab test with the 'spawn' method of starting processes forced.
|
|
|
|
|
|
| |
Allow users to force the start method via a 'BST_FORCE_START_METHOD'
environment variable. This enables testing of the 'spawn' and
'forkserver' methods on platforms that don't require them.
|
|
|
|
|
|
|
|
| |
Add support for using `multiprocessing.Manager` and the associated
queues. Downgrade the queue event callback guarantees accordingly. In
later work we may be able to support callbacks in all scenarios.
Pickle and unpickle the child job if the platform requires it.
|
|
|
|
|
|
|
| |
Pave the way to supporting starting processes by the 'spawn' method, by
abstracting our usage of `multiprocessing.Queue`. This means we can
easily switch to using a multiprocessing.Manager() and associated queues
instead when necessary.
|
|
|
|
| |
This is consistent with the other global vars in the module.
|
|\
| |
| |
| |
| | |
Move meson element to bst-plugins-experimental
See merge request BuildStream/buildstream!1532
|
|/ |
|
|\
| |
| |
| |
| |
| |
| | |
Reject elements which have duplicated dependencies
Closes #1077
See merge request BuildStream/buildstream!1528
|
| |
| |
| |
| | |
Signed-off-by: Daniel Silverstone <daniel.silverstone@codethink.co.uk>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When loading an element, if it has duplicated dependencies of any kind
then we reject the element with a LoadError(DUPLICATE_DEPENDENCY). This
means that an element `foo.bst` can only appear once in any given dependency
kind, allowing it to be both `runtime` and `build`, but not either of those
twice, nor either plus `all`, nor `all` twice.
Signed-off-by: Daniel Silverstone <daniel.silverstone@codethink.co.uk>
|
|/
|
|
| |
Signed-off-by: Daniel Silverstone <daniel.silverstone@codethink.co.uk>
|
|\
| |
| |
| |
| | |
Message rework
See merge request BuildStream/buildstream!1500
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Adding the element full name and display key into all element related
messages removes the need to look up the plugintable via a plugin
unique_id just to retrieve the same values for logging and widget
frontend display. Relying on plugintable state is also incompatible
if the frontend will be running in a different process, as it will
exist in multiple states.
The element full name is now displayed instead of the unique_id,
such as in the debugging widget. It is also displayed in place of
'name' (i.e including any junction prepend) to be more informative.
|
| |
| |
| |
| |
| |
| | |
Once project & type are resolved, the full_name can be computed
and cached for efficiency. The accessor for getting the private
member should also be moved to the correct section.
|
|/ |
|
|\
| |
| |
| |
| | |
Artifact blob handling
See merge request BuildStream/buildstream!1527
|
| |
| |
| |
| |
| | |
With blob-based expiry in buildbox-casd, the presence of the artifact
proto will no longer be sufficient.
|
| |
| |
| |
| | |
This is in preparation for blob-based expiry as used by buildbox-casd.
|
| | |
|
| |
| |
| |
| |
| | |
If `check_exists` is set, missing directories should raise a
FileNotFoundError.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
We need to ensure artifact files are available locally also for elements
that don't run any commands (e.g., compose elements). It's also not
necessary to fetch file blobs after every command. This moves file blob
fetching from SandboxRemote.process_job_output() (part of Sandbox.run())
to a separate fetch_missing_blobs() method, which is invoked by
Element._cache_artifact().
|
|/ |
|
| |
|
|\
| |
| |
| |
| | |
Move cmake plugin to bst-plugins-experimental
See merge request BuildStream/buildstream!1520
|
|/
|
|
|
|
|
|
|
|
|
|
| |
It was agreed on the mailing list to move all plugins to a single
repository, before moving them into domain-specific repositories. As
a result it seems reasonable to move everything to the
bst-plugins-experimental repo as this stepping stone, rather than
creating a whole new repo.
This commit starts the process of moving things over by moving only the
cmake plugin to bst-plugins-experimental, and altering the tests to
reflect the new location.
|
|\
| |
| |
| |
| | |
Enable integration tests for buildbox sandboxing backend
See merge request BuildStream/buildstream!1525
|
| | |
|
| | |
|
| |
| |
| |
| | |
This reverts commit b54c8cb07ca257be79940ffa70853bf75d2c287c.
|
|/
|
|
| |
buildbox-fuse uses bubblewrap for sandboxing.
|
|\
| |
| |
| |
| | |
Revert default junction behaviour and add new junction config options
See merge request BuildStream/buildstream!1403
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| | |
This option allows us to completely ignore remotes defined in the
subproject. As a user, we may not wish to interact with subproject
remotes as we may not be able to trust them, for example.
An appropriate test and some documentation has also been added.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The 'cache-junction-elements' configuration option for junction's
is a boolean which enables elements from within the junction to
interact with the parent project's remote(s).
A test has been added to enforce this behaviour and the
BST_FORMAT_VERSION has been bumped.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Originally, the intended default behaviour of BuildStream was to
only cache project elements in project specific remotes.
This behaviour was broken by: 24c0de16faec2b8b9bd6a03504ce951dc49afbe2.
Introduced in !1113.
This patch reverts the behaviour and asserts that junctioned elements
are not pushed to their parent's project-specific remote.
|
|/
|
|
|
| |
When declaring artifact/source servers which we want to
push to, we must set a "push" boolean
|
|\
| |
| |
| |
| |
| |
| | |
Add Element.__update_cache_keys_stability method
Closes #1087
See merge request BuildStream/buildstream!1492
|
|/
|
|
|
|
| |
This method updates the value of Element.__cache_keys_stable
which is initially set in the Element.__update_cache_keys()
method.
|
|\
| |
| |
| |
| |
| |
| | |
.gitlab-ci.yml: Use new way to define code_quality job
Closes #1099
See merge request BuildStream/buildstream!1522
|
|/
|
|
| |
See https://docs.gitlab.com/ee/ci/examples/code_quality.html
|
| |
|
|\
| |
| |
| |
| | |
Update COMMITTERS.rst file
See merge request BuildStream/buildstream!1510
|
| | |
|
| | |
|
|/ |
|
|\
| |
| |
| |
| |
| |
| | |
Automatically build a list of committers
Closes #1071
See merge request BuildStream/buildstream!1505
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Since we want the COMMITTERS list to be sync'd with the GitLab
permissions, use a script for fetching all the information and building
a table with it automatically.
The script uses a template located in the contrib/ directory.
Closes https://gitlab.com/BuildStream/buildstream/issues/1071
|
|/
|
|
|
| |
Adds some guidelines on how committers are chosen,granted access and
a note about non-code contributions.
|
|\
| |
| |
| |
| | |
job: fix exception caught from enum translation
See merge request BuildStream/buildstream!1509
|