summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2022-10-07Bump suffix after fixing upload of known treesKlaus Aehlig
2022-10-07Fix upload of known source treesOliver Reiche
When a tree is taken from a git root, it is not necessarily known on the remote site. So, as any missing artifact it has to be uploaded, recursively uploading the parts to keep the tree invariant. The function RetrieveToCas was doing the correct recursiv pattern, however inspecting trees incorrectly using the function ReadTreeInfos; the latter function, however, was obtaining all the leafs of the tree as is needed for a compatible action-input description. Add and use a function that reads the direct contents of a tree.
2022-10-07LocalTreeMap: Drop the use of the map entirelyOliver Reiche
... as for remote execution, the map entries are only used for the `install` subcommand. For local execution, much less tree objects are read from CAS when using this map. However, the performance benefit is barely measurable and therefore we rather remove this map entirely to reduce complexity.
2022-10-07LocalTreeMap: Prevent tree objects from being storedOliver Reiche
... to align with the original idea of caching a flat list of blob objects, without the need to recursively traverse any trees. Consequently, we cannot create any map entry in places where we do not have all sub-tree entries at hand (e.g., LocalAPI, BazelAPI, BazelResponse).
2022-10-07BazelNetwork: Fix use of DirectoryMap in native modeOliver Reiche
... which is not using `Directory` messages nor does it support the `GetTree()` rpc.
2022-10-07Increase log level for grpc-related failures to warningKlaus Aehlig
... so that any infra structure problem on the remote execution is reported by default.
2022-10-07Improve error message on filure to execute a remote actionKlaus Aehlig
... to emphasize that this is the extensional action identifier, not the intensional one.
2022-10-05built-ins: Add new built-in rule 'configure'Oliver Reiche
2022-10-05Expr: Add 'env' expressionOliver Reiche
2022-10-05LocalAction: Improve error message for stagingOliver Reiche
2022-10-05AnalysedTarget: Make shared pointer's content immutableOliver Reiche
... while technically not required, it makes it harder to run into nasty errors.
2022-10-04just: Fix version subcommand; Fix just section-1 man pagePaul Cristian Sarbu
The version subcommand now has no expected command line options, as expected. Also the version subcommand was missing from the man page synopsis.
2022-09-16Also log dumping of the action graphKlaus Aehlig
... at INFO level, in the same way as all other dumping of analysis results happen.
2022-09-13Fix build with gcc/g++Oliver Reiche
2022-09-13Fix arch-specific type mismatchOliver Reiche
2022-09-13Fix wrongful conversions of object to arraysOliver Reiche
... by dropping curl-brace-initializers for nlohmann::json, which calls the intializer-list constructor converting any JSON type to array.
2022-09-13Executor: Avoid use of dynamic memoryOliver Reiche
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-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-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 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-09RemoteExecutionClient: print debug stringAlberto Sartori
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-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-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