summaryrefslogtreecommitdiff
path: root/test/buildtool/execution_engine
AgeCommit message (Collapse)Author
2024-02-13executor-api test: also set env for echoKlaus Aehlig
... in order to not rely on the default launcher to pull it in.
2024-02-07executor tests: only use hard-coded paths if no PATH is providedKlaus T. Aehlig
2024-01-24just: Wrap IExecutionApi raw pointer argumentsPaul Cristian Sarbu
...in accordance to our coding style.
2024-01-09Refactor GraphTraverser to take in platform properties and dispatch listPaul Cristian Sarbu
In order for the serve endpoint to correctly dispatch a build to the correct remote-execution endpoint, the platform properties and dispatch list for a build need to be passed explicitly to the executor (via the graph traverser instance) instead of always being taken from the RemoteExecutionConfig struct. This commit implements these changes, including updating existing tests accordingly.
2023-11-27Refactoring RepositoryConfigPaul Cristian Sarbu
With the introduction of 'just serve', export targets can now be built also independently from one another based on their corresponding minimal repository configuration, as stored in the target cache key. In this context, this commit changes the RepositoryConfig usage from one global (static) instance to pointers passed as necessary throughout the code.
2023-11-22Implement blob splitting protocol on just client sideSascha Roloff
2023-11-15FileRoot: Add new absent root underlying type variantPaul Cristian Sarbu
Absent roots are characterised only by a Git tree hash, so a new variant of the underlying stored information was added in the form of a plain string. In order to avoid unwanted implicit conversions when instantiating via literal strings, we force callers of the constructors to explicitly differentiate between plain strings and filesystem paths. Existing tests were updated to reflect this. Co-authored-by: Alberto Sartori <alberto.sartori@huawei.com>
2023-08-24tests: Fix equal operator type mismatchOliver Reiche
... causing an error with gcc 13.2.0.
2023-07-27Execution API: support fetching a single artifact to memoryKlaus Aehlig
2023-07-21bugfix: stage symlinks as symlinks when creating an action directoryAlberto Sartori
Before this patch, when creating an action directory, symlinks were staged as regular files.
2023-06-26tests: Extend executor with symlink artifactsPaul Cristian Sarbu
2023-06-26Execution response: Add output symlink pathsPaul Cristian Sarbu
2023-06-06style: Use designated initializersPaul Cristian Sarbu
This feature has been introduced with C++20.
2023-05-24Split off tests into a separate logical repositoryKlaus Aehlig
This allows better separation and, in particular, repositories needed only for tests do not have to be provided for building the tools. This also better documents which dependencies are only needed for testing.
2023-03-31fix false positive warning with gcc12Oliver Reiche
2023-03-23execution api: support retrieving from more than one APIKlaus Aehlig
2023-03-15catch2: bump to version 3.3.2Alberto Sartori
tests have been updated accordingly
2023-03-10Switch CC tests depending on remote executionKlaus Aehlig
... to bring their own remote-execution endpoint.
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.
2022-12-09rules: Refactoring and minor improvementsOliver Reiche
Compared to the previous commit, the action graphs for just and its unit tests are unchanged. - Git hash of action graph for ["",""]: c6e75f17abd7ffaab6ff9bb725ad67ec0bf6c973 - Git hash of action graph for ["test/buildtool","TESTS"]: 8063dfb3dd7daa9ae01d95c177e14946f785c57e Refactor: - "local cflags" to "private-cflags" - "local defines" to "private-defines" - "link externals" to "private-ldflags" - "deps" to "private-deps" for (test) binaries - "proto" to "private-proto" for binaries Improvements: - consistent variable declaration order: OS, ARCH, HOST_ARCH, TARGET_ARCH, CC, CXX, CFLAGS, CXXFLAGS, ADD_CFLAGS, ADD_CXXFLAGS, AR, ENV, PATH - use fields close to their definition (in RULES) - use common expression for binaries and test binaries - split expression "flags" and "compiler" ... to separate ones for CC and CXX. - rename "transition" to "deps-transition" ... to avoid conflicts with other transitions. - support "defaults-transition" for CC expressions Implement: - "cflags" for libraries - "private-cflags" for (test) binaries - "private-defines" for test binaries - "private-ldflags" for test binaries - (public) "defines" for libraries
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-12Adapted Executor to upload known artifacts from local CAS to remote CAS in ↵Sascha Roloff
case they got pruned
2022-09-12Introduced RetrieveToCas function in IExecutionApi to synchronize artifacts ↵Sascha Roloff
between different CASes
2022-08-05CLI: Add flag for dumping raw tree objectsOliver Reiche
2022-08-05Introduced batch availability check for remote execution apiSascha Roloff
2022-08-05Modified artifact digest to provide wire digest on demandSascha Roloff
2022-07-28Executor Test: Add proper guards for optionalsOliver Reiche
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-13ArtifactDescription: Add ref getter for id and C++ hashOliver Reiche
2022-06-13RemoteExecutionConfig: Keep global platform propertiesOliver Reiche
... and cache endpoint address for rebuilding.
2022-03-23Apply changes suggested by clang-tidy 11Oliver Reiche
2022-03-16Format: Apply compact JSON formattingOliver 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>