summaryrefslogtreecommitdiff
path: root/src/other_tools/just_mr/cli.hpp
AgeCommit message (Collapse)Author
2024-04-18just-mr: support retry for temporary grpc failuresKlaus Aehlig
... using the same mechanism that just uses. As just-mr now also does quite some grpc calls, e.g., fetching distribution files from the remote-execution endpoint and negociating roots with the serve endpoint, it may now also be affected by a bad network or a service temporarily be unavailable.
2024-04-10Add just-mr command-line option to estrict log limit on stderrKlaus Aehlig
2024-03-26Add missing system includesPaul Cristian Sarbu
Main culprits: - std::size_t, std::nullptr_t, and NULL require <cstddef> - std::move and std::forward require <utility> - unordered maps and sets require respective includes - std::for_each and std::all_of require <algorithm>
2024-01-31just-mrrc: support remote-execution propertiesKlaus Aehlig
While just-mr does not use remote-execution properties, it is still useful to have those as a separate entry in the rc file. With rc-file delegation, this gives committed rc files an easy way to specify the image to be used without having to set all the remaining arguments for the various just subcommands in "just args".
2024-01-30just-mr: add option to dump effective rcKlaus Aehlig
2024-01-09just-mr: don't make the command line pretend a fixed nameKlaus Aehlig
Our fetch and launch tool is parametric in the tool to be launched. Reflect this in the documentation and do not pretend it to be the name "just" hard coded. While there, also fix the hard-coded name "git" in the documentation of the default value.
2023-12-11just-mrrc: support file options for the launcher functionalityKlaus Aehlig
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.
2023-12-11just-mr: move rc handling to a separate libraryKlaus Aehlig
2023-11-16Add -R as short option for --remote-serve-addressKlaus Aehlig
The `just serve` command defaults to also provide the remote-execution endpoint if none is specified. The `just build` implicitly uses the serve endpoint as remote-execution endpoint if no other endpoint is specified. In this way, the serve endpoint has become the universal endpoint for simple set ups. Simplify that usage further by providing a short command-line option.
2023-11-14just-mr: Parse mirrors specification from checkout locations filePaul Cristian Sarbu
2023-11-02Decoupling symlinks map and CAS utilities from just-mrPaul Cristian Sarbu
This is required in order to make them available to 'just serve' in a minimal just installation.
2023-09-20just-mr: add option to override the absent pragmaKlaus Aehlig
Using absent repositories depends on a just-serve endpoint. As such, it is not a datum of the project, but one of the available infrastructure. As the latter can change independently of the project, it is desriable to have the option to specify those pieces of information in separate files.
2023-09-15just serve: add remote execution endpoint and --fetch-absent optionPaul Cristian Sarbu
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>
2023-09-13just serve: Add endpoint argumentsPaul Cristian Sarbu
2023-08-25just-mr fetch: Allow to back up fetched archives to a given remote CASPaul Cristian Sarbu
2023-08-25just-mr: Add remote execution and mTLS argumentsPaul Cristian Sarbu
These have similar meanings as in 'just', are forwarded to 'just' subcommands that support them, and can be set also in the RC file via appropriate fields.
2023-04-26imports: Switch to Microsoft GSL implementationOliver Reiche
... with two minor code base changes compared to previous use of gsl-lite: - dag.hpp: ActionNode::Ptr and ArtifactNode::Ptr are not wrapped in gsl::not_null<> anymore, due to lack of support for wrapping std::unique_ptr<>. More specifically, the move constructor is missing, rendering it impossible to use std::vector<>::emplace_back(). - utils/cpp/gsl.hpp: New header file added to implement the macros ExpectsAudit() and EnsureAudit(), asserts running only in debug builds, which were available in gsl-lite but are missing in MS GSL.
2023-04-14just-mr support -D optionKlaus Aehlig
Make just-mr unconditionally support an option -D that collects a configuration overlay and forwards it to the invocation of a just subcommand that supports this option. This syntax-switching facility makes it easy to embedd dynamic parts of the configuration (like the head commit to be part of a version string) as those information can unconditionally be the first argument to just-mr.
2023-03-23just-mr: Add git binary optionPaul Cristian Sarbu
In the rare cases that we need to shell out to git, let the user configure what binary to use. Option resolves in the same way as the just executable, including allowing it to be set via just-mrrc. Updates all cases of shelling out to git (fetch and commit update). Update just-mr and just-mrrc docs accordingly.
2023-03-22just-mr: support log options in rc fileKlaus Aehlig
2023-03-22just-mrrc: allow setting a default for the launcher the rc fileKlaus Aehlig
2023-03-10Move common defaults for just and just-mr into a separate libraryKlaus Aehlig
... and, in this way, avoid duplication of these constants that might lead to inconsistencies between those two tools later.
2023-03-08Just-MR: Add command line options for SSL verification during archive fetchPaul Cristian Sarbu
2023-03-08just-mr: fix options mismatchesPaul Cristian Sarbu
... both with respect to just options and the man page specifications. Option -L of just-mr was reassigned as a short name for --local-launcher, matching its use in just. Its place is now correctly held by the full name option --checkout-locations, as per the section-1 man page.
2023-03-07Just-mr: Add --local-launcher optionPaul Cristian Sarbu
Also update just-mr section-1 man page
2023-02-27Logging: Add --log-append clarg to just-mr and enable log forwarding to justPaul Cristian Sarbu
When calling just from just-mr, all logging arguments are forwarded as early arguments. If any log files are provided, an unconditional --log-append is also prepended to ensure the contents of the log files are not overwritten.
2023-02-22just-mr/cli.hpp: remove unused constantKlaus Aehlig
2023-02-20Add logging command-line arguments to just-mrSascha Roloff
2023-02-20Style fixes in just-mrSascha Roloff
2022-12-21Just-MR: Add main with CL args handlingPaul Cristian Sarbu