summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2023-09-28Avoid conflicts on case-insensitive file systemsKlaus Aehlig
... by renaming test/end-to-end/targets.
2023-09-28["CC/pkgconfig", "system_library"] Add -rpathKlaus Aehlig
When a shared library is picked up from the host system via pkg-config that is located at a non-standard location, binaries linked against this library by a standard linker either need LD_LIBRARY_PATH set appropriately, or -rpath set at link time. However, not all custom installations set -rpath in the link flags in their pkg-config file. Therefore, in order to get working binaries (and not have to set custom paths in tests), add a -rpath for every -L option found in the ldflags provided by pkg-config.
2023-09-27Use standard tools for pkg-configKlaus Aehlig
2023-09-26pkg-config files: properly terminate last lineKlaus Aehlig
2023-09-25Fix pkg-config name for libprotobufOliver Reiche
2023-09-25Use pkgconfig for default proto libsOliver Reiche
2023-09-22Add regression test that --fetch-absent does not store a subtreeKlaus Aehlig
... as tree for the whole commit, and thus pollutes subsequent builds.
2023-09-22commit git map: Fix --fetch-absent storing incorrect tree associationPaul Cristian Sarbu
In order to not pollute builds, one should only store in the id file the association between a commit and its *root* tree. As the need for such a file only happens when asked to fetch absent roots, which should be a quite rare use case, we can request the whole tree of a commit to be served (incl. synced with remote execution) and perform the subdir tree extraction locally instead.
2023-09-22commit git map: Improve warning messagePaul Cristian Sarbu
2023-09-22fpath git map: Remove redundancy in warning messagePaul Cristian Sarbu
2023-09-22RemoteServeConfig: Remove problematic inheritancePaul Cristian Sarbu
This was causing the remote serve address to overwrite the one set for remote execution. Also, to keep things clean, some common remote server-related methods and definitions were moved into their own library.
2023-09-20Add end-to-end test for the absent configuration of just-mrKlaus Aehlig
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-20just-mrrc(5): update exampleKlaus Aehlig
As we have, with "remote execution", a command-independent option to set the remote-execution endpoint that also gets forwarded, a typical configuration would specify the endpoint there.
2023-09-19just serve protocol: clean upKlaus Aehlig
Just like the remote-execution protocol has several services (Execution, ActionCache, ContentAddressableStorage, etc), so will the serve protocol: the actual target-level caching, as well auxilliary services, like the service to obtain the tree for a given root. Already follow that scheme, before the protocol gets part of any release. Also, move the status enum into the respective answer messages. In this way, we can have different enums for different requests without causing conflicts on the named enum constants.
2023-09-19bootstrap: for package builds use -Wno-pedanticKlaus Aehlig
... as well as the already present -Wno-error. In this way, packagebuilding should work out of the box on more systems.
2023-09-19ServeServerImpl: create and `git-init` StorageConfig::GitRoot() when the ↵Alberto Sartori
server is started
2023-09-15just-mr: ensure that after --fetch-absent a local build is possibleKlaus Aehlig
... by also keeping the map of commit to tree locally.
2023-09-15Add an end-to-end test for fetching absent rootsKlaus Aehlig
2023-09-15Add infrastructure for end-to-end tests using just serveKlaus Aehlig
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-15GitApi: implement RetrieveToCASAlberto Sartori
This functionality will be needed to upload git trees to a remote-execution end point by `just serve.
2023-09-13target-level caching as a service design: add clarifying commentsKlaus Aehlig
- Document that `just serve` can be asked to back up a tree to the remote execution end point. - Specify, that similar to getting the tree of a commit, just serve can also be asked to provide the tree of an unpacked archive given by its blob identifier. - Document the auxilliary request by which `just build` can get the needed information about the flexible variables of an export target in order to construct the correct cache key.
2023-09-13CHANGELOG: describe current state of affairsKlaus Aehlig
2023-09-13Document 'just serve' protocol and implementationPaul Cristian Sarbu
2023-09-13test: Check that just-mr creates correct absent rootsPaul Cristian Sarbu
2023-09-13just-mr: Implement 'absent' rootsPaul Cristian Sarbu
...via an 'absent' pragma in repository descriptions. For 'git'-type repositories, first interrogates a 'just serve' remote, if given, before reverting to fetching from the network.
2023-09-13just serve: Add endpoint argumentsPaul Cristian Sarbu
2023-09-13just serve: Implement basic API handling service requestsPaul Cristian Sarbu
2023-09-13test: Add initial checks for serve service clientPaul Cristian Sarbu
2023-09-13test: Add test environment running 'just serve'Paul Cristian Sarbu
2023-09-13just serve: Implement initial serve clientPaul Cristian Sarbu
...able to request the tree of a commit known to the remote.
2023-09-13just serve: Basic service implementation with commit-of-tree RPCPaul Cristian Sarbu
Initial version, to be extended later with other RPCs.
2023-09-13just: Add handling of 'just serve' configurationPaul Cristian Sarbu
2023-09-13remote: Extract port parsing in own libraryPaul Cristian Sarbu
2023-09-13remote: Extract common client implementation utils in own libraryPaul Cristian Sarbu
2023-09-13targets: Add missing explicit dependencies and fix library namePaul Cristian Sarbu
2023-09-13just-mr fetch: Fix minor typo in digest checkPaul Cristian Sarbu
The IsAvailable method with the correct signature is now called.
2023-09-13utils: No hash for upcoming libstdc++ 11 releasesOliver Reiche
2023-09-07just-mr: allow subkeys to be skipped in RC filePaul Cristian Sarbu
If a key has a map value, do not force all its subkeys to be present. Fixes changes brought in with supporting remote execution and authentication options in just-mr.
2023-09-05just.1: Disambiguate short name of optionPaul Cristian Sarbu
Add missing support list for --print-to-stdout option, which thus also disambiguates the -P short version.
2023-09-01just-mr.1: Add missing gc subcommand in synopsisPaul Cristian Sarbu
...and use same ordering of subcommands throughout.
2023-09-01fmt: Fix includes to only bring in the core APIPaul Cristian Sarbu
There is no need to use the full format API, so avoid increasing the compile time gratuitously.
2023-09-01Update fmt to 10.1.1Klaus Aehlig
2023-09-01add basic test for deduplicationKlaus Aehlig
... verifying that deduplication does not modify the analysis result.
2023-09-01Add a utility tool to deduplicate internal repositoriesKlaus Aehlig
Together with just-import-git that allows a work flow of easily importing dependencies without exponential blow up of the resulting repos.json files.
2023-08-31just-mr.py: Fix None checksPaul Cristian Sarbu
2023-08-31just-mr.py: Fix wrong check added by type annotation changesPaul Cristian Sarbu
The checkout locations keys can, of course, include the empty string, so key check should be explicitly typed.
2023-08-31just-import-git: fix fallout of type annotationsKlaus Aehlig
In order to get the type checker happy, some wrong type annotations were added and, as a consequence, an unwarrented conditional as well. To make things worse, this as checking for the non-None-ness of a value by inspecting the truth value, ignoring that the non-None value "" also has truth value False. Remove this conditional alltogether and fix the type annotations.
2023-08-29python: Add type hints and fix style in rules scriptsPaul Cristian Sarbu