summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2024-08-05expression test: use built-in quotingKlaus Aehlig
... instead of having a custom quoting function in the tests.
2024-08-05When using errno, log the actual error messagePaul Cristian Sarbu
For the user it is more useful to see the actual error message, provided by strerror(), than the pure error code.
2024-08-05Add missing cerrno includesPaul Cristian Sarbu
2024-08-05authentication: Properly log failures to open certification filesPaul Cristian Sarbu
2024-08-02just: report completion of analyse earlierKlaus Aehlig
... right after having successfully finished analysing the target. As a side effect, we also get the statistics of the export targets reported on analysis requests. As cached export targets project artifacts to known ones, that information is highly relevant there.
2024-08-02CHANGELOG: mention cwd supportKlaus Aehlig
... and drop the corresponding design document as implemented.
2024-08-02End-to-end test: verify unrelated cwdKlaus Aehlig
... also ensuring that the implict empty tree is added as input.
2024-08-02Actions with non-trivial cwd: add empty input tree, if requiredKlaus Aehlig
While our local action execution implicitly creates the specified cwd with the first output file or directory, this behaviour is not mandated by the remote-execution protocol. There, an action definition has to ensure that cwd is a directory implied by the input files. Achieve this, by adding an empty input directory at cwd if this can be done without creating tree conflicts.
2024-08-02Add end-to-end test verifying that cwd is handled correctlyKlaus Aehlig
2024-08-02generic rule: add support for cwdKlaus Aehlig
2024-08-02rules: make ACTION expression support "cwd"Klaus Aehlig
2024-08-01Execution API: support cwdKlaus Aehlig
... following the remote-execution standard that all output paths (but none of the input paths) are relative to the working directory. Therefore, the executor has to do the path translation. For our implementation of the API interface - the local API now handles cwd correctly, - the remote API forwards cwd correctly, and - the git API continues to report actions as not implemented.
2024-08-01class Action: include field cwdKlaus Aehlig
... for the working directory inside the action directory.
2024-08-01Add a utility function to rewrite path strings relative to a subdirectoryKlaus Aehlig
2024-08-01expression: add kEmptyStringKlaus Aehlig
2024-08-01Add a test verifying that upwards outputs are rejectedKlaus Aehlig
This is implemented already, however as part of the tree-conflict check.
2024-07-30Add design document on supporting a working directory inside the action ↵Klaus Aehlig
directory ... instead of always having to execute actions in the top-level directory.
2024-07-30test executor: Remove unnecessary code duplicationPaul Cristian Sarbu
2024-07-30Pass ExecutionContext to GraphTraverser and Executor/RebuilderPaul Cristian Sarbu
Also update the classes documentation accordingly.
2024-07-30Add extensible struct to be passed to graph traverserPaul Cristian Sarbu
2024-07-30executor: Use ApiBundlePaul Cristian Sarbu
...instead of separate local and remote instances. For tests, where different implementations of the IExecutionApi interface are used, ApiBundle instances are created by explicitly setting the struct fields instead of using ApiBundle::Create.
2024-07-30ApiBundle: Use a creator method instead of constructorPaul Cristian Sarbu
This will allow for ApiBundle to be used together with the TestApi implementation of IExecutionApi in tests. Also rename CreateRemote method to MakeRemote in order to remove any semantical confusion.
2024-07-30ApiBundle: Remove deprecated fields now used via RemoteContextPaul Cristian Sarbu
2024-07-30Use RemoteContext in install_casPaul Cristian Sarbu
2024-07-30Pass RemoteContext to Executor/RebuilderPaul Cristian Sarbu
2024-07-30Pass RemoteContext to GraphTraverserPaul Cristian Sarbu
It is passed as a not_null const pointer, to avoid binding to temporaries, and stored as a const reference to be later passed also to Executor/Rebuilder.
2024-07-30Pass RemoteContext to execution serverPaul Cristian Sarbu
2024-07-30Pass LocalContext and RemoteContext to ServeApiPaul Cristian Sarbu
Also switch to using the fields from RemoteContext instances instead of those from ApiBundle.
2024-07-30Use RemoteContext in serve servicesPaul Cristian Sarbu
Also switch to using the fields from RemoteContext instances instead of those from ApiBundle.
2024-07-30Pass RemoteContext to ApiBundlePaul Cristian Sarbu
The CreateRemote method is also updated to receive all remote-related information as arguments, such that it does not have to rely on the ApiBundle internal fields which will eventually be removed.
2024-07-30target service: Properly set up the RemoteExecutionConfig instance...Paul Cristian Sarbu
...for orchestrated builds. As the dispatch list and execution properties need to be parsed, place them in a proper RemoteExecutionConfig, to be passed to the created ApiBundle instance.
2024-07-30Add extensible structure for remote execution-related entitiesPaul Cristian Sarbu
2024-07-30Use LocalContext in execution and serve servicesPaul Cristian Sarbu
The context is passed by not_null const pointer in order to avoid binding to temporaries, and it or parts of it get stored by const ref where needed.
2024-07-30Pass LocalContext to LocalApiPaul Cristian Sarbu
The context is passed by not_null const pointer to avoid binding to temporaries. The LocalApi also stores the context as const ref for further access and passing it to LocalAction.
2024-07-30Pass LocalContext to ApiBundlePaul Cristian Sarbu
2024-07-30Add extensible structure for local execution-related entitiesPaul Cristian Sarbu
2024-07-30analyse_context: Add missing documentationPaul Cristian Sarbu
2024-07-29commit_git_map: fix line breaking in error messagesKlaus Aehlig
2024-07-29["CC", "binary"] stage link actionKlaus Aehlig
... to avoid staging conflicts with the toolchain
2024-07-29["CC", "libary"] properly stage ar actionKlaus Aehlig
In this action we support a user provided toolchain, hence all the components of the library need to go into a subdirectory to avoid staiging conflicts.
2024-07-26Changelog: mention quote and quasi-quote expressionsKlaus Aehlig
2024-07-26Add quasiquote expressionKlaus Aehlig
2024-07-26expression language: add quotingKlaus Aehlig
2024-07-24Remove implemented design document on root gcKlaus Aehlig
2024-07-24Extend gc-repo test to also verify that git-tree repositories are taken from ↵Klaus Aehlig
older generations
2024-07-24Tree fetching: first look in older generationsKlaus Aehlig
2024-07-23Extend gc-repo test to also verify foreign files are taken from old generationsKlaus Aehlig
2024-07-23content_cas_map: also look in older git generationsKlaus Aehlig
2024-07-23git_commit_map: avoid duplicate creation and fix usageKlaus Aehlig
... as CheckCommitExists returns an optional bool, not a plain one.
2024-07-23just-mr: Remove progress and statistics singletonsPaul Cristian Sarbu
...and instead use simple instances created in setup, fetch, and update, respectively. The various maps and the progress reporter get access to these instances via not_null pointers.