Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
|
|
|
|
|
|
When serving the tree of an archive, we should check also in the
local CAS for the content blob.
|
|
|
|
This was a source of occasional std::bad_variant_access exceptions.
|
|
The change added to interrogate also the local CAS for the tree of
a 'git tree' repository failed to add support for backing up such
tree found into the remote CAS. This commit fixes the issue.
|
|
The source archive of grp contains upwards symlinks (that do not
point outside the source directory). For a normal build this is
not an issue; we still can generate a git tree from this archive
and the parts we use of this archive never even touch a directory
containing an upwards symlink.
However, when just-mr desires to get this root from a just serve
instance, the tree would have to be synced to the remote-execution CAS
and hence the restriction applies that we only consider non-upwards
relative symlinks as first-class citizens.
Therefore, ignore all symlinks in this archive and this way, without
changing the actual build, obtain an easy-to-manage root.
|
|
While it is best practise to build outside the source tree, some
package formats require that a build be carried out inside the
source tree. As there are no principle obstacles, as long as a
non-existing directory is requested as build dir, support it by
ignoring the destination in the recursive copy.
|
|
... before trying to upload from local storage to the remote CAS.
Co-authored-by: Alberto Sartori <alberto.sartori@huawei.com>
|
|
... to allow target-level caching.
|
|
The error log level should be reserved for events that inevitably
lead to a failed build. A failure to receive a target from the serve
endpoint, however, is not such a case; for performance reasons,
and also to have the same artifacts as everyone else in the case
of non-reproducible dependencies, just inquires the serve end point
for every export target whenever a serve end point is given. In
this case, the build just continues even if the serve end point
is, e.g., lacking a certain root.
|
|
The removed code has been superseeded by the
CreateBatchRequestsMaxSize member function.
|
|
...instead of the vector containing the digests of the uploaded
blobs. The returned vector was never inspected by the callers, except
for its size.
The tests have been accordingly amended.
|
|
|
|
...to honor the message limit imposed by GRPC.
|
|
...to honor the maxBatchTransferSize in grpc calls.
|
|
...such that each request does not exceeds the message limit imposed
by GRPC.
|
|
|
|
This function will ensure that each request does not exceeds the
maximum message size, currently set by kMaxBatchTransferSize in the
message_limits library.
|
|
|
|
|
|
Define the threshold for the grpc messages.
|
|
|
|
During the analysis of export targets, if there is a local target
cache miss, we should also interrogate the serve endpoint
(if given) for the target cache value before proceeding with the
analysis.
For this test we have extended the "with_serve" runner to expose
also the remote-execution build root to the test env.
|
|
|
|
While in our setting, a missing directory is generally OK, it is
not OK to ask for the content of an absent root. In particular, we
should not assume it to be empty, just because the root is absent.
|
|
|
|
When explaining CC tests, the option --request-action-input is used
to get hold of the actual test binary. This is the first time in
the tutorial where the action graph is larger than the part that
that is traversed during the build. Use this oportunity to explain
the difference between those concpets as, reportedly, some users
got confused about this.
|
|
|
|
Now we look for the tree also in the local CAS, not just in the
local Git cache. If found, we import the tree from local CAS to the
Git cache and continue as usual.
|
|
Now we look for the content blob also in the local Git cache, not
just in local CAS. If found, we store the blob read from Git cache
into local CAS and continue as usual.
|
|
Now we look for the content blob also in the local Git cache, not
just in local CAS. If found, we store the blob read from Git cache
into local CAS and continue as usual.
|
|
This fixes the multiple instances of (mainly) missing or wrong
includes of standard, third-party, and own headers in the
other_tools source folder.
|
|
This way we ensure each repository can be set up on its own and
nothing gets cached from other repositories, as opposed to the
parallel run where some caching is expected to occur.
|
|
|
|
This bug was introduced with the alternative mirrors changes.
|
|
If the option --absent is given in just-mr (either directly or
implicitly via the corresponding entry in the rc file), it rewrites
the "pragma" entries in the internal representation of the mr
repository config. When doing so, however, we have to take into
consideration that a workspace root is not necessarily the definition
of a repository, but can, alternatively, also be a reference to
another root. This was not taken into account; fix this by restricting
the rewriting to only json objects.
|
|
The just-serve config already honors specific fields to obtain the
information on how to authenticate to the remote-execution endpoint.
However, those have not yet been described in the man page yet. Do
this now.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|