Age | Commit message (Collapse) | Author |
|
|
|
...by specifying which TargetCache instance to use. This will allow
'just serve' to store target cache entries into the correct sharded
location.
|
|
Only the client needs to make sure that the remote execution
endpoint is set in the case 'just serve' acts also as
'just execute', i.e., when a remote execution endpoint is not
specified, while for setting up the serve server a missing
execution endpoint should remain unset.
|
|
In the scenario when 'just serve' acts as 'just execute', the
remote execution endpoint returned by the serve service should be
allowed to be empty.
In this case, from the server's perspective, there is nothing to be
checked, however a client might still want to ensure that its own
configured serve and execution endpoints match.
|
|
|
|
|
|
|
|
The ToJson method of RemoteAddress was wrongly creating a list
instead of a simple string, thus a wrongly formatted backend
description was being used to shard the target cache. This however
does not affect the correctness of the build.
Changelog also updated accordingly.
|
|
... and improve log messages in case of failure.
|
|
When just-mr acts as a launcher, for most subcommand options the
"just args" entry in the rc files provides a convenient way to set
them. However, some options take a file as argument; for those it can
be desirable to set them without assuming a fixed file-system layout
and instead refer to logical roots, in particular the work space.
for the ones that refer to files, it is often desirable to have a potential
reference to the work space. Add this functionality.
|
|
|
|
This includes implementing the logic for the --backup-to-remote
and --fetch-absent options.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
As preparatory step for extending the types of repositories that
are targeted by a just-mr fetch subcommand, names of certain
variables and of the currently only fetch operation async map were
changed to clarify that they only target archives.
|
|
|
|
As this map is supposed to work as an all-or-nothing guarantee of
content being in CAS, we can replace the bool return type with the
null type instead.
|
|
...options from the generated help messages, as these are not used
for the install-cas subcommand.
This also updates the man page accordingly, where the dispatch file
was marked as supported, as well as update any test affected by
these changes.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Similarly to the jobs common argument, we can simply only pass the
needed single element from the analysis arguments struct. This will
allow for a clearer understanding of what target analysis requires
and reduce the overhead when reutilizing this method in just serve.
|
|
...to make it available also for setting up 'just serve' builds.
|
|
|
|
...with appropriate scope depending on where they are called from,
to avoid unnecessary code duplication.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
... overriding the default implementation. In this way, files can
be added directly to the local CAS without having to completely
reside in memory.
|
|
When using blob splitting, we expect to create a potentially large
file. Therefore reconstruct it from its parts on disk rather than
keeping the whole file in memory.
|
|
Allow implementations to have a specialized way of uploading a file
owned by the build process to the applicable cas, both as file, as
well as as tree object (in native mode).
If no implementation is provided, the default is to read the file
into memory and use the Upload method.
|
|
|
|
Extend our internal hash-function abstraction to support hashing
of files. In this way, we can provide a way to compute the hash of
a potentially large file without having to fully read it to memory
first, while still keeping the details of the used hash function
abstracted away.
|
|
|
|
Ignore-special git-tree-based roots are still content defined, so
one should use the correct marker in the JSON description of the
root that will be stored in the repository description of target
cache keys. This commit fixes the issue and improves documentation.
|
|
With the introduction of 'just serve', export targets can now be
built also independently from one another based on their
corresponding minimal repository configuration, as stored in the
target cache key.
In this context, this commit changes the RepositoryConfig usage
from one global (static) instance to pointers passed as necessary
throughout the code.
|