summaryrefslogtreecommitdiff
path: root/test/buildtool
AgeCommit message (Collapse)Author
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-02-17structure cleanup: move remote operations of GitRepo to other_tools...Paul Cristian Sarbu
...in order to not include unwanted dependencies in just proper. The new class extends the GitRepo class used for just's Git tree operations and gets used in all of just-mr's async maps.
2023-02-17tests: Add proper quoting when system calling the shellPaul Cristian Sarbu
2023-01-24FileSystemManager: Do not follow symlinksOliver Reiche
... and ensure that cascades of checks are performed with only a single filesystem stat per method.
2023-01-24GitRepo: Remove refspec argument in retrieving commit from remote...Paul Cristian Sarbu
...and use instead the branch name. A valid direct refspec (as those retrieved by a remote_ls call) will always end in the branch name, so checking the last path component ('/'-delimited substring) of a retrieved refspec is enough.
2023-01-24GitRepo: Change FetchFromRemote to fetch based on branch namePaul Cristian Sarbu
This also removes the need to call the GET_BRANCH_REFNAME critical operation.
2023-01-20Add local garbage collectionSascha Roloff
2023-01-20Cleanup local CAS dependency for repository configSascha Roloff
2022-12-21Crypto: Add SHA512 hasherPaul Cristian Sarbu
Needed by the content-in-CAS git map to check fetched archives' checksums. SHA1 and SHA256 hashers are already implemented.
2022-12-21FS Manager: Add CopyDirectoryImpl methodPaul Cristian Sarbu
2022-12-21Test: Add tests for git repo classPaul Cristian Sarbu
2022-12-21Git CAS: Move Git tree ops to fake repo wrapper classPaul Cristian Sarbu
2022-12-14Test: Remove git bundle dependency from base_maps testsPaul Cristian Sarbu
2022-12-14Test: Remove git bundle dependency from file_system testsPaul Cristian Sarbu
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-11-24Fix root directory upload to honor tree invariant.Sascha 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-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-05Test: Add tests for 'configure' built-inOliver Reiche
2022-10-05Test: Add tests for 'env' expressionOliver 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-09-13Fix build with gcc/g++Oliver Reiche
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-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-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-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-08-05GitCAS: Support reading/creating trees without filesystem IOOliver Reiche
2022-08-05GitCAS: Add create tree via libgit2's treebuilderOliver Reiche
2022-08-05GitCAS: Implement reading git tree via libgit2Oliver Reiche
2022-07-28Executor Test: Add proper guards for optionalsOliver Reiche
2022-07-08In install-cas be more liberal in parsing artifact identifiersKlaus Aehlig
2022-07-07Traverser: Bring task system down gracefully on errorOliver Reiche
2022-07-07TaskSystem: Implement shutdownOliver Reiche
2022-07-06TaskSystem: Support wait for finishOliver Reiche
2022-07-06TaskSystem: Fix early shutdownOliver Reiche
... conceptually, it was possible that a previous task decrements the `num_threads_running_` counter before it is incremented by the next task. Therefore, we have to unify the queue and thread status in a single counter (`total_workload_`) and ensure that woken threads increment it before decrementing it for popping a queue.
2022-07-04Drop copy constructor for expressionsOliver Reiche
2022-06-20Repository representation: also use string as name in bindingsKlaus Aehlig
In this way, we keep the repsitory description more close to a normal multi-repository configuration. The only difference remaining is the absence of repository locations for git-tree roots.
2022-06-20Crypto: Refactor hash computationOliver Reiche
... by renaming HashGenerator to (incremental) Hasher and dropping support for Git/MD5 hashes. The Hasher does not expose the actual hash implementation.
2022-06-20Crypto: Add tests for globally used hash functionsOliver Reiche
2022-06-20Crypto: Add and use set of globally used hash functionsOliver Reiche
2022-06-13GraphTraverser: Add support for extra artifactsOliver 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-06-13RepoConfig: Add tests for key computationOliver Reiche