Age | Commit message (Collapse) | Author | |
---|---|---|---|
2024-08-02 | just: report completion of analyse earlier | Klaus 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-02 | Actions with non-trivial cwd: add empty input tree, if required | Klaus 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-02 | generic rule: add support for cwd | Klaus Aehlig | |
2024-08-02 | rules: make ACTION expression support "cwd" | Klaus Aehlig | |
2024-08-01 | Execution API: support cwd | Klaus 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-01 | class Action: include field cwd | Klaus Aehlig | |
... for the working directory inside the action directory. | |||
2024-08-01 | expression: add kEmptyString | Klaus Aehlig | |
2024-07-30 | Pass ExecutionContext to GraphTraverser and Executor/Rebuilder | Paul Cristian Sarbu | |
Also update the classes documentation accordingly. | |||
2024-07-30 | Add extensible struct to be passed to graph traverser | Paul Cristian Sarbu | |
2024-07-30 | executor: Use ApiBundle | Paul 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-30 | ApiBundle: Use a creator method instead of constructor | Paul 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-30 | ApiBundle: Remove deprecated fields now used via RemoteContext | Paul Cristian Sarbu | |
2024-07-30 | Use RemoteContext in install_cas | Paul Cristian Sarbu | |
2024-07-30 | Pass RemoteContext to Executor/Rebuilder | Paul Cristian Sarbu | |
2024-07-30 | Pass RemoteContext to GraphTraverser | Paul 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-30 | Pass RemoteContext to execution server | Paul Cristian Sarbu | |
2024-07-30 | Pass LocalContext and RemoteContext to ServeApi | Paul Cristian Sarbu | |
Also switch to using the fields from RemoteContext instances instead of those from ApiBundle. | |||
2024-07-30 | Use RemoteContext in serve services | Paul Cristian Sarbu | |
Also switch to using the fields from RemoteContext instances instead of those from ApiBundle. | |||
2024-07-30 | Pass RemoteContext to ApiBundle | Paul 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-30 | target 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-30 | Add extensible structure for remote execution-related entities | Paul Cristian Sarbu | |
2024-07-30 | Use LocalContext in execution and serve services | Paul 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-30 | Pass LocalContext to LocalApi | Paul 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-30 | Pass LocalContext to ApiBundle | Paul Cristian Sarbu | |
2024-07-30 | Add extensible structure for local execution-related entities | Paul Cristian Sarbu | |
2024-07-30 | analyse_context: Add missing documentation | Paul Cristian Sarbu | |
2024-07-26 | Add quasiquote expression | Klaus Aehlig | |
2024-07-26 | expression language: add quoting | Klaus Aehlig | |
2024-07-22 | Make ServerImpl a general class, not singleton | Paul Cristian Sarbu | |
2024-07-22 | Mark ServeServerImpl as final | Paul Cristian Sarbu | |
2024-07-22 | cli: Make info_file type consistent | Paul Cristian Sarbu | |
Both the serve and execution servers store the info_file and pid_file as strings, to be used for reading via std::ofstream. Read info_file then also as string, like pid_file is. | |||
2024-07-22 | Use compile-time polymorphism in Hasher | Maksim Denisov | |
...since runtime polymorphism was there just to avoid including openssl as a public dependency. A combination of forward declarations, std::variant and std::unique_ptr is used instead. | |||
2024-07-22 | Rename HashFunction methods and enums | Maksim Denisov | |
2024-07-22 | Create Hasher using a static function | Maksim Denisov | |
2024-07-22 | Unify tagging logic in HashFunction | Maksim Denisov | |
2024-07-22 | Convert HashFunction to a regular class | Maksim Denisov | |
2024-07-22 | Use HashFunction from Storage in RepositoryConfig | Maksim Denisov | |
2024-07-22 | Use HashFunction from Storage during analysis | Maksim Denisov | |
2024-07-22 | Use HashFunction from CAS in Compactifier | Maksim Denisov | |
2024-07-22 | Use HashFunction from StorageConfig in ApiBundle | Maksim Denisov | |
2024-07-22 | Use HashFunction from StorageConfig in fs_utils | Maksim Denisov | |
2024-07-22 | Use HashFunction from Storage in LocalResponse | Maksim Denisov | |
2024-07-22 | Pass HashFunction from StorageConfig to Storage | Maksim Denisov | |
2024-07-22 | Store HashFunction in StorageConfig | Maksim Denisov | |
2024-07-22 | Pass HashFunction to Executor | Maksim Denisov | |
2024-07-22 | Pass HashFunction to BazelApi | Maksim Denisov | |
2024-07-22 | Pass HashFunction to CreateActionDigestFromCommandLine | Maksim Denisov | |
2024-07-22 | Pass HashFunction to BazelNetwork | Maksim Denisov | |
2024-07-22 | Create HashFunction in BazelCasClient based on compatibility | Maksim Denisov | |
2024-07-22 | Use a fixed HashFunction in Compatibility | Maksim Denisov | |