Age | Commit message (Collapse) | Author | |
---|---|---|---|
2023-11-15 | just-serve: add end-to-end tests | Alberto Sartori | |
serve_target_remote_build.sh should be updated once just-serve can orchestrate the remote build | |||
2023-11-15 | test end-to-end: Expose the serve build root in the test environment | Paul Cristian Sarbu | |
This will allow end-to-end tests to pre-populate the serve build root if needed. | |||
2023-11-15 | test end-to-end: Cleanup of with_serve runner Python script | Paul Cristian Sarbu | |
2023-11-15 | just-mr: Update to using the static methods of ServeApi | Paul Cristian Sarbu | |
2023-11-15 | define AbsentTargetMap for handling export targets in absent repositories | Alberto Sartori | |
2023-11-15 | just-serve: Extend client and API for services Target and Configuration | Paul Cristian Sarbu | |
Co-authored-by: Alberto Sartori <alberto.sartori@huawei.com> | |||
2023-11-15 | just-serve: initial server-side implementation of "Target" and ↵ | Alberto Sartori | |
"Configuration" services. The RPC ServeTarget has not implemented the orchestration of remote build yet. If the TargetCacheKey is not found in the target cache, the response contains status == grpc::StatusCode::UNIMPLEMENTED. Co-authored-by: Paul Cristian Sarbu <paul.cristian.sarbu@huawei.com> | |||
2023-11-15 | just-serve: start a just-execute instance if the user does not provide... | Alberto Sartori | |
...a remote execution end-point for just-serve. | |||
2023-11-15 | just_serve.proto: add Configuration service | Alberto Sartori | |
This service allows to query the configuration of the just-serve instance. In particular, it is used to double-check that the associated remote end point is the same used by the interrogating client. | |||
2023-11-15 | just_serve.proto: define service Target | Alberto Sartori | |
It defines two RPC: - ServeTarget: Given a target-level caching key, returns the computed value. - ServeTargetVariables: Given the target-level root tree and the name of an export target, returns the list of flexible variables from that target's description. Co-authored-by: Paul Cristian Sarbu <paul.cristian.sarbu@huawei.com> | |||
2023-11-15 | ReadConfiguredTarget: handle absent target roots | Alberto Sartori | |
2023-11-15 | just main: Extend root parsing to allow absent roots | Paul Cristian Sarbu | |
2023-11-15 | FileRoot: Add new absent root underlying type variant | Paul Cristian Sarbu | |
Absent roots are characterised only by a Git tree hash, so a new variant of the underlying stored information was added in the form of a plain string. In order to avoid unwanted implicit conversions when instantiating via literal strings, we force callers of the constructors to explicitly differentiate between plain strings and filesystem paths. Existing tests were updated to reflect this. Co-authored-by: Alberto Sartori <alberto.sartori@huawei.com> | |||
2023-11-15 | serve api config: Fix missing header guard | Paul Cristian Sarbu | |
2023-11-15 | just-mr json parsing: Add missing check for items type in lists | Paul Cristian Sarbu | |
2023-11-15 | TargetCache: add new member function WithShard(shard) that returns a new ↵ | Alberto Sartori | |
TargetCache... ...backed by the same CAS, but the FileStorage uses the given shard. This is particularly useful for the just-serve server implementation, since the sharding must be performed according to the client's request and not following the server configuration. | |||
2023-11-15 | TargetCacheKey: make TargetCacheKey(Artifact::ObjectInfo) constructor public | Alberto Sartori | |
This constructor is used by TargetService::ServeTarget | |||
2023-11-15 | source_tree: add missing dep | Alberto Sartori | |
2023-11-15 | amend service-target-cache.md | Alberto Sartori | |
Remove wrong (un-needed) design specifications. When we compute the TargetCacheKey of an export target, there is no need to check if any of (recursively) referenced trees is absent. As soon as we deal with an "absent target" we query just serve. If it is not able to provide the target cache value, we error out. | |||
2023-11-15 | artifact.hpp: make ToJson and FromJson consistent | Alberto Sartori | |
The function ToJson used `file_type` key to express the type of the artifact, on the other hand, FromJson was expecting `type`. This patch makes the two functions consistent, prefering `file_type` for historical reasons. | |||
2023-11-15 | target-cache.md: fix a typo | Alberto Sartori | |
2023-11-15 | test ["end-to-end/just-mr", "git-tree-env"]: fix negative test condition | Klaus Aehlig | |
This test was only working by accident, as the missing target specification ["", "sources.txt"] was making the build fail, not the (supposedly) unset variable. Fix this by looking only at the setup command and expect failure there---and also unset the correct variable. | |||
2023-11-15 | git tree repository: Creating absent roots should not run the command | Paul Cristian Sarbu | |
Also extended absent-roots test with this scenario. | |||
2023-11-15 | just-execute: verify the validity of all the hashes received over the wire | Alberto Sartori | |
2023-11-15 | utils/cpp: add IsAHash function | Alberto Sartori | |
This function is mainly used to check that the hash of a Digest received over the wire is a real hash, to prevent a malicious attack. | |||
2023-11-14 | Update Changelog | Klaus Aehlig | |
... clarifying the effect of the target-cache-key change. In particular, explain that, as the cache-key format has changed in a non-overlapping way, no care has to be taken on update, but old target-cache entries will not be used by the newer version of the tool. While there, fix some typos and properly break lines. | |||
2023-11-14 | Fix serialization of the target cache key | Oliver Reiche | |
... which was accidentially a list of (a single) object, instead of only a single JSON object. | |||
2023-11-14 | test: Set a fixed number of retries for starting Python servers... | Paul Cristian Sarbu | |
...to avoid waiting for the test timeout on an internal error. | |||
2023-11-14 | alternative-mirrors design doc: Move to concepts folder | Paul Cristian Sarbu | |
...and reword content to move from proposal to implemented state. | |||
2023-11-14 | man: Add documentation for specifying alternative mirrors | Paul Cristian Sarbu | |
2023-11-14 | just-import-git.1: Fix wording | Paul Cristian Sarbu | |
2023-11-14 | just-import-git: Add --mirror option | Paul Cristian Sarbu | |
This allows to specify upfront alternative locations from where the imported repository may be fetched. No action is taken in the import, instead the argument gets passed intot he resulting just-mr configuration. | |||
2023-11-14 | test: Fetch from mirrors given in just's specification file | Paul Cristian Sarbu | |
2023-11-14 | just-mr archives fetch: Add logic for local mirrors and preferred hostnames | Paul Cristian Sarbu | |
2023-11-14 | just-mr git fetch: Add logic for local mirrors and preferred hostnames | Paul Cristian Sarbu | |
2023-11-14 | curl_url_handle: Add method to replace the hostname of a URL | Paul Cristian Sarbu | |
Also adds a section in the curl_url test suite. | |||
2023-11-14 | curl_url_handle: Allow permissive parsing and URL extraction to be non-fatal | Paul Cristian Sarbu | |
2023-11-14 | curl_url_handle: Improve documentation | Paul Cristian Sarbu | |
2023-11-14 | just-mr: Add utility getters for alternative mirrors specifications | Paul Cristian Sarbu | |
2023-11-14 | just-mr: Parse mirrors specification from checkout locations file | Paul Cristian Sarbu | |
2023-11-14 | test: Add check for 'mirrors' field in just-mr repositories | Paul Cristian Sarbu | |
2023-11-14 | just-mr: Add 'mirrors' field to archive-like repositories | Paul Cristian Sarbu | |
Also extends 'distdir' repositories logic accordingly. | |||
2023-11-14 | curl_easy_handle: Allow non-fatal logging of errors in curl operations | Paul Cristian Sarbu | |
In order to allow non-fatal retries of fetches, be it from same remote or not (e.g., mirrors), the handle now reports with a caller-defined LogLevel. | |||
2023-11-14 | DistdirCheckout: Improve log messages | Paul Cristian Sarbu | |
2023-11-14 | just-mr: Add 'mirrors' field to 'git' repositories | Paul Cristian Sarbu | |
2023-11-14 | just_mr utils: Add missing nodiscard attributes | Paul Cristian Sarbu | |
2023-11-14 | fs_utils: Only accept strings as 'checkouts' map values | Paul Cristian Sarbu | |
While we don't want to fail if the 'checkouts' map values are not strings, we shouldn't just accept non-string values either, instead we should warn the user and continue without them. | |||
2023-11-14 | commit_git_map fix: Fetch from correct location if fetch URL is a path | Paul Cristian Sarbu | |
2023-11-14 | alternative-mirrors design doc: Update local specification key names | Paul Cristian Sarbu | |
This improves clarity while maintaining specificity of the JSON file entries. Also fixes the typo in the design document name. | |||
2023-11-13 | test: Verify unlink of symlinks | Oliver Reiche | |