summaryrefslogtreecommitdiff
path: root/src/buildtool/execution_engine
AgeCommit message (Collapse)Author
2023-05-31Executor: honor timeout scalingKlaus Aehlig
2023-04-26imports: Switch to Microsoft GSL implementationOliver Reiche
... with two minor code base changes compared to previous use of gsl-lite: - dag.hpp: ActionNode::Ptr and ArtifactNode::Ptr are not wrapped in gsl::not_null<> anymore, due to lack of support for wrapping std::unique_ptr<>. More specifically, the move constructor is missing, rendering it impossible to use std::vector<>::emplace_back(). - utils/cpp/gsl.hpp: New header file added to implement the macros ExpectsAudit() and EnsureAudit(), asserts running only in debug builds, which were available in gsl-lite but are missing in MS GSL.
2023-02-27Progress reporting: Extract generic logic from just progress classSascha Roloff
2023-02-22cleanup: Fix typos in code line comments and logging messagesPaul Cristian Sarbu
2023-02-22ExecutionApi: Retrieve to correct CAS directlyOliver Reiche
... by keeping track of each blob being a file or executable and storing it to the correct local physical CAS directory. The new flag is merely a hint and only used by the local execution API. Leaving it out will still correctly transfer the blob but may cause unnecessary duplicates in file CAS.
2023-01-31Fix segfault if reading git tree failedOliver Reiche
2022-11-24Add tree id to trace outputSascha Roloff
2022-11-21Use the newly-added concept of private-depsKlaus Aehlig
While there, also add all direct dependencies explicitly; using directly dependencies that are pulled in only indireclty causes problems from a maintainability point of view.
2022-10-14Remove default value of ArtifactDigest::Create template parameterSascha Roloff
This enforces the explicit specification, which object type, either file or tree, should be used to create an artifact digest. This also avoids subtile errors at locations as in the previous commit, where files as well as trees are supposed to be handled, but digest creation mistakenly defaults to file object type.
2022-10-12Add copyright and license notice to all source and header filesKlaus Aehlig
Signed-off-by: Goetz Brasche <goetz.brasche@huawei.com>
2022-09-13Executor: Avoid use of dynamic memoryOliver Reiche
2022-09-12Adapted Executor to upload known artifacts from local CAS to remote CAS in ↵Sascha Roloff
case they got pruned
2022-09-12Removed ArtifactDigest is_tree() predicateSascha Roloff
2022-08-19Rebuild: Support proper progress printingOliver Reiche
2022-08-05Add more tracing messages to remote execution clientSascha Roloff
2022-08-05Upload known git trees if not available in CASSascha Roloff
2022-08-05Modified artifact digest to provide wire digest on demandSascha Roloff
2022-07-07Traverser: Bring task system down gracefully on errorOliver Reiche
2022-06-20Crypto: Add and use set of globally used hash functionsOliver Reiche
2022-06-20Executor: Fix printing artifact idsOliver Reiche
2022-04-27dump action command on DebugLevelAlberto Sartori
2022-04-26Rebuild: report full command lineKlaus Aehlig
With the reformating of the analyse result we accepted longer output lines anyway. Allowing them in the report of a detected flaky action immediately gets the log and console output more useful, as the source can often be identified without looking at the full definition of the action in the action graph.
2022-04-25Progress reporting: include origins of running actionsKlaus Aehlig
For a user, an important information is to know which actions are currently running and, more importantly, the target that caused them. To do so, we need a bit of infrastructure. - We have to keep track of begin and end of running actions, as well as the order in which they were started. That has to happen efficiently and in a thread-safe way. - We have to compute and keep the origin map for actions, even if we don't serialize the action graph.
2022-04-21add compatibility with original remote build protocolAlberto Sartori
2022-04-04statistics: also count completed uncached actionsKlaus Aehlig
2022-03-23Apply changes suggested by clang-tidy 11Oliver Reiche
2022-03-23Apply changes suggested by clang-format 11Oliver Reiche
2022-03-16Format: Apply compact JSON formattingOliver Reiche
2022-03-04executor: fix json reporting of commandsKlaus Aehlig
When reporting a command that failed, or produced some output, report it as a list of strings, not as a singleton-list consisting of a list of strings. While there, improve wording of message; in particular, avoid confussion between a command that errored and one that produced outout on stderr.
2022-03-01Pass actions and trees in analysis result as shared pointerKlaus Aehlig
... to avoid unnecessary copying and moving of larger objects.
2022-02-28Executor: Log failing action's commandOliver Reiche
2022-02-28CLI: Add option to set action timeoutOliver Reiche
2022-02-22Initial self-hosting commitKlaus Aehlig
This is the initial version of our tool that is able to build itself. In can be bootstrapped by ./bin/bootstrap.py Co-authored-by: Oliver Reiche <oliver.reiche@huawei.com> Co-authored-by: Victor Moreno <victor.moreno1@huawei.com>