Age | Commit message (Collapse) | Author |
|
|
|
...to get access to the protocol type.
|
|
...and move it to the common stage.
|
|
...to create ArtifactDigests.
|
|
|
|
|
|
...with ArtifactDigest.
|
|
...with ArtifactDigest.
|
|
|
|
...in async map instances, same as for reporting cycles.
This removes the restriction that the key object has to posses the
ToString method, allowing it to be used, e.g., with just-mr maps.
The now obsolete HasToString concept is removed.
|
|
... while keeping our .clang-format file.
|
|
Also add empty directory in test script to ensure we don't regress
in the future. While there, fix some typos.
|
|
! => not; && => and, || => or
|
|
When switching from a target to the artifacts that are the inputs
of a particular action, the provides map is also switched to provide
additional (besides the inputs) information about the action, in
particular the command. Extend this provides map with the remaining
information, in particular the working directory.
|
|
... 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.
|
|
Also update the classes documentation accordingly.
|
|
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.
|
|
|
|
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.
|
|
|
|
Also switch to using the fields from RemoteContext instances
instead of those from ApiBundle.
|
|
Also switch to using the fields from RemoteContext instances
instead of those from ApiBundle.
|
|
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.
|
|
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
...to calculate the empty compatible hash.
|
|
...to track changes during refactoring easier.
|
|
...and replace it with instances created early via a builder
pattern.
|
|
Also store a const ref for usage in setting up a fresh ApiBundle
during target serve.
|
|
As the serve endpoint acts also as a regular client to its
associated remote-execution endpoint, it should employ the same
retry strategy as the regular just client.
Also updates ReadJustServeConfig to store the retry config
arguments instead of calling the RetryConfig singleton setters
directly, thus clearly separating the reading of the arguments from
the creation of any configuration singleton/instance.
|
|
The retry_parameters.hpp header-only library defining the Retry
class now is the retry_config.hpp header-only library defining the
RetryConfig class.
|
|
As it is used by just execute only, instantiate it inside the
ExecutionServer, which reads and writes to the cache map, and pass
a const ref to OperationsServer, which only queries.
|
|
As 'just execute' does not actually use the remote api, the
configuration instances created for it can be streamlined or moved
out of its scope.
|
|
...and replace it with passed instances created early via a builder
pattern.
Tests are also updated accordingly.
|
|
...wherever an ApiBundle is already being passed.
|
|
...and store it as a const ref for subsequent use wherever the apis
are already passed.
|
|
Instead of computing the shard based on the RemoteExecutionConfig
singleton, use the already computed hash stored in the passed
StorageConfig instance, which now needs to be set up separately
if bootstrapping in order to avoid unwanted includes.
Storing the backend description to CAS and corresponding audit
checks now take place in main.
|
|
...such that it will be available to the TargetCache for sharing.
Also, GC does not require remote execution information, so the
logic for this subcommand is moved earlier in main.
|
|
...and replace it with passed instances created early via a builder
pattern.
|
|
|
|
|
|
As the storage instance also instantiates the target cache, we need
to ensure that each such instance has at that point all the correct
remote endpoint information to ensure the target cache sharding
works as expected.
In particular, the server-side and client-side operations of just
have a slightly different setup for the remote endpoint address,
therefore they require the storage instantiation to be done
separately.
|
|
|
|
|
|
|