summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2023-08-11just build: allow -P to reach into treesKlaus Aehlig
2023-08-11Move downstepping to subobjects to a libraryKlaus Aehlig
... in order to make that functionality reusable
2023-08-10doc: Extend documentation with 'symlink' built-in rulePaul Cristian Sarbu
2023-08-10test: Add checks for the 'symlink' built-in rulePaul Cristian Sarbu
2023-08-10built-in: Add 'symlink' rulePaul Cristian Sarbu
The rule generates a non-upwards symbolic link with given target path.
2023-08-09Update fmt libraryKlaus Aehlig
2023-08-08Add a test verifying the overwrite property of install and install-casKlaus Aehlig
Verify that install and install-cas do not overwrite and instead replace existing files. This behaviour is less surprising for the user in the presence of hard links.
2023-08-08Unlink files before creation on install-casKlaus Aehlig
If install-cas finds a file in the target location, unlink it before writing (in the same way as install does already). In this way, we avoid changing other file locations in the presence of hard links.
2023-08-08absl: export reused library "raw_logging_internal"Klaus Aehlig
2023-08-08grpc and protobuf: use c++17Alberto Sartori
Due to a possible clang issue, protobuf v23.4 fails on debian-12 built with c++20. As such, protobuf and its consumer grpc have been set to build with c++17 until this is resolved upstream. Co-authored: Paul Cristian Sarbu <paul.cristian.sarbu@huawei.com>
2023-08-08update grpc to version 1.56.2Alberto Sartori
2023-08-08external: Update protobuf to v23.4Paul Cristian Sarbu
This corresponds to the highest current version found in popular distros (in this case, the one in Arch Linux). The abseil library is now a dependency of protobuf (for logging).
2023-08-08external: Update abseil to LTS 20230125.3Paul Cristian Sarbu
Also adds the extra targets needed by protobuf v23.4, which now has a dependency on abseil, and by grpc v1.56.2.
2023-08-08external: Fix absl export targetsPaul Cristian Sarbu
2023-08-08just execute: Fix uncollected upwards symlinksPaul Cristian Sarbu
Upwards symlinks should still be collected from actions, even if only the non-upwards symlinks are supported artifact types. The client side is thus the one responsible with enforcing the non-upwardness condition.
2023-08-07man: Add 'special' pragma to just-mr repository configPaul Cristian Sarbu
2023-08-07doc: Extended treatment of symlinks in roots and treesPaul Cristian Sarbu
We now allow restrictive use of upwards symbolic links when importing filesystem directories and archives to git.
2023-08-07test: Add checks for 'special' pragma in just-mrPaul Cristian Sarbu
Checks that the new 'special' pragma works for all supported repository types. In particular, checks that symlinks get resolved as expected and that resolved trees add their unresolved counterparts to the CAS for 'file' and 'archive' type repositories. Splits install-roots test into a basic check which works with the bootstrappable just-mr, and a new check focusing on the newly introduced 'special' pragma.
2023-08-07just-mr maps: Add logic for resolving symlinks in archive repositoriesPaul Cristian Sarbu
2023-08-07just-mr maps: Add logic for resolving symlinks in file repositoriesPaul Cristian Sarbu
2023-08-07just-mr utils: Add resolved tree id file getterPaul Cristian Sarbu
2023-08-07just-mr: Add async map for resolving symlinks in Git treesPaul Cristian Sarbu
2023-08-07test: Add check for reading objects by path from a Git treePaul Cristian Sarbu
2023-08-07GitRepo: Add method for reading object from tree by its pathPaul Cristian Sarbu
2023-08-07utils: Add function to check for confined pathsPaul Cristian Sarbu
2023-08-07just-mr: Update async map keys with the 'special' pragma valuePaul Cristian Sarbu
For 'file' and 'archive' checkouts we will handle more than just the 'ignore' value.
2023-08-07just-mr: Add map for pragma 'special' valuesPaul Cristian Sarbu
Moves away from literal strings in the async maps.
2023-08-07just-mr: Set ignore-special roots via a pragma...Paul Cristian Sarbu
...instead of a regular field. Also removes the ignore-special logic from distdir repositories, as those will never contain symlinks, so no entries would be ignored.
2023-08-07test: Fix typo in script generating test_repo_symlinks bundlePaul Cristian Sarbu
2023-08-07just-mr maps: Clean up remnants from progress reporting reworkPaul Cristian Sarbu
2023-08-07utils: path normalization method should be noexceptPaul Cristian Sarbu
2023-07-27install-cas test: also verify the -P optionKlaus Aehlig
2023-07-27Add option -P to just-install-casKlaus Aehlig
... to allow selecting a sub object of a specified tree.
2023-07-27Execution API: support fetching a single artifact to memoryKlaus Aehlig
2023-07-27link install-cas test to test suiteKlaus Aehlig
While there, fix a typo in the setup.
2023-07-26Add basic test for install-casKlaus Aehlig
... verifying the consistency of the representation of trees between local and remote CAS.
2023-07-26remote api: honor the --raw-tree optionKlaus Aehlig
2023-07-25test_server: avoid racesKlaus Aehlig
... by creating a file only once the server is ready and waiting for that file instead of waiting a fixed period of time.
2023-07-21Update libgit2 to 1.7.0Klaus 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-07-19README: fix typo in referenceKlaus Aehlig
2023-07-19Add a tutorial on cross compilingKlaus Aehlig
2023-07-17operation_cache: add missing includeMichael Thies
2023-07-14["shell/test", "script"]: support target architectureKlaus Aehlig
... provided it is specified on how to obtain a remote-execution endpoint for the given architecture; in this case, the test (script and) dependencies will be cross compiled for and run on that architecture. The actual building (as well as summarizing multiple test runs) happens on the default execution end point.
2023-07-13bytestream_server: store temporary files under the local-buil-rootAlberto Sartori
The bytestream server implementation (deployed by just execute) now stores the temporary files under $local_build_root/protocol-depenedent/generation-0 so that they can be garbage collected if "just exectue" is terminated before they are cleaned up.
2023-07-12["CC/test", "test]: support target architectureKlaus Aehlig
... provided it is specified on how to obtain a remote-execution endpoint for the given architecture; in this case, the test binary will be cross compiled for and run on that architecture. The actual building (as well as summarizing multiple test runs) happens on the default execution end point.
2023-07-12Add new transtion "maybe for host"Klaus Aehlig
... that transitions to host, unless the ARCH_DISPATCH map indicates that there is an execution-property transition allowing to run actions on the TARGET_ARCH. Also make the "target properties" available as expression as they will be needed when executing the action on the foreign architecture.
2023-07-12Execution properties are no longer a future designKlaus Aehlig
... but an implemented concept. Update the documentation accordingly.
2023-07-11filesystem: Avoid unwanted indirections...Paul Cristian Sarbu
...that std::filesystem::* calls produce. This is because existence and type checks use almost exclusively std::filesystem::status, which follows symbolic links, when being called with path arguments. Instead, one should instead use these methods with the value returned by a call of std::filesystem::symlink_status. This commit also streamlines the FileSystemManager tests, as well as replace bare calls to std::filesystem with their FileSystemManager counterparts (where suitable).
2023-07-11test: Extend coverage for symlinks and ignore_special rootsPaul Cristian Sarbu