summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2024-04-25just-import-git: support importing repositories as absentKlaus Aehlig
This allows to simply specify the direct dependencies desired to be absent at import where the dependency structure is handled anyway, rather than afterwards reconstructing which repositories should be absent.
2024-04-25test remote runners: Add timeout for running execute and servePaul Cristian Sarbu
The runners used in tests that rely on execution or serve endpoints to exist can get stuck waiting for these to become online if for some reason they cannot be set up. This commit fixes this issue by setting a reasonable timeout, after which we fail gracefully.
2024-04-25just serve: Paths in config file should be location objectsPaul Cristian Sarbu
Also updates the tests and all relevant documentation accordingly.
2024-04-25just-mr rc: Extract location object parser in separate libraryPaul Cristian Sarbu
This will make it available also to just.
2024-04-25Extend serve-many test to also use non-top-level export targetsKlaus Aehlig
2024-04-25absent_target_map: fix target_file when requesting flexible variableKlaus Aehlig
... of an absent target. Here, the request is given by repository root and filename; so the filename is to be taken relative to the root, i.e., we have to prefix the targets-file name with the module.
2024-04-24just analyse: add --dump-result command line optionAlberto Sartori
The result of the analysis is a JSON object containing the keys `"artifacts"`, `"runfiles"`, and `"provides"`. This JSON object, by default, is logged. However, it might be useful to process the data contained in it, while, for example, developing new rules. This patch adds a new command line option (`--dump-result`), reserved to the subcommand `analyse`, to dump the analysis result to the given file or stdout (if `-` is given).
2024-04-24CHANGELOG: mention that the expression language has been extendedKlaus Aehlig
2024-04-24expressions: add logical negationKlaus Aehlig
While this can already be expressed by an "if" statement, having a dedicated function for logical negation makes some expressions more readable.
2024-04-24expressions: for "if" expressions, make both branches optionalKlaus Aehlig
... using, also for the "then" branch, the empty list as default. In this way, this statement not only more symmetric, but also allows shorter representations of some typical expressions.
2024-04-24expressions: add "length" functionKlaus Aehlig
Lists are somtimes used in configurations as replacement for tuples. Providing length gives an easy way to detect usage errors.
2024-04-24expressions: add generic assertionsKlaus Aehlig
2024-04-24expressions: add basic test for assertionsKlaus Aehlig
2024-04-24Add first version of just-serve tutorialPaul Cristian Sarbu
2024-04-23just-mr: Make outer non-trivial async map consumers noexceptPaul Cristian Sarbu
For setup and update subcommands, the consumer lambdas for their respective async maps are non-trivial (i.e., do more than keeping the map values) and operate on ungaurded JSON objects, thus it is better to guard them against any uncaught exceptions.
2024-04-23just-mr: Fix map key type bug in repository setupPaul Cristian Sarbu
When taking over roots from the input repository description, the JSON value was not properly checked for validity (i.e., if it is of type string), resulting in an unhandled exception being thrown. The issue is fixed with a proper type check.
2024-04-23tutorial: Update outputs and other improvementsPaul Cristian Sarbu
When tutorial docs were changed to showcase running commands with just-mr instead of just, the outputs were not changed. This is now fixed to showcase the results run with current master just-mr (and just), together with other small improvements and fixes.
2024-04-23just-dedulicate-repos.1: Fix a typoPaul Cristian Sarbu
2024-04-23just-serve-config.5: Add missing execution endpoint port in examplePaul Cristian Sarbu
2024-04-23just describe: support retry argumentsKlaus Aehlig
... as also just describe can communicate to grpc endpoints.
2024-04-22Compactification: Remove invalid entries from the storage.Maksim Denisov
During compactification, invalid entries must be deleted.
2024-04-22Compactification: Obtain hash string length from hasher.Maksim Denisov
2024-04-22add end-to-end test executing local binaries remotelyKlaus Aehlig
2024-04-19cleanup: remove left-over "arguments_config"Klaus Aehlig
... that is no longer used since d762bfa1953933dfac0a29a74523c25719396b8c
2024-04-19Toolchain: support passing through extra linker flagsKlaus Aehlig
2024-04-19Also for absent tragets, track progress by configured targetKlaus Aehlig
Commit f5f9be5bc07b16807aceac86fba9212e3889762a changed from tracking progress by cache key to tracking by configured target; however, the absent-target map was forgotten. Fix this while also switching to the shortend export-target representation introduced in the previous commit.
2024-04-19Export progress: report short configurationKlaus Aehlig
As we always analyse export targets in their canonical configuration (and do count in the progress the mapping from obtained configuraiton to canonical one), the shortend name (i.e., the representation with null values dropped form the configuration) is still a unique representation of the target. Use this in progress reporting to simplify reading the progress sample.
2024-04-18just-mrrc: support retry optionsKlaus Aehlig
2024-04-18just-mr: support retry for temporary grpc failuresKlaus Aehlig
... using the same mechanism that just uses. As just-mr now also does quite some grpc calls, e.g., fetching distribution files from the remote-execution endpoint and negociating roots with the serve endpoint, it may now also be affected by a bad network or a service temporarily be unavailable.
2024-04-18Move retry-related CLI parts into separate librariesKlaus Aehlig
... to simplify reuse.
2024-04-17["CC/test", "test"] runner: set TMPDIRKlaus Aehlig
... to the same value as TEST_TMPDIR. While TEST_TMPDIR is the conventional name that tests should use for their temporary file, setting TMPDIR as well has the advantage that more library functions can be used to create temporary files and directories, as quite a few of them inspect the variable TMPDIR. While there, also fix some typos in the documentation strings.
2024-04-17["CC/test", "test"] use stage expressionKlaus Aehlig
... instead of inlining the code. In this way, we also have all the checks that the test runner consists of precisely one artifact.
2024-04-17Compactification: Test storage get reducedMaksim Denisov
... and nothing reconstructed for simple (i.e., non-export) targets.
2024-04-17Compactification: Split large entries.Maksim Denisov
During garbage collection split and remove from the storage every entry that is larger than a threshold.
2024-04-17Compactification: Remove spliced entries.Maksim Denisov
During garbage collection remove from the storage every entry that has the large entry.
2024-04-17Compactification: Obtain generation cache directories for compatibility modes.Maksim Denisov
2024-04-17Compactification: Switch compatibility modes.Maksim Denisov
2024-04-17Compactification: Obtain storage roots from LocalCAS.Maksim Denisov
2024-04-16expression language: add array access by indexKlaus Aehlig
2024-04-16Add test verifying serve build logs contain error messagesKlaus Aehlig
2024-04-16just: support writing the error blobs from serve into a json fileKlaus Aehlig
... so that they are available in machine-readable form. In this way, all logs can automatically be collected without the need of parsing human-targeted error messages.
2024-04-16Absent targets: support registering the serve failure logsKlaus Aehlig
... in a structured way to eventually support machine-readable access to the identifiers of the log files.
2024-04-16target map: follow proper line-breaking conventionKlaus Aehlig
... in logger extension.
2024-04-15executor: Log in caller logger if givenPaul Cristian Sarbu
This means that on the serve endpoint, where a logger for the GraphTraverser is explicitly set, the log messages during action execution is also made available to the client via the CAS-stored analysis and build log blob.
2024-04-15just-execute doc: Small improvementsPaul Cristian Sarbu
2024-04-15tutorial: Consistent formatting and small fixesPaul Cristian Sarbu
2024-04-15LargeBlobs: Skip splicing of dependent objects during uplinking of AC, TC ↵Maksim Denisov
and trees.
2024-04-15LargeBlobs: Make LocalCAS::BlobPathNoSync public to fix synchronization of ↵Maksim Denisov
executable files during splitting.
2024-04-15Initialize file chunker in catch-mainMaksim Denisov
2024-04-12Target analysis: report short names of targets when describing a conflictKlaus Aehlig
Configured targets, by design, cannot distinguish between a value not occuring in the configuration and occuring there with value null. Therefore, to understand the conflict, we can as well drop all the null values of the target configuration when reporting it.