summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2024-09-09Release 1.3.2v1.3.2Klaus Aehlig
2024-09-09Update CHANGELOGKlaus Aehlig
... describing the fixes cherry-picked.
2024-09-09Executor: Also report missing output dirsOliver Reiche
(cherry-picked from 1e5cc37df36204474cedef68486ba8b29492d259)
2024-09-09When creating actions, normalize paths in the action definitionKlaus Aehlig
... and also perform conflict check on the normalized paths. Still, the the output of the "ACTION" funtion be keyed by the representation of the paths as originally described, to allow the author of a rule to use non-normalized paths as well. (cherry-picked from 74a5fbc9644eda7f105d2d2c672a41fa5c34c6a8)
2024-09-09just-mr: Fix wrong exit code for --help callPaul Cristian Sarbu
Due to the specifics of how CLI11 library handles the --help argument and the fact that just-mr uses its own set of exit codes, we were correctly printing the help text, but falsely returning a non-zero exit code as result. This is now fixed. (cherry-picked form faa8fc156ed8314db23a2d1612975ee745a50ade)
2024-09-09Store newly spliced executables as copies.Maksim Denisov
During multithreaded splicing, the main process can be forked (inheriting open file descriptors). In this case, the executable file saved using hardlinking becomes inaccessible. To prevent this, executables must be stored as copies made in a child process. (cherry-picked from a336b835ee0831ba5fe2f4e8f9b1773eff68416b)
2024-09-09tc cache: abort writing if a dependent target is not availableKlaus Aehlig
After successful build of an export target target a cache entry is written. As those export targets have a dependency structure, care is taken to write them in correct order. Writing a cache entry for an export target requires knowledge of the analysis result of that target. Originally, all targets used to be analysed locally, so that information was available for every target that was not read from the local target cache already. However, with the introduction of serve endpoints, it can happen that a target was analyzed locally, but it depends on targets obtained from serve. In this case, we have to refrain from writing a target-level cache entry to keep the the consistency invariants of the target-level cache. (cherry-picked from f63d3df866a2d75b694c8c484b21fbcdccd58acd)
2024-09-09Copy digest before emplacing in BlobContainerMaksim Denisov
...fixing potentially dangerous code (evaluation order is unspecified). (cherry-picked from b91f39d2429704859e799bff2554fc40636438f9)
2024-09-09Start 1.3.2 development cycleKlaus Aehlig
2024-05-22Release 1.3.1v1.3.1Klaus Aehlig
2024-05-21Update CHANGLOGKlaus Aehlig
describing the fixes cherry picked.
2024-05-21FileRoot: Fix parsing of ignore-special Git tree rootsPaul Cristian Sarbu
When populating the GitTree instance stored in a Git tree-type FileRoot with the ignore-special flag set, the GitTree instance would be created with an empty raw_id_ field, signaling that some of the entries might have been skipped and thus the root tree id is not anymore in a one-to-one correspondence with the stored list of entries. This however caused FileRoot instances with missing tree id information. This commit fixes the issue by always storing the raw_id_ field as the root id of the Git tree, as well as clarifying the relationship between this field and the ignore_special_ flag, including refactoring the tree id getters. (cherry picked from 06336198a38ffaec6c35df34580391579a7a7b22)
2024-05-21serve target: Improve logic for local build failure triggersPaul Cristian Sarbu
If the serve endpoint reports an internal error, local builds should not continue and the error message should be provided. Similarly, if the serve endpoint promises the target cache value to be in remote CAS, but the client cannot find or process it as needed, then a local build again should not continue and the reason be provided as an error message. (cherry picked from ab0a06871391a84c9b904bc9f2cd74ee1e8903ea)
2024-05-21Add default targets for the upcoming shell toolchainKlaus Aehlig
(cherry-picked from aea775ed362a1d8e3c6a1e7d87a793bfdcddfb0f)
2024-05-21boringssl: Add fix for building with gcc-14Oliver Reiche
... which is needed until this is merged: https://boringssl-review.googlesource.com/c/boringssl/+/68227 (cherry-picked from 33065a3bfafb57cf00812ad1c75b4dfdf8d00ef7)
2024-05-21Start 1.3.1 development cycleKlaus Aehlig
2024-05-08Relase 1.3.0v1.3.0Klaus Aehlig
2024-05-04["CC/pkgconfig", "system_library"]: honor ENV also for aux actionKlaus T. Aehlig
Our pkg config rule postprocesses the output of pkgconfig to add options -rpath where appropriate. This postprocessing, however, relies on (standard) tools from the environment, in particular cat(1). Therefore, the environment (in particular PATH) needs to be set properly for this auxilliary action.
2024-05-03Include environment in action reporting on the command lineKlaus Aehlig
Compared to the command line, the environment usually is quite short. So including it in messages reporting about commands does not introduce a lot of additional noise. However, knowing the environment can help understanding an error message. Therefore, it seems a good trade off to include it. Do so.
2024-05-03Remove large-blobs from future designs as it is implementedKlaus Aehlig
... and document the implementation in the concepts documentation.
2024-05-03Update man page and CHANGELOG to reflect blob splittingKlaus Aehlig
2024-05-02Fix typo and line break in CHANGELOG.mdPaul Cristian Sarbu
2024-05-02Use a named constant length for FileStorage directory namesMaksim Denisov
2024-05-02Release 1.3.0~beta1v1.3.0-beta1Klaus Aehlig
2024-05-02Small changes to allow gsl-lite supportPaul Cristian Sarbu
The gsl-lite implementation is slightly more picky in terms of type conversions and constness resolution in initializers, therefore small changes were needed.
2024-04-30Compactification: Split files concurrently.Maksim Denisov
2024-04-30Compactification: Remove spliced files concurrently.Maksim Denisov
2024-04-30Compactification: Remove invalid files concurrently.Maksim Denisov
2024-04-30Compactification: Implement a generic concurrent logic.Maksim Denisov
2024-04-30["CC", "defaults"] target: use "ADD_COMPILE_FLAGS"Klaus Aehlig
... to simplify definition.
2024-04-29["CC", "defaults"] rule: Add "ADD_COMPILE_FLAGS"Klaus Aehlig
The C++ programming language is tightly related to the C programming language. Consequently, the command line interface for C and C++ are also related and share quite a number of compile flags. Honor this tight connection by have in our defaults a field allowing to extend both compile flags, those for C as well as those for C++. In this way, build defaults can be described in a more readable way.
2024-04-29bazel_response: Report failure to read stdout/stderr blobs of an actionPaul Cristian Sarbu
2024-04-29bazel_execution_client: Replace protobuf map use with STLPaul Cristian Sarbu
2024-04-29["CC/test", "test"]: support TIMEOUT_SCALEKlaus Aehlig
... to allow test actions to have a larger time out, while not changing anything in the build actions (and hence being able to use cache hits from normal build of the library being tested).
2024-04-29test: Actually scale TIMEOUT_SCALE value for long-running tests...Paul Cristian Sarbu
...instead of using absolute values. This was the desidered outcome all along and now it can be done right thanks to the recently added multiplication expression.
2024-04-29expressions doc: Fix typosPaul Cristian Sarbu
2024-04-29Fix race condition in task queueKlaus Aehlig
To avoid lock contention, our task system queues tasks in several queues. In order to know when there is no more work to be done, a global counter keeps track of the total work. Here, it is important that this counter be incremented before a value is added to the queue, for otherwise some other thread could pick it up and decrement the total work load, hence getting us in a state where the counter underestimates the total amount of work to be done. Fix the order of those operations.
2024-04-26analyse: fix reporting of internal errosKlaus Aehlig
... by taking the correct map to report which targets failed to be analysed and also report about rules that failed to be analysed.
2024-04-26deps: Update libarchive to v3.7.4Paul Cristian Sarbu
2024-04-25just_serve.proto: Cleanup of specification documentationPaul Cristian Sarbu
Also aligning comments in server-side headers with the proto file documentation.
2024-04-25Add test verifying pragma in git importsKlaus Aehlig
... in particular that of the absent pragma which is addressed both, in imports as well as in deduplication.
2024-04-25just-deduplicate-repos: merge pragma of identified repositoriesKlaus Aehlig
While just-deduplcate-repos only identifies repositories that are semantically indistinguishable, there still is the pragma to consider. - If the repository in one use requires to be present, we have to fetch it, hence cannot treat it as absent. - If a repository in one place has to be transformed to a git root, this also has to happen for the copy we keep.
2024-04-25just-import-git: support importing repositories as absentKlaus Aehlig
This allows to simply specify the direct dependencies desired to be absent at import where the dependency structure is handled anyway, rather than afterwards reconstructing which repositories should be absent.
2024-04-25test remote runners: Add timeout for running execute and servePaul Cristian Sarbu
The runners used in tests that rely on execution or serve endpoints to exist can get stuck waiting for these to become online if for some reason they cannot be set up. This commit fixes this issue by setting a reasonable timeout, after which we fail gracefully.
2024-04-25just serve: Paths in config file should be location objectsPaul Cristian Sarbu
Also updates the tests and all relevant documentation accordingly.
2024-04-25just-mr rc: Extract location object parser in separate libraryPaul Cristian Sarbu
This will make it available also to just.
2024-04-25Extend serve-many test to also use non-top-level export targetsKlaus Aehlig
2024-04-25absent_target_map: fix target_file when requesting flexible variableKlaus Aehlig
... of an absent target. Here, the request is given by repository root and filename; so the filename is to be taken relative to the root, i.e., we have to prefix the targets-file name with the module.
2024-04-24just analyse: add --dump-result command line optionAlberto Sartori
The result of the analysis is a JSON object containing the keys `"artifacts"`, `"runfiles"`, and `"provides"`. This JSON object, by default, is logged. However, it might be useful to process the data contained in it, while, for example, developing new rules. This patch adds a new command line option (`--dump-result`), reserved to the subcommand `analyse`, to dump the analysis result to the given file or stdout (if `-` is given).
2024-04-24CHANGELOG: mention that the expression language has been extendedKlaus Aehlig