Age | Commit message (Collapse) | Author |
|
|
|
|
|
In order for the serve endpoint to correctly dispatch a build to
the correct remote-execution endpoint, the platform properties and
dispatch list for a build need to be passed explicitly to the
executor (via the graph traverser instance) instead of always being
taken from the RemoteExecutionConfig struct.
This commit implements these changes, including updating existing
tests accordingly.
|
|
|
|
...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.
|
|
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.
|
|
|
|
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.
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
...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.
|
|
|
|
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.
|
|
|
|
|
|
|
|
This end-to-end test, of course, depends on the tools, provided
inside the test's working directory. The test, being end to end,
constructs a workspace with multi-repository configuration with
the main repo a file repsoitory at the root of the constructed
work space; to be able to test exporting this repository has pragma
"to_git". Move the constructed work space to sub directory to not
include the tools to be tested in the work space that is gitified;
one the one hand, the tested tools should not be part of the test
workspace and on the other hand, this shaves off a large fraction
of the test's run time.
|
|
|
|
Whenever a just-serve endpoint is given, fetching archives or Git
commits from there is preferrable to fetching them from other
sources. Verify in the tests that this actually happens.
Co-authored-by: Paul Cristian Sarbu <paul.cristian.sarbu@huawei.com>
|
|
Added compatibility envariable to the with_serve rule, guarded
tests using --fetch-absent such that they run only in native mode,
and made all serve-service tests aware of the compatibility flag.
|
|
If only the `--remote-serve-endpoint` option is specified on the
command line, the `--remote-execution-endpoint` is also set to the
given value.
This makes the spawning and usage of just-execute consistent. When
just-serve is started, if no remote execution endpoint is provided,
the same process will also act as a just-execute instance. With the
current patch, the client can thus only write, on command line, the
remote serve address, avoiding the repetition of the same address for
two different options.
|
|
...the client and serve use two different remote execution endpoints
fixup test
|
|
serve_target_remote_build.sh should be updated once just-serve can
orchestrate the remote build
|
|
This will allow end-to-end tests to pre-populate the serve build
root if needed.
|
|
|
|
|
|
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>
|
|
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.
|
|
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.
|
|
Also extended absent-roots test with this scenario.
|
|
...to avoid waiting for the test timeout on an internal error.
|
|
|
|
Also adds a section in the curl_url test suite.
|
|
|
|
|
|
... ensuring that just-mr passes on the specified environment
variables (and only those) to the tree-generating action.
|
|
|
|
|
|
|
|
Includes check to ensure we do not cache subtrees unnecessarily.
Co-authored-by: Paul Cristian Sarbu <paul.cristian.sarbu@huawei.com>
|
|
- add missing serve_api TARGETS file
- rename service client to align with server naming scheme
- fix inconsistencies in comments between implementation and protocol
|
|
This way they can be used by 'just serve'.
|
|
This avoids using the more geenric GitRepoRemote method which
has libcurl as a dependency, something that is not needed for this
Git operation.
|
|
This is brought in by the tree-of-archive rpc of just serve.
Also adds lzma and bzip2 as transitive dependencies.
|
|
Export the same target from different repositories, as well as
an explicit file reference with the same name and verify that
no spourious cache hits occur.
|