summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-09-12Removed prefix from execution backend hash to fix target cache directory nameSascha Roloff
2022-09-12Adapted Executor to upload known artifacts from local CAS to remote CAS in ↵Sascha Roloff
case they got pruned
2022-09-12Adapted TargetCache to download known artifacts from remote CAS to local CASSascha Roloff
2022-09-12Introduced RetrieveToCas function in IExecutionApi to synchronize artifacts ↵Sascha Roloff
between different CASes
2022-09-12BazelApi chunk availability check returns provided ArtifactDigestsSascha Roloff
2022-09-12Removed ArtifactDigest is_tree() predicateSascha Roloff
2022-09-12fix the path of the local tree-cas for compatible modeAlberto Sartori
in daca274041e31636f08927b0cebc56fd33c7bbdf it has been added a local tree-cas. This cas is populated only when just runs in native mode. However, even in compatible mode, a tree must be looked for in the tree-cas. This patch set the path of the tree-cas to be the same of file-cas while running in compatible mode.
2022-09-12Fixed tree handling in compatible mode and added regression testSascha Roloff
2022-08-31Also track the the dependencies on configured targetsKlaus Aehlig
... to be able to report the respective graph for later analysis by other tools.
2022-08-31Export targets that just used from external repositoriesKlaus Aehlig
So far, we did not export ["@", "grpc", "", "grpc++_codegen_proto"] and ["@", "grpc", "src/compiler", "grpc_cpp_plugin"]. Those targets where used implicitly in the generation of protobuf. As flexible config we use all variables those targets currently depend upon. This will have to be extended once cross compilation will be added. So far, the "TARGET_ARCH" is only used by targets that have different source files (typically inline assembly) for different target architectures. With cross compilation, also the tool chain will depend on the target architecture.
2022-08-26tutorial/test: demonstrate that the internals of the test are availableKlaus Aehlig
... by explaining how to install the test binary and manually interact with it. This also shows how to inspect an action for debugging.
2022-08-26tutorial/thrid-party-software: clarify tree refrenceKlaus Aehlig
... emphasizing that it constructs only a single artifact. In this way, we avoid confusion with globs (that are introduced later).
2022-08-24Glob tutorial: fix typos and white spaceKlaus Aehlig
2022-08-23Add new tutorial sections to READMEKlaus Aehlig
2022-08-23Add a tutorial section explaining targets vs explicit source referencesKlaus Aehlig
2022-08-23Add a rule to overlay artifact mapsKlaus Aehlig
... in a latest-wins fashion. The intended use case is overlaying globs with individual patched files.
2022-08-23Track tree references that have to be expandedKlaus Aehlig
... as this is relevant for performance of analysis. We log the total numer of trees at performance level and the individual directories at debug level, if requested.
2022-08-22Progress percentage: only count actual workKlaus Aehlig
When reporting the percentage already completed, only report actions that were actually run. Cache hits are considered by reducing the overall work to be considered, i.e., by making the completed actions count more. In practice, however, most cache hits are discovered ayway till the first progress status is reported.
2022-08-22Tutorial: Add minimalistic getting started sectionOliver Reiche
2022-08-19Tutorial: Use sh instead shell for improved renderingOliver Reiche
2022-08-19Progress: Print overall build progress in percentOliver Reiche
2022-08-19Rebuild: Support proper progress printingOliver Reiche
2022-08-19Bump verison to 1.0.0~beta2Klaus Aehlig
2022-08-19Add an end-to-end test for glob expansionKlaus Aehlig
2022-08-19Add glob reference to source filesKlaus Aehlig
Like file or tree references, globs are restricted to the current module; in fact, by the way we evaluate them, even to the top-level directory of that module: a glob is a target having as artifacts and runfiles those entries of the top-level directory of the specified module that match the given pattern.
2022-08-19directory_map: correctly resolve module names to directoriesKlaus Aehlig
When constructing module names, we normalize the directory path implicit in it. However, we take the empty string as valid canonical name for the top-level directory (as it is the empty relative path). When accessing git roots, however, only the file-system canonical path "." is special cased as self reference. Hence explicitly convert the empty string.
2022-08-19main: honor configuration for target_file nameKlaus Aehlig
... also when determining default module or target.
2022-08-16rules/CC: fix duplicated staging for libraryAlberto Sartori
2022-08-09RemoteExecutionClient: print debug stringAlberto Sartori
2022-08-05Add license fileKlaus Aehlig
Signed-off-by: Goetz Brasche <goetz.brasche@huawei.com>
2022-08-05dump-targets: don't dump source treesKlaus Aehlig
We have to include explicit tree references into our target-result map, as these targets can provide a tree definition, if the root is not a git root or compatible mode is used. Nevertheless, from a user's persepective, trees are just source references, like files. Therefore, do not include them, when dumping the map of analyzed targets. In this way, we also avoid the ambiguity in the dump between an explicit tree reference and a defined target with the same name.
2022-08-05Artifact reporting: repeat the failed artifactsKlaus Aehlig
In targets that produce a large list of artifacts, e.g., a simple test suite realized by "install", it is sometimes hard to find the failed artifacts after being made aware of them by the warning. Therefore, at info level, repeat a list of the failed artifacts close to the end of the output.
2022-08-05Move analysis out of main.cppKlaus Aehlig
Analysing a target is a pretty self-contained task. So move it into a library of its own, to keep main.cpp more managable.
2022-08-05Make ANSI escape sequences optionalKlaus Aehlig
2022-08-05Version: Bump up to 1.0.0~beta1Oliver Reiche
2022-08-05Describe: Move describe code to separate libraryOliver Reiche
2022-08-05InstallCas: Print warning for empty size in object-idOliver Reiche
2022-08-05InstallCas: Moved install-cas code to separate libraryOliver Reiche
2022-08-05InstallCas: Add test for reading large blobs via install-casOliver Reiche
2022-08-05BazelNetwork: Use bytestream for reading unknown size blobsOliver Reiche
... otherwise actual blob size might exceed the maximum transfer size of the CAS client. Therefore, we always have to use the bytestream client if the size is unknown.
2022-08-05Added test for native remote execution protocolSascha Roloff
2022-08-05Parse git tree objects instead of protobuf messages as action result in ↵Sascha Roloff
native mode
2022-08-05Add more tracing messages to remote execution clientSascha Roloff
2022-08-05Git tree based root digest creationSascha Roloff
2022-08-05BazelResponse: Support collecting output dirs in native modeOliver Reiche
2022-08-05LocalExecution: Use Git tree formatOliver Reiche
- LocalStorage Add tree CAS and support reading Git trees - LocalAction: Create Git tree for output directory - LocalApi: Support availability and upload of Git trees - LocalStorage: Support dumping tree to stream in native mode
2022-08-05LocalCAS: Support storing treesOliver Reiche
2022-08-05CLI: Add flag for dumping raw tree objectsOliver Reiche
2022-08-05BazelMsgFactory: Support dumping Git tree to stringOliver Reiche
2022-08-05BazelMsgFactory: Implement reading object infos from Git treeOliver Reiche