summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
9 daysRelease 1.6.0~beta1v1.6.0-beta1Klaus Aehlig
9 daysClarify use of a clang-tidy checkPaul Cristian Sarbu
The google-default-arguments check normally imposes that virtual methods have no default arguments. For our use-cases, all implementations of such methods are expected to use the same default arguments, and thus this check is manually disabled via NOLINT comments. However, this is not done consistently. This commit cleans this up and clarifies our intent by: - removing the default values (and the NOLINT statement) for all implementations of virtual methods with default argument values, matching the desired intended behaviour, but - keeping the clang-tidy check for future cases where derived classes would want to provide each different defaults.
9 daysclang-tidy config: Add additional commentPaul Cristian Sarbu
...for skipped individual check.
9 daysTest: Add test for execution server APIsOliver Reiche
9 daysExecutionService: Support RBE protocol v2.1Oliver Reiche
9 daysTest: Add test for API output path modesOliver Reiche
9 daysExecutionAPI: Support output_paths in requestsOliver Reiche
... and prepare local execution for clients using only RBEv2.1 (setting only output_paths).
9 daysExecutionAPI: Support output_symlinks in responseOliver Reiche
9 daysExecutionApi: Drop DirectorySymlinks from common apiOliver Reiche
... as it is only needed for local execution, there is no need to provide it in the common api interface.
9 daysExecutionService: Use LocalApi directlyOliver Reiche
9 daysExecutor: Verify types of output artifactsOliver Reiche
... as Justbuild has a strict separation between output files and output directories, but the RBE protocol does not necessarily maintain such a separation and therefore does not perform such a verification.
9 daysBazelNetwork: Read supported remote RBE versionOliver Reiche
9 daysLocalAction: Fix the use of external loggerOliver Reiche
10 daysFix typos in man pagesPaul Cristian Sarbu
10 daysTutorial: also point to the computed root used in the justbuild repoKlaus Aehlig
10 daysDocumentation: fix default for "main" in repository-configKlaus Aehlig
10 daysDocumentation: fix some typosKlaus Aehlig
13 daysUpdate importsKlaus Aehlig
2025-06-18bootstrap.py: Small readability improvementv1.6.0-alpha+20250618Paul Cristian Sarbu
2025-06-18Invocation server: directly show only artifactKlaus Aehlig
When presenting a build, the output artifacts are hidden behind a "details" environment to not overload the user with long list of, e.g., test results (especially if generated by a test matrix). If, however, only a single artifact is built, there is no reason to hide it; so simply show it.
2025-06-18Add auto-formatting of json fileKlaus Aehlig
Given the just added json-file formatter, we can generate a diff formatting properly all json files, i.e., all target, rules, and expression files, by applying that formatter to every target file and combining the patches. A target description doing precisely this can easily be obtained as computed root. In this way, we also make good use of caching. To avoid doing recomputing the target description unnecessarily, we factor through the tree structure of the repository tree; the latter, we obtain from the to-git view of the top-level directory, whereas for computing the diff we use the actual (not necessarily committed) files.
2025-06-18Add json formater for target filesKlaus Aehlig
... that is aware of the order-independent fields in our C++ rules. Co-authored-by: Maksim Denisov <denisov.maksim@huawei.com> Co-authored-by: Oliver Reiche <oliver.reiche@huawei.com> Co-authored-by: Paul Cristian Sarbu <paul.cristian.sarbu@huawei.com> Co-authored-by: Alberto Sartori <alberto.sartori@huawei.com>
2025-06-18Add script applying the clang-format diffKlaus Aehlig
Our lint target already provides a target for the diff obtained from clang format. Add a convenience script computing and applying that patch.
2025-06-18Update importsKlaus Aehlig
2025-06-17lint scripts: Add typing and basic documentationPaul Cristian Sarbu
2025-06-17lint: add single-file overall reportKlaus Aehlig
To quickly understand where the problems found by the linter are, an overall report can be useful, so that just-mr --main lint build -P REPORT immediately shows the problems found in the code. For convenience, also include the patch to be applied to fix formating in the default target.
2025-06-16lint: add strict_depsKlaus Aehlig
Add a test verifying that no header files are picked up from an indirect dependency.
2025-06-16Add lint target for iwyuKlaus Aehlig
Co-authored-by: Maksim Denisov <denisov.maksim@huawei.com> Co-authored-by: Paul Cristian Sarbu <paul.cristian.sarbu@huawei.com>
2025-06-16Export test distfilesPaul Cristian Sarbu
Remove the test tainting of the distfiles target used in the large tests and instead make an export target, as it is purely a source tree. In this way, the distfiles tree can be truly absent and the large tests can now also be delegated to the serve endpoint.
2025-06-16Avoid unnecessary work in accessing container entriesPaul Cristian Sarbu
- in sequence containers, use operator[] instead of .at() when accessing indices guaranteed to be in bound; - in associative containers, prefer .find() and reusing the returned const iterator to using .contains() and .at(); while there, make any so obtained iterators const if they are read-only.
2025-06-16clang-tidy: use bundled header filesKlaus T. Aehlig
A typical compiler implicitly adds some search directories for system headers; those might not be obvious for the bootstrapped clang-tidy. Therefore, use the bundled headers of the clang toolchain. This has the additional advantage, that everyone uses the same system headers for linting.
2025-06-16Ensure equality operators are really noexcept.Klaus T. Aehlig
... by explicitly catching any possible exception. Mainly to make clang-tidy happy. ...
2025-06-13Test: Fix flaky LargeObjectCAS test.Maksim Denisov
Due to a random nature of the LargeObjectUtils generator, it may generate 2 identical files in a row. To prevent the test from failing, check that a newly generated file doesn't collide with any already added to the CAS.
2025-06-13Extend invocation-logging tutorialKlaus Aehlig
Environment variables can be used to provide some context, why a particular invocation was run, and hence allow additional sharding. Also, remind that setting up a cronjob for log rotation might me a good idea.
2025-06-13Update bootstrapping documentationKlaus Aehlig
... mentioning that now etc/repos.in.json is used for bootstrapping. This is relevant for both, determining the precise list of dependencies needed as well as for patching the repository configuration, e.g., in a package build.
2025-06-13CONTRINBUTING: point to the newly added "lint" repositoryKlaus Aehlig
To allow everyone to lint in the same way with minimal manual setup effort.
2025-06-13Add lint target for clang-formatKlaus Aehlig
2025-06-13Add a lint target for clang-tidyKlaus Aehlig
... using the already-committed configuration file and the version of clang-tidy that was imported from the toolchain.
2025-06-13bootstrap: use etc/repos.in.jsonKlaus Aehlig
... as repository configuration. We know that everything imported is not needed for the bootstrap process. Hence, by taking the description before import, we can avoid fetching unnecessary archives.
2025-06-13Import clang-18 from toolchainKlaus Aehlig
... and make it available to a new "lint" repository. In this way, there is no dependency of the main or test repository on the newly importet toolchain, while the "lint" repository has access to a well-defined version of clang-tidy.
2025-06-12Update documentationMaksim Denisov
2025-06-12Test compactification gets skipped for `gc --all`Maksim Denisov
2025-06-12Add a flag to `gc` command: `--all`Maksim Denisov
2025-06-12GarbageCollector: Support removal of all generations at onceMaksim Denisov
...that ignores compactification.
2025-06-11Add design document for full GCMaksim Denisov
2025-06-05lint tutorial: hint on the discovered but not processed actionsKlaus Aehlig
Linting is a natural example where actions are discovered that are not neded for the artifact that is requested to be built. Use this opportunity to explain the difference between discovering an action and processing it.
2025-06-05test ["end-to-end/git-import", "computed"]: move to subdirKlaus Aehlig
This test uses a file repository at "." with the "to_git" pragma. Now, if we build the tool to be tested in debug mode, the sources end up in the test's action directory. If we take the work dir of the simulated use case top level, all these sources end up unnecessarily in the workspace root of the test repo. Avoid this overhead by moving to a subdirectory.
2025-06-05test end-to-end/actions: Fix typo in TARGETS filePaul Cristian Sarbu
2025-06-05tutorial lint: Update example outputPaul Cristian Sarbu
2025-06-05Executor: Log action outputs sorted by pathPaul Cristian Sarbu
...also on failure or warning.