Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
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.
|
|
|
|
... by renaming test/end-to-end/targets.
|
|
... as tree for the whole commit, and thus pollutes subsequent builds.
|
|
|
|
... by also keeping the map of commit to tree locally.
|
|
|
|
|
|
The serve service will communicate with this endpoint when needed,
as well as ensure artifacts it provides are synced with the remote
execution CAS, if requested by the client.
If just-mr is given the --fetch-absent option, it Always produce
present roots irrespective of the 'absent' pragma. For Git repositories
marked with the 'absent' pragma, first try to fetch any commit
trees provided by the serve endpoint from the execution endpoint
CAS, before reverting to a network fetch.
Co-authored-by: Klaus Aehlig <klaus.aehlig@huawei.com>
Co-authored-by: Alberto Sartori <alberto.sartori@huawei.com>
|