| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
|
|
|
| |
GetInstanceNameForRemote() has been deprecated.
|
| |
|
|
|
|
| |
Replaced by Remote Asset API Fetch and Push services.
|
|
|
|
| |
Replaced by Remote Asset API Fetch and Push services.
|
|
|
|
| |
They no longer differ among subclasses.
|
|
|
|
|
| |
This migrates the source cache from the BuildStream Source protocol to
the Remote Asset API.
|
|
|
|
|
|
|
| |
This migrates the artifact cache from the BuildStream Artifact protocol
to the Remote Asset API.
Co-authored-by: Sander Striker <s.striker@striker.nl>
|
| |
|
|
|
|
| |
Co-authored-by: Sander Striker <s.striker@striker.nl>
|
|
|
|
|
|
|
|
| |
Use a separate Cli instance with a separate local cache for the second
pull in `test_recently_pulled_artifact_does_not_expire()` to ensure the
complete artifact is pulled. If only a part of the artifact is pulled,
there is no guarantee that the other blobs of that artifact won't
expire.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Use grpcio-tools 1.28.1, matching grpcio from requirements.txt
|
|\
| |
| |
| |
| | |
CI: Update BuildBox to 0.0.14, add Fedora 32
See merge request BuildStream/buildstream!2025
|
| |
| |
| |
| |
| | |
Python 3.8 is now covered by Fedora 32. There is no longer a need to use
a special Debian image for Python 3.8.
|
| |
| |
| |
| | |
Test coverage is not available yet with Python 3.8 (#1173).
|
| | |
|
|/ |
|
|\
| |
| |
| |
| | |
CI fixes for Python 3.8 and Breezy
See merge request BuildStream/buildstream!2024
|
| |
| |
| |
| | |
Coverage is still broken with Python 3.8 (#1173).
|
| |
| |
| |
| |
| | |
Coverage is still broken with Python 3.8 (#1173). Don't enable it by
default.
|
|/
|
|
| |
Fedora 32 has replaced Bazaar with Breezy.
|
|\
| |
| |
| |
| | |
.gitlab-ci.yml: Drop tests-fedora-30 job
See merge request BuildStream/buildstream!2022
|
|/
|
|
|
|
| |
Fedora 30 is end of life since 2020-05-26.
https://fedoraproject.org/wiki/End_of_life
|
|\
| |
| |
| |
| |
| |
| | |
CI For the Cache Server
Closes #1362
See merge request BuildStream/buildstream!1997
|
| | |
|
| |
| |
| |
| |
| | |
This moves boiler plate for remote tests in to a template to make
maintenance easier.
|
| |
| |
| |
| |
| |
| |
| |
| | |
This test defines a docker compose for a buildstream cache server and
uses it.
This stage could be altered or duplicated to use other cache servers so we
can check our continued compatibility.
|
| |
| |
| |
| |
| | |
These basic tests are ment to be run with a remote cache and can be used
to check bst conpatiblity with a remote cache server.
|
|/ |
|
|\
| |
| |
| |
| |
| |
| | |
_frontend/cli.py: Fix `artifact checkout` with no arguments
Closes #1367
See merge request BuildStream/buildstream!2017
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When no arguments are passed to `artifact checkout` command, it
currently crashes. We actually have a check of this, but we crash before
that becasue this method tries to read the value of `target` before
we've had time to check for it.
That can only be done correctly after the app has been initialized. So,
refactor that bit of the method to run after we've checked that we are
working with a non-empty target.
Also, add a regression test for it.
Fixes #1367.
|
|\
| |
| |
| |
| | |
_loader: Use only one Dependency() class
See merge request BuildStream/buildstream!2019
|
| | |
|
| |
| |
| |
| |
| |
| | |
Since ProvenanceInformation are created on the demand, it's better
to just hold on to the originating Node and create the provenance
only when needed.
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This moves the Dependency() implementation from the _loader.types
module into the _loader.loadelement module, replacing the duplicate
Dependency() definition there.
Instead of creating _loader.loadelement.Dependency objects on the
fly during the load process, we simply fill in the new LoadElement
member on the original Dependency objects.
This refactor should make the code easier to work with, since any
originally loaded state from the YAML is preserved in the intermediate
LoadElement data model and does not need to be manually handed over
to a separate object.
Summary of changes:
* _loader/types.pyx: Removed Dependency() implementation from here,
and renamed to _loader/types.py
* _loader/loadelement.py: Replaced the second Dependency object
implementation with the original one from _loader/types.py,
adding a new LoadElement member which is resolved during the
load process via the new Dependency.set_element() API
* _loader/loader.py: Instead of creating a second kind of Dependency
object on the fly during the load process, simply resolve the
existing dependencies with Dependency.set_element()
* setup.py: Fixed up cython build instructions, now that _loader/types.py
no longer contains any cython code.
|
|\
| |
| |
| |
| |
| |
| | |
Refactor session headings in the frontend
Closes #1369
See merge request BuildStream/buildstream!2009
|
| | |
|
| |
| |
| |
| |
| |
| | |
Clarify the few keys which must absolutely be declared in project.conf
if declared at all, these keys cannot be declared in a separate include
file.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This function now prints information about each loaded project in
the session:
* Information about each loaded project
- Junction path, if any
- Provenance of how the project was initially loaded, if any
- Shows which projects declare the loaded project as a duplicate, if any
- Shows which projects declare the loaded project as internal, if any
* Plugins loaded in each project, including how they were loaded
* Project option values resolved for each loaded project
|
| |
| |
| |
| |
| |
| |
| |
| | |
Now the PluginFactory.list_plugins() API also reports a human readable
explanation of where the plugin was loaded from for each plugin.
This is internally supported by an extension of the abstract
PluginOrigin.get_plugin_paths() APIs.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This adds a new _ProjectInformation type to types.py which
is returned by the new Project.loaded_projects() API, supported
by a new internal LoaderContext.loaded_projects() function.
This allows the frontend some helpful information to print about
the loaded projects in the session heading.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This commit makes it mandatory to specify the `plugins` configuration
directly in the `project.conf`, and at the same time removes any ambiguity
as to which plugins are loaded and how. It thus becomes impossible for
the first pass to load the same plugins differently than in the second
pass.
Additionally, some additional project.conf keys are asserted to be
specified in the toplevel project.conf and not included as a matter
of policy and consistency.
Summary of changes:
* _project.py
- Only one set of plugin factories, loaded only in the first pass.
- Assert the following keys are only specified in project.conf and
not included from other files:
name, element-path, min-version, plugins
- The create_element() and create_source() methods no longer need
to take a `first_pass` argument
* element.py: Updated to not specify `first_pass` to create_element()
or create_source()
* _frontend/widget.py: Print the only set of plugins which are loaded,
no more ambiguity about first or second pass.
* _pluginfactory/pluginoriginjunction.py: Chain load plugins from
the single element/source factory, instead of accessing the
Project.config member which no longer has the factories.
|