You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@buildstream.apache.org by ju...@apache.org on 2021/03/04 13:11:37 UTC
[buildstream] branch juerg/remote-cache updated (425e8dc -> 85f4e6e)
This is an automated email from the ASF dual-hosted git repository.
juergbi pushed a change to branch juerg/remote-cache
in repository https://gitbox.apache.org/repos/asf/buildstream.git.
omit 425e8dc _sandboxremote.py: Make storage-service optional with remote cache
omit 802f4f8 _context.py: Add support for remote-cache configuration
omit e17157f _cas: Add support for remote cache
omit 206dbe0 Use CASCache.open()
omit fa3018c cascache.py: Add open() method
omit 0ca4e53 cascache.py: Generalize remote_missing_blobs() into missing_blobs()
omit c17c987 cascache.py: Optimize _fetch_tree() using add_objects()
omit 5bc8122 cascache.py: Add add_objects() method
omit d229eb5 cascache.py: Remove unused parameters from add_object()
omit 9a7d796 cascache.py: Remove _ensure_blob() method
omit 0a0573f cascache.py: Also fetch file blobs in _fetch_directory()
omit 1839329 cascache.py: Reimplement _fetch_directory() with FetchTree()
omit 87975ab Move _reachable_refs_dir() method from cascache.py to testutils
omit bded35e _sandboxremote.py: Drop unused output_files_required parameter
omit 87e93c1 Always require artifact files
omit 613ae89 Drop pull-artifact-files config option for remote execution
omit 2bc6fd0 element.py: Move get_logs() to internal API
omit 5ef4aba Call _initialize_state() in Element._new_from_load_element()
omit 7079ac7 Move artifact cache query to pull job
omit 94a1fb4 Always schedule pull job
omit b6bf642 _artifact.py: Add cached and strong_key parameters to set_cached()
omit a3a794f Move source cache query to fetch job
omit 6d3518a _stream.py: Add query_cache() method
omit 23045bc _elementsources.py: Make cache query explicit
omit de981f9 _artifact.py: Make cache query explicit
omit e9f34da _pipeline.py: Drop the optimization for cached elements in the planner
omit 17c3ee5 fetchqueue.py: Don't skip elements with a cached failure
omit 9f2370e tests/internals/pluginloading: Add missing get_ref() to FooSource
omit 97fc9dd tests/frontend/push.py: Allow pushing of dependencies
add 57beae4 job.py: Remove the ability to send child data to the parent
add 79d1eca job.py: Stop sending the result from a job through the pipe
add ded144e job.py: Stop sending errors through the child-parent pipe, and set it directly
add 3f07e60 job.py: Simplify handling of messages through the parent-child pipe
add 5f68adb Merge branch 'bschubert/optimize-job' into 'master'
add 4828aa3 _yaml.pyi: Adding declaration for _yaml.load()
add f10feb3 node.pyi: Adding missing forward declarations
add 3fa8d74 sandbox/_config.py, element.py: Refactor SandboxConfig
add 548b23d _protos: Regenerated protos for artifact proto update
add 965da0a _artifact.py: Store additional metadata on the artifact
add 837acb9 _artifactcache.py: Fixed logging messages to display cache keys
add fd298b1 element.py: Added missing api doc comment for _walk_artifact_files()
add 85bc237 _stream.py: Add _load_artifacts() here
add 5352d7b _stream.py: Centralize application state cleanup
add 5ace573 _project.py, _artifactproject.py: Adding ArtifactProject
add f9cf2e5 _artifact.py: Added properties for cache key access
add 83ca987 Refactor ArtifactElement instantiation
add 69e89fa tests/integration/artifact.py: Test preservation of environment variables
add 7f69411 Merge branch 'tristan/refactor-artifact-elements' into 'master'
add 60fd8c3 requirements: Update all requirements
add 642e423 Merge branch 'bschubert/coverage' into 'master'
add 2b9fbf3 _context.py: don't delete bst1 extract directory
add b6ea793 Merge branch 'abderrahim/no-delete-extract' into 'master'
add c493a99 .gitlab-ci.yml: Disable parallel testing on centos-7.7 and ubuntu-18.04
add 47ef74f Merge branch 'juerg/ci' into 'master'
add c35f843 Move _reachable_refs_dir() method from cascache.py to testutils
add b480a2a cascache.py: Reimplement _fetch_directory() with FetchTree()
add 0b5155e cascache.py: Also fetch file blobs in _fetch_directory()
add 1029ea0 cascache.py: Remove _ensure_blob() method
add 1c8e13c cascache.py: Remove unused parameters from add_object()
add 604fa06 cascache.py: Add add_objects() method
add 698330a cascache.py: Optimize _fetch_tree() using add_objects()
add 8c69767 cascache.py: Generalize remote_missing_blobs() into missing_blobs()
add a501b0e cascache.py: Add open() method
add c836b7b Use CASCache.open()
add 2704394 Merge branch 'juerg/cas' into 'master'
add f9ac481 _state.py: Rename _Task -> Task
add cbc8e78 Refactor: Use explicit invocation for retrying jobs.
add 4c7656f _state.py: Full type hinting
add ae3344b Merge branch 'tristan/refactor-retry-task' into 'master'
add 766330f doc/source/format_declaring.rst: Minor corrections and added references.
add fe6523a doc: Documenting "artifact names".
add 61cc93d plugins/elements/stack.py: Require all dependencies be build & run.
add 0b94cd1 NEWS: Document breaking change, stack element dependencies must be build + run
add 091c9c8 tests/format/stack.py: Test stack dependency types
add 75eb8c1 Merge branch 'tristan/stack-require-depends-all' into 'master'
add 66120e6 _stream.py, _frontend/widget.py: Fix weird hack
add 2e4800f Merge branch 'tristan/fix-artifact-name-hack' into 'master'
add e35c19d .gitlab-ci.yml: No need special runner for cached overnigth test
add 5987418 Merge branch 'jjardon/bst_master_fix_overnigth' into 'master'
add 95c3330 _stream.py: Added missing machine readable error codes
add 98c8070 testing/runcli.py: Create the directory in Cli() __init__()
add 9a12438 testing/__init__.py: Expose the Cli() instance
add 6ea7077 testutils/__init__.py: Expose the internal ArtifactShare object
add 20529b0 tests/integration/shellbuildtrees.py: Use module scope fixtures and parametrize
add ba5664f Merge branch 'tristan/refactor-shell-builtree-tests' into 'master'
add a15c16c _messenger.py: Adding (almost) full pep484 type annotations.
add dc49eb8 _messenger.py: Adding convenience methods for issuing info and warn messages
add 23b2ff1 _stream.py: Remove private _message() function
add 0f658ee _pipeline.py: Remove private _message() function
add 6a703cd _assetcache.py: Remove private _message() function
add 54e59c0 _cas/casdprocessmanager.py: Use Messenger convinence functions.
add 50c0e9c _project.py: Use Messenger convenience functions
add 4252f55 _loader/loader.py: Use Messenger convenience functions
add cd5a8ef _scheduler/scheduler.py: Use Messenger convenience functions
add 7e76770 _pluginfactory/pluginfactory.py: Use Messenger convenience functions
add 7eb616f sandbox/sandbox.py: Use Messenger convenience functions
add 90112aa sandbox/_sandboxremote.py: Use Messenger convenience functions
add ad4cbd3 sandbox/_sandboxbuildboxrun.py: Use Messenger conveinence functions
add 096c729 Merge branch 'tristan/messenger-convenience-functions' into 'master'
add 5a004b8 tests/frontend/push.py: Fix fallout from recent tests
add 6904c13 Merge branch 'tristan/fix-broken-test' into 'master'
add 73dde7d tests/internals/pluginloading.py: Removed test
add 24680e5 _stream.py: Add internal _resolve_remotely_cached()
add 1d7acf2 _stream.py: Added internal _load_elements()
add d3b6e9d _stream.py: Add internal _resolve_elements()
add 8c38451 _stream.py: Added internal _track_cross_junction_filter()
add 5bf376f _stream.py: Don't use Pipeline.add_elements()
add fab2c73 _pipeline.py: Remove check_remotes()
add 8fbfc4b _pipeline.py: Remove load() method
add 2c1bb09 _pipeline.py: Remove resolve_elements().
add bcb339d _pipeline.py: Remove track_cross_junction_filter()
add 082a5ca _pipeline.py: Remove add_elements()
add 5ccacfc _pipeline.py/_stream.py: Remove Pipeline object
add 74833a7 Merge branch 'tristan/dissolve-pipeline' into 'master'
add 32b155c .asf.yaml: Adding initial github configuration
add 1d8f470 .asf.yaml: Unprotecting branches until migration is complete
add 9fd8558 Test Actions
add 42d13b7 Remove notes
add 0b187c8 Move CI_IMAGE to global scope
add 23e2af9 Add no-usedevelop job
add be8b9e5 Add tests-plugins-master job
add bd3a7f3 Add missing-deps test job
add a4e0056 Move PYTEST_ARGS to top-level env
add b7c4258 .github/workflows/ci.yml: Use fresh docker images
add 44ff8e1 .github/workflows/ci.yml: Fix TOXENV, there is no py6-plugins env.
add 43b9284 .github/workflows/ci.yml: Add py38 to the toxenv list
add 944d22e .github/workflows/ci.yml: Disable parallelism in pytest
add 41d3fe5 .github/workflows/ci.yml: Generate test runner script
add af87b46 .github/workflows/ci.yml: Upload an artifact from the docs job
add bf48af7 .github/workflows/ci.yml: Ensure we rebuild the docs sessions in CI
add 51acea3 .github/workflows/release.yml: Add release.yml workflow for uploading releases
add e52715c .github/workflows/merge.yml: Publish docs post merge
add 6faceda Fixing merge CI to update github pages
add 33aae13 .github/workflows/merge.yml: Generate the gh-pages branch with .nojekyll
add a74dcb4 .github/workflows/ci.yml: Checkout using tags
add e1b96c1 _types.pyx: Fixing new error from updated sphinx
add ee9cf3a .asf.yaml: Enable publishing master docs to github pages
add cd2f743 Removing all traces of gitlab metadata
add 1000229 BuildStream.doap: Remove BuildStream.doap
add b8736e4 CONTRIBUTING.rst: Updating some references to gitlab
add 91c6dce COMMITTERS.rst: s/gitlab/github
add ccd03ee doc/source/arch_sandboxing.rst: s/gitlab/github
add 2440543 doc/source/additional_docker.rst: s/gitlab/github
add 044c917 doc/source/hacking/ui.rst: s/gitlab/github
add 24bfee7 doc/source/main_install.rst: s/gitlab/github
add c02e5c1 docs examples: s/gitlab/github
add 7bbed2e .github/workflows/ci.yml: Enable CI to run on pull request events.
add 1d669eb .github/workflows/ci.yml: Enhance CI run conditions
add 00a339c .github/CODEOWNERS: Added the CODEOWNERS file
add 9cb0e58 .asf.yaml: Testing protection of multiple branches
add 459fcd4 .asf.yaml: Testing protected branches with dictionary
add 7e78955 .asf.yaml: Test removing review requirement
add 0470fdc .github/workflows/merge.yml: Publish docs in the docs/ subdirectory
add 6f603d7 .github/workflows/merge.yml: Fix tab errors in previous commit
add 20add16 .github/workflows/merge.yml: Fix publishing of docs tarball.
add f0a0ffd .asf.yaml: Configure pages to be published from /docs
add f1f4560 doc/badges.py: Adjustment of badge generation
add aeb7a8d doc/badges.py: Adding staticly generated HTML page for automated redirects.
add 8cad3f2 ci: Simplify pipelines using Docker Compose
add 58fc11c ci: Enable parallelism for tests
add a666b0f Merge pull request #1441 from apache/chandan/compose
add 8cbbeb1 .asf.yaml: Redirect notifications to the commit list
add ed48d1b .github/common.env: Defining TOXENV candidates here
add 517e7b3 .github/compose/ci.docker-compose.yml: Minor refactoring here
add e087c8a .github: Added remote execution CI
add 443d3ba Merge pull request #1444 from apache/tristan/remote-execution-testing
add b51aa86 .github: Refactor how we run the remote execution test
add 835c4b4 .github: Revived remote cache testing
add 7e52067 Merge pull request #1445 from apache/tristan/remote-cache-testing
add e8de0d5 _assetcache.py: Allow explicit re-initialization of remotes.
add 8171596 element.py: Added internal API _mimic_artifact()
add ab8f1dc _artifactelement.py: Override _pull_done()
add 432c195 _stream.py: Pre-emptive pulling of artifact metadata in some cases
add 43c8206 _stream.py: Added new _reset() function.
add 33a5107 tests/frontend/artifact_pull.py: Test pulling artifacts with various deps options
add 01af64a tests/frontend/artifact_checkout.py: Test checking out remote artifacts
add 89d3af2 Merge pull request #1433 from apache/tristan/fix-recursive-artifact-pull
add 19cd578 Allow certain operations to work without loading a project
add 1c648cf tests/frontend/artifact_list_contents.py: Use parametrized tests
add 4eb2c07 tests/frontend/artifact_list_contents.py: Test listing artifact content without a project
add 953c0ee tests/frontend/artifact_checkout.py: Test artifact checkout without project
add 15f0301 tests/frontend/artifact_delete.py: Test artifact deletion without a project
add 1e4a48a tests/frontend/artifact_log.py: Test artifact log without a project
add 724337b tests/frontend/artifact_pull.py: Test artifact pull without a project
add cc66f9e tests/frontend/artifact_show.py: Test artifact show without a project
add 7dd7690 Merge pull request #1442 from apache/tristan/optional-project
add 0b1f29f .github: Add fedora 33 to CI suite
add 04ed272 .github: Stop testing against Fedora 31
add e02af38 Merge pull request #1446 from apache/chandan/fedora-33
add aa6feac node.pyx: Fixed error reporting in SequenceNode.as_str_list()
add b6ad110 node.pyx: Fix segfault when calling MappingNode.get_str_list() with default None
add 88625fb node.pyi: Adding some missing type annotations
add 36594b6 node.pyx, node.pxd, node.pyi: Type checking in MappingNode.get_sequence()
add 77b0114 tests/internals/yaml.py: Test error reporting of SequenceNode.as_str_list()
add fbda86d tests/internals/yaml.py: Test MappingNode.get_str_list() with default None
add fcb7c8b Merge pull request #1452 from apache/tristan/yaml-fixes
add 6957eeb Temporarily disabling notifications
add 363ae31 Revert "Temporarily disabling notifications"
add 93a7a3a buildelement: switch order of timed_activity and sandbox.batch
add 3c2cace Merge pull request #1437 from abderrahim/context-manager-order
add dd80e0f .asf.yaml: Publish pages from root of the gh-pages branch
add 3827f3b .github/workflows/merge.yml: Refactor docs generation
add 2d5d486 .github/workflows/merge.yml: Fix docs publishing
add f26dcd8 .asf.yaml: Updating github metadata.
add c04352b .asf.yaml: Explicitly setting pages to publish from the "/"
add f7f9c97 element.py: Remove local __remote_execution_specs instance variable
add eda23aa _remotespec.py: Moving RemoteSpec and RemoteExecutionSpec to its own file
add 497e1ca Remote execution can only be configured in user configuration
add 8cfa27f plugins/elements/junction.py: Remove ambiguous cache related junction parameters
add a61f9f1 _remotespec.py: Modified format to put the certs in an "auth" dictionary.
add b8d1de7 Refactor remote asset user configuration
add 300e813 node.pyi: Fleshing out more type information about nodes.
add fd51cf2 _context.py: Changed artifact and source cache configuration again.
add e89a17a _frontend/widget.py: Print remote execution setup and project cache servers
add d1d9f33 NEWS: Document breaking change, removed support for deprecated RE config
add 10ad071 NEWS: Documenting breaking change, redesign of remote cache configuration
add 7a35498 doc: Redocumenting artifact/source cache servers.
add c143131 Merge pull request #1434 from apache/tristan/change-remote-config
add 5034c9c .github/compose/ci.remote-execution.yml: Fix tests
add a7fd921 Merge pull request #1444 from apache/tristan/fix-remote-execution-tests
add 77f2f48 _frontend/cli.py: Removing support for deprecated commands.
add b05dd1f _remotespec.py: Adding RemoteSpec.new_from_string()
add 4b90394 Moving HostMount from _project.py -> types.py
add 97deb41 Moving some cython functions into _utils.pyx
add d2c9c89 Support specifying remotes on the command line.
add f0e2e79 doc: Documenting how to specify remotes on the command line.
add a292743 NEWS: Updating with some new breaking changes
add d4cb3be Merge pull request #1438 from apache/tristan/remote-cli-options
add 7fcb131 _context.py: Remote `prompt` as a valid configuration key
add b646a8f _frontend/widget.py: Format full element names in `bst show --format %{deps}`
add 651bb00 doc/source/using_config.rst: Completely and thoroughly document user config.
add aabb43e src/buildstream/data/userconfig.yaml: Remove some comments.
add 822b83f Merge pull request #1442 from apache/tristan/user-config-docs
add e66910d _frontend/cli.py: Add `--except` option to `bst source push`
add 9de6fb3 Merge pull request #1445 from apache/tristan/add-except-option
add 4f617ed doc/source/main_install.rst: Update BuildBox components to 0.0.38
add 5ebe6ab Merge pull request #1443 from apache/juerg/buildbox
add 13ac060 _messenger.py: Add a hook to explicitely start a new action context
add a05e05a job.py: Stop using the queue to send data between the child and parent
add fa32cda job.py: Completely remove the pipe between child and parent process
add e429656 Merge pull request #1447 from apache/bschubert/remove-pipe-job
add dc490ea tests/frontend/push.py: Allow pushing of dependencies
add 3a1ba18 fetchqueue.py: Don't skip elements with a cached failure
add 6f47bd2 _pipeline.py: Drop the optimization for cached elements in the planner
add 0efd0c0 _artifact.py: Make cache query explicit
add c408501 _elementsources.py: Make cache query explicit
add 73eaae8 element.py: Combine cache query and pull into `_load_artifact()`
add 54e9ff0 Use _load_artifact() for ArtifactElement
add b7ff365 Move artifact and source cache query trigger to Stream class
add e01068c Call _initialize_state() in Element._new_from_load_element()
add 851d2be _artifact.py: Add cached and strong_key parameters to set_cached()
add af84f15 element.py: Move get_logs() to internal API
add a36a383 Drop pull-artifact-files config option for remote execution
add a71e63e Always require artifact files
add c5a5d7d _sandboxremote.py: Drop unused output_files_required parameter
add b4b2fb6 _cas: Add support for remote cache
add d2e404c _context.py: Add support for remote-cache configuration
add 160c666 _sandboxremote.py: Make storage-service optional with remote cache
add 6a97826 _scheduler: Add CacheQueryQueue to support cache query in job threads
add 85f4e6e _stream.py: Parallelize cache queries if a remote cache is configured
This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version. This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:
* -- * -- B -- O -- O -- O (425e8dc)
\
N -- N -- N refs/heads/juerg/remote-cache (85f4e6e)
You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.
Any revisions marked "omit" are not gone; other references still
refer to them. Any revisions marked "discard" are gone forever.
No new revisions were added by this update.
Summary of changes:
.asf.yaml | 58 +
.github/CODEOWNERS | 6 +
.github/common.env | 6 +
.../compose/buildbarn-config}/asset.jsonnet | 0
.../compose/buildbarn-config}/storage.jsonnet | 0
.../compose/ci.buildbarn-remote-cache.yml | 12 +-
.../compose/ci.buildstream-remote-cache.yml | 4 +-
.github/compose/ci.docker-compose.yml | 112 ++
.../compose/ci.remote-execution.yml | 10 +-
.github/workflows/ci.yml | 153 +++
.github/workflows/merge.yml | 86 ++
.github/workflows/release.yml | 40 +
.gitlab-ci.yml | 464 --------
.gitlab/CODEOWNERS | 4 -
.gitlab/issue_templates/bst_bug.md | 38 -
.gitlab/issue_templates/bst_task.md | 19 -
.../merge_request_templates/bst_merge_request.md | 19 -
.../merge_request_templates/stale_MR_message.md | 11 -
.pylintrc | 6 +-
BuildStream.doap | 32 -
COMMITTERS.rst | 4 +-
CONTRIBUTING.rst | 75 +-
NEWS | 21 +
README.rst | 4 +-
doc/Makefile | 4 +-
doc/badges.py | 45 +-
doc/source/additional_docker.rst | 7 +-
doc/source/arch_sandboxing.rst | 6 +-
doc/source/developing/strict-mode.rst | 2 +-
doc/source/developing/workspaces.rst | 2 +-
doc/source/examples/flatpak-autotools.rst | 4 +-
doc/source/format_declaring.rst | 10 +-
doc/source/format_project.rst | 162 +--
doc/source/hacking/ui.rst | 9 +-
doc/source/handling-files/composition.rst | 2 +-
doc/source/handling-files/filtering.rst | 2 +-
doc/source/handling-files/overlaps.rst | 2 +-
doc/source/junctions/junction-elements.rst | 4 +-
doc/source/junctions/junction-includes.rst | 2 +-
doc/source/junctions/junction-workspaces.rst | 2 +-
doc/source/main_glossary.rst | 4 +
doc/source/main_install.rst | 19 +-
doc/source/tutorial/autotools.rst | 2 +-
doc/source/tutorial/directives.rst | 2 +-
doc/source/tutorial/first-project.rst | 2 +-
doc/source/tutorial/integration-commands.rst | 4 +-
doc/source/tutorial/running-commands.rst | 2 +-
doc/source/using_commands.rst | 94 ++
doc/source/using_config.rst | 1113 +++++++++++++++++---
doc/source/using_configuring_cache_server.rst | 57 +-
requirements/cov-requirements.txt | 16 +-
requirements/dev-requirements.txt | 20 +-
requirements/requirements.txt | 16 +-
setup.py | 2 -
src/buildstream/_artifact.py | 180 +++-
src/buildstream/_artifactcache.py | 61 +-
src/buildstream/_artifactelement.py | 121 +--
src/buildstream/_artifactproject.py | 88 ++
src/buildstream/_assetcache.py | 432 +++-----
src/buildstream/_cas/cascache.py | 4 +-
src/buildstream/_cas/casdprocessmanager.py | 21 +-
src/buildstream/_cas/casremote.py | 12 +-
src/buildstream/_context.py | 407 +++++--
src/buildstream/_elementsources.py | 25 +-
src/buildstream/_elementsourcescache.py | 13 +-
src/buildstream/_frontend/app.py | 27 +-
src/buildstream/_frontend/cli.py | 422 +++++---
src/buildstream/_frontend/widget.py | 106 +-
src/buildstream/_loader/_loader.pyi | 1 -
src/buildstream/_loader/_loader.pyx | 52 -
src/buildstream/_loader/loader.py | 9 +-
src/buildstream/_messenger.py | 283 +++--
src/buildstream/_pipeline.py | 613 +++++------
src/buildstream/_platform/platform.py | 2 +-
src/buildstream/_pluginfactory/pluginfactory.py | 5 +-
src/buildstream/_pluginfactory/pluginoriginpip.py | 7 +-
src/buildstream/_project.py | 269 ++---
.../bazel/remote/asset/v1/remote_asset_pb2.py | 90 +-
.../bazel/remote/asset/v1/remote_asset_pb2_grpc.py | 17 +-
.../remote/execution/v2/remote_execution_pb2.py | 409 ++++---
.../execution/v2/remote_execution_pb2_grpc.py | 28 +-
.../_protos/build/bazel/semver/semver_pb2.py | 12 +-
.../_protos/build/bazel/semver/semver_pb2_grpc.py | 1 +
.../_protos/build/buildgrid/local_cas_pb2.py | 145 ++-
.../_protos/build/buildgrid/local_cas_pb2_grpc.py | 40 +-
.../_protos/buildstream/v2/artifact.proto | 19 +
.../_protos/buildstream/v2/artifact_pb2.py | 79 +-
.../_protos/buildstream/v2/artifact_pb2_grpc.py | 1 +
.../_protos/buildstream/v2/buildstream_pb2.py | 29 +-
.../_protos/buildstream/v2/buildstream_pb2_grpc.py | 18 +-
.../_protos/buildstream/v2/source_pb2.py | 8 +-
.../_protos/buildstream/v2/source_pb2_grpc.py | 1 +
.../_protos/google/api/annotations_pb2.py | 5 +-
.../_protos/google/api/annotations_pb2_grpc.py | 1 +
src/buildstream/_protos/google/api/http_pb2.py | 36 +-
.../_protos/google/api/http_pb2_grpc.py | 1 +
.../_protos/google/bytestream/bytestream_pb2.py | 37 +-
.../google/bytestream/bytestream_pb2_grpc.py | 10 +-
.../_protos/google/longrunning/operations_pb2.py | 46 +-
.../google/longrunning/operations_pb2_grpc.py | 13 +-
src/buildstream/_protos/google/rpc/code_pb2.py | 55 +-
.../_protos/google/rpc/code_pb2_grpc.py | 1 +
src/buildstream/_protos/google/rpc/status_pb2.py | 10 +-
.../_protos/google/rpc/status_pb2_grpc.py | 1 +
src/buildstream/_remote.py | 212 +---
src/buildstream/_remotespec.py | 496 +++++++++
src/buildstream/_scheduler/__init__.py | 1 +
src/buildstream/_scheduler/jobs/_job.pyi | 1 -
src/buildstream/_scheduler/jobs/_job.pyx | 15 -
src/buildstream/_scheduler/jobs/elementjob.py | 9 -
src/buildstream/_scheduler/jobs/job.py | 250 +----
.../queues/{pullqueue.py => cachequeryqueue.py} | 52 +-
src/buildstream/_scheduler/queues/fetchqueue.py | 24 +-
src/buildstream/_scheduler/queues/pullqueue.py | 40 +-
src/buildstream/_scheduler/queues/queue.py | 15 +-
src/buildstream/_scheduler/scheduler.py | 19 +-
src/buildstream/_sourcecache.py | 15 +-
src/buildstream/_state.py | 361 ++++---
src/buildstream/_stream.py | 938 ++++++++++++-----
src/buildstream/_types.pyx | 2 +-
src/buildstream/_utils.pyi | 2 +
src/buildstream/_utils.pyx | 50 +
src/buildstream/_versions.py | 2 +-
src/buildstream/_workspaces.py | 10 +-
src/buildstream/_yaml.pyi | 8 +-
src/buildstream/buildelement.py | 2 +-
src/buildstream/data/userconfig.yaml | 55 +-
src/buildstream/element.py | 369 ++++---
src/buildstream/node.pxd | 2 +-
src/buildstream/node.pyi | 103 +-
src/buildstream/node.pyx | 82 +-
src/buildstream/plugins/elements/junction.py | 13 +-
src/buildstream/plugins/elements/stack.py | 95 +-
src/buildstream/sandbox/_config.py | 131 ++-
src/buildstream/sandbox/_sandboxbuildboxrun.py | 7 +-
src/buildstream/sandbox/_sandboxremote.py | 206 +---
src/buildstream/sandbox/sandbox.py | 9 +-
src/buildstream/testing/__init__.py | 2 +-
src/buildstream/testing/_sourcetests/track.py | 2 +-
src/buildstream/testing/runcli.py | 11 +-
src/buildstream/types.py | 22 +-
tests/artifactcache/capabilities.py | 6 +-
tests/artifactcache/config.py | 130 +--
tests/artifactcache/junctions.py | 159 +--
tests/artifactcache/pull.py | 15 +-
tests/artifactcache/push.py | 27 +-
tests/cachekey/project/elements/build1.expected | 2 +-
tests/cachekey/project/elements/build2.expected | 2 +-
tests/cachekey/project/elements/build3.expected | 2 +-
tests/cachekey/project/elements/compose1.expected | 2 +-
tests/cachekey/project/elements/compose2.expected | 2 +-
tests/cachekey/project/elements/compose3.expected | 2 +-
tests/cachekey/project/elements/compose4.expected | 2 +-
tests/cachekey/project/elements/compose5.expected | 2 +-
tests/cachekey/project/elements/import1.expected | 2 +-
tests/cachekey/project/elements/import2.expected | 2 +-
tests/cachekey/project/elements/import3.expected | 2 +-
tests/cachekey/project/elements/script1.expected | 2 +-
tests/cachekey/project/sources/bzr1.expected | 2 +-
tests/cachekey/project/sources/git1.expected | 2 +-
tests/cachekey/project/sources/git2.expected | 2 +-
tests/cachekey/project/sources/git3.expected | 2 +-
tests/cachekey/project/sources/local1.expected | 2 +-
tests/cachekey/project/sources/local2.expected | 2 +-
tests/cachekey/project/sources/patch1.expected | 2 +-
tests/cachekey/project/sources/patch2.expected | 2 +-
tests/cachekey/project/sources/patch3.expected | 2 +-
tests/cachekey/project/sources/pip1.expected | 2 +-
tests/cachekey/project/sources/remote1.expected | 2 +-
tests/cachekey/project/sources/remote2.expected | 2 +-
tests/cachekey/project/sources/tar1.expected | 2 +-
tests/cachekey/project/sources/tar2.expected | 2 +-
tests/cachekey/project/sources/zip1.expected | 2 +-
tests/cachekey/project/sources/zip2.expected | 2 +-
tests/cachekey/project/target.expected | 2 +-
.../dependencies1/elements/builddep-list.bst | 4 +-
.../format/dependencies1/elements/list-combine.bst | 2 +-
.../dependencies1/elements/runtimedep-list.bst | 4 +-
tests/format/project.py | 7 +-
tests/format/stack.py | 22 +
.../stack/elements/build-only-stack.bst} | 2 +-
tests/format/stack/elements/dependency.bst | 2 +
.../stack/elements/runtime-only-stack.bst} | 3 +-
tests/format/{dependencies1 => stack}/project.conf | 0
tests/frontend/artifact_checkout.py | 84 ++
tests/frontend/artifact_delete.py | 11 +-
tests/frontend/artifact_list_contents.py | 107 +-
tests/frontend/artifact_log.py | 34 +-
tests/frontend/artifact_pull.py | 83 ++
tests/frontend/artifact_show.py | 11 +-
tests/frontend/buildcheckout.py | 9 +-
tests/frontend/completions.py | 13 +-
.../default-target/elements/dummy_stack.bst | 2 +-
tests/frontend/default_target.py | 46 +-
tests/frontend/help.py | 4 +-
tests/frontend/large_directory.py | 2 +-
.../foo.bst => project/elements/target-import.bst} | 4 +
tests/frontend/pull.py | 70 +-
tests/frontend/push.py | 111 +-
tests/frontend/remote-caches.py | 8 +-
.../strict-depends/elements/non-strict-depends.bst | 2 +-
.../strict-depends/elements/strict-depends.bst | 2 +-
tests/frontend/track.py | 2 +-
tests/frontend/workspace.py | 2 +-
tests/integration/artifact.py | 81 +-
tests/integration/cachedfail.py | 8 +-
.../project/elements/compose/test-integration.bst | 2 +-
.../elements/{integration.bst => echo-env-var.bst} | 3 +-
.../project/elements/echo-target.bst} | 2 +-
tests/integration/project/project.conf | 2 +
tests/integration/pullbuildtrees.py | 16 +-
tests/integration/shell.py | 4 +-
tests/integration/shellbuildtrees.py | 459 ++++----
tests/internals/cascache.py | 26 +-
tests/internals/pluginloading.py | 38 -
.../customelement/elements/simple.bst | 4 -
.../customelement/pluginelements/__init__.py | 0
.../customelement/pluginelements/foo.py | 19 -
.../pluginloading/customelement/project.conf | 8 -
.../pluginloading/customsource/elements/simple.bst | 6 -
.../customsource/pluginsources/__init__.py | 0
.../customsource/pluginsources/foo.py | 22 -
.../pluginloading/customsource/project.conf | 8 -
tests/internals/yaml.py | 31 +
tests/internals/yaml/list-of-dict.yaml | 5 +
tests/internals/yaml/list-of-list.yaml | 3 +
tests/remotecache/simple.py | 2 +-
tests/remoteexecution/buildtree.py | 4 +-
tests/sandboxes/remote-exec-config.py | 63 +-
.../missing-certs}/project.conf | 0
tests/sourcecache/capabilities.py | 12 +-
tests/sourcecache/fetch.py | 18 +-
tests/sourcecache/push.py | 24 +-
tests/sourcecache/staging.py | 6 +-
tests/sourcecache/workspace.py | 6 +-
tests/testutils/__init__.py | 2 +-
236 files changed, 7335 insertions(+), 5305 deletions(-)
create mode 100644 .asf.yaml
create mode 100644 .github/CODEOWNERS
create mode 100644 .github/common.env
rename {.gitlab-ci/config => .github/compose/buildbarn-config}/asset.jsonnet (100%)
rename {.gitlab-ci/config => .github/compose/buildbarn-config}/storage.jsonnet (100%)
rename .gitlab-ci/buildbarn-remote-cache.yml => .github/compose/ci.buildbarn-remote-cache.yml (82%)
rename .gitlab-ci/cache-server.yml => .github/compose/ci.buildstream-remote-cache.yml (82%)
create mode 100644 .github/compose/ci.docker-compose.yml
rename .gitlab-ci/buildgrid-remote-execution.yml => .github/compose/ci.remote-execution.yml (77%)
create mode 100644 .github/workflows/ci.yml
create mode 100644 .github/workflows/merge.yml
create mode 100644 .github/workflows/release.yml
delete mode 100644 .gitlab-ci.yml
delete mode 100644 .gitlab/CODEOWNERS
delete mode 100644 .gitlab/issue_templates/bst_bug.md
delete mode 100644 .gitlab/issue_templates/bst_task.md
delete mode 100644 .gitlab/merge_request_templates/bst_merge_request.md
delete mode 100644 .gitlab/merge_request_templates/stale_MR_message.md
delete mode 100644 BuildStream.doap
create mode 100644 src/buildstream/_artifactproject.py
delete mode 100644 src/buildstream/_loader/_loader.pyi
delete mode 100644 src/buildstream/_loader/_loader.pyx
create mode 100644 src/buildstream/_remotespec.py
delete mode 100644 src/buildstream/_scheduler/jobs/_job.pyi
delete mode 100644 src/buildstream/_scheduler/jobs/_job.pyx
copy src/buildstream/_scheduler/queues/{pullqueue.py => cachequeryqueue.py} (53%)
create mode 100644 tests/format/stack.py
copy tests/{frontend/strict-depends/elements/non-strict-depends.bst => format/stack/elements/build-only-stack.bst} (62%)
create mode 100644 tests/format/stack/elements/dependency.bst
copy tests/{frontend/default-target/elements/dummy_stack.bst => format/stack/elements/runtime-only-stack.bst} (51%)
copy tests/format/{dependencies1 => stack}/project.conf (100%)
create mode 100644 tests/frontend/artifact_checkout.py
create mode 100644 tests/frontend/artifact_pull.py
copy tests/frontend/{logging/elements/foo.bst => project/elements/target-import.bst} (54%)
copy tests/integration/project/elements/{integration.bst => echo-env-var.bst} (68%)
copy tests/{format/project/empty-depends/manual.bst => integration/project/elements/echo-target.bst} (53%)
delete mode 100644 tests/internals/pluginloading.py
delete mode 100644 tests/internals/pluginloading/customelement/elements/simple.bst
delete mode 100644 tests/internals/pluginloading/customelement/pluginelements/__init__.py
delete mode 100644 tests/internals/pluginloading/customelement/pluginelements/foo.py
delete mode 100644 tests/internals/pluginloading/customelement/project.conf
delete mode 100644 tests/internals/pluginloading/customsource/elements/simple.bst
delete mode 100644 tests/internals/pluginloading/customsource/pluginsources/__init__.py
delete mode 100644 tests/internals/pluginloading/customsource/pluginsources/foo.py
delete mode 100644 tests/internals/pluginloading/customsource/project.conf
create mode 100644 tests/internals/yaml/list-of-dict.yaml
create mode 100644 tests/internals/yaml/list-of-list.yaml
copy tests/sandboxes/{missing-command => remote-exec-config/missing-certs}/project.conf (100%)