Age | Commit message (Collapse) | Author | |
---|---|---|---|
2024-07-12 | Use static Create functions to construct ArtifactDescription | Maksim Denisov | |
...instead of unobvious ctors relying on overload resolution. | |||
2024-07-12 | Move implementation details of ArtifactDescription to the cpp file | Maksim Denisov | |
2024-07-12 | DAG: remove methods used in tests only | Maksim Denisov | |
2024-07-12 | DAG: remove IsValid since it is used in tests only. | Maksim Denisov | |
2024-07-12 | DAG: remove unused methods | Maksim Denisov | |
2024-07-12 | Capture in TreeReaders by pointer to avoid temporaries | Maksim Denisov | |
2024-07-12 | Replace IBundle classes family with BazelBlob | Maksim Denisov | |
2024-07-12 | Return std::nullopt if creation of an action digest fails | Maksim Denisov | |
...instead of dereferencing nullptr. | |||
2024-07-12 | Pack arguments of CreateActionDigestFromCommandLine to a struct | Maksim Denisov | |
2024-07-12 | Remove unused parameters in CreateDirectoryDigestFromTree | Maksim Denisov | |
2024-07-12 | Move BazelMsgFactory reading functions to a separate class | Maksim Denisov | |
2024-07-12 | Store 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. | |||
2024-07-12 | test summary defaults: use times | Klaus Aehlig | |
... as the default summarizer can make good use of that, if provided. | |||
2024-07-12 | Internal test rules: only use in summary action what is necessary | Klaus Aehlig | |
2024-07-12 | Internal test rules with infastructure: also record pwd | Klaus Aehlig | |
2024-07-12 | Test summarizer: also report on average time | Klaus Aehlig | |
... of passed tests (as only for those, the time is meaningful). Given that we read the timing information anyway, if available, we can as well report more useful information. | |||
2024-07-12 | Test rules: only provide to the summary action what is needed | Klaus Aehlig | |
... and add a rule allowing the summarizer to specify what it needs. | |||
2024-07-12 | Tests: also record `pwd` | Klaus Aehlig | |
... as test meta data. Tests are executed in an unspecified directory, assuming pass or fail is independent of the location where the test is run. While this generally is true, test logs often contain the working directory. So, in order to more easily compare different execution orders of a potential race condition, it can be desirable to compare logs "up to the execution directory". This, however, requires that this directory is recored in the first place. Do so. For consistency of the output format, also have a (fixed) artifact pwd in the summary report. | |||
2024-07-11 | Add test to check correct target-cache sharding | Paul Cristian Sarbu | |
...between local, remote, and served builds. | |||
2024-07-11 | just: Fix storage instantiation in main | Paul Cristian Sarbu | |
As the storage instance also instantiates the target cache, we need to ensure that each such instance has at that point all the correct remote endpoint information to ensure the target cache sharding works as expected. In particular, the server-side and client-side operations of just have a slightly different setup for the remote endpoint address, therefore they require the storage instantiation to be done separately. | |||
2024-07-10 | ParallelRetrieveToCas: process prerequisites in parallel | Klaus Aehlig | |
2024-07-10 | ParallelRetrieveToCas: avoid duplicated requests | Klaus Aehlig | |
While no additional blob will be transferred, doing a request for missing blobs is still a request and, in particular, an unnecessary round trip. Therefore avoid this, by remembering what we synchronized already. | |||
2024-07-10 | Artifact::ObjectInfo: add order | Klaus Aehlig | |
2024-07-10 | ArtifactDigest: add order | Klaus Aehlig | |
2024-07-09 | Test rules with infrastructure: also honor TEST_SUMMARY_EXECUTION_PROPERTIES | Klaus Aehlig | |
Also for tests that provide infrastructure, it can be desirable to run those tests a large number of times. Therefore, support additional remote-execution properties for the summary action so that a suitable remote-execution endpoint can be chosen. | |||
2024-07-08 | tutorial on tests: set shell defaults | Klaus Aehlig | |
... as they will be used in newer versions of rules-cc to set the path for the test-summary action. | |||
2024-07-08 | Remove hardlink design as implemented | Klaus Aehlig | |
... and mention the fix in CHANGELOG. | |||
2024-07-08 | CHANGELOG: fix typos | Klaus Aehlig | |
2024-07-05 | mark split-splice test as IO-heavy | Klaus Aehlig | |
2024-07-05 | tests: support additional remote-execution properties for summaries | Klaus Aehlig | |
If a test is run several times (as set by RUNS_PER_TEST), a summary of the individual test runs is computed using a summarizer as configured in the target layer of the rules. As the inputs for computing that test summary are all the individual test runs, that action has a large number of files as input, including a large number of identical files, e.g., the ones indicating the outcome of an individual run. Therefore, allow setting additional remote-execution properties allowing to dispatch that action to a suitable end point. | |||
2024-07-05 | Add test verifying we can handle actions with 200k identical input files | Klaus Aehlig | |
2024-07-05 | local action: copy input file on reaching symlink limit | Klaus Aehlig | |
... and continue with the newly created copy as target for the next hard links. In this way, we get rid of the restriction we used to have that the number of identical inputs be not greater than the hardlink limit. | |||
2024-07-05 | FileSystemManager::CreateFileHardlink: return error code on failure | Klaus Aehlig | |
Instead of returning a plain boolean, return an expected with the same boolean value that in case of an error indicates the error code. In this way, an error-specific handling is possible by consumers. While there, also add proper quoting of the involved file names. | |||
2024-07-05 | Convert StorageConfig to a general class | Maksim Denisov | |
2024-07-05 | Remove HermeticLocalTestFixture | Maksim Denisov | |
...and create StorageConfig and Storage in place if needed. | |||
2024-07-05 | Convert Storage to a general class | Maksim Denisov | |
2024-07-05 | Call uplinking via Uplinker | Maksim Denisov | |
... instead of static calls to GarbageCollector | |||
2024-07-05 | Implement uplinking logic in a separate class. | Maksim Denisov | |
2024-07-05 | Use StorageConfig with generation for initialization of Storage's generations | Maksim Denisov | |
...instead of std::filesystem::path. StorageConfig is extended to return paths of Storage's parts. | |||
2024-07-05 | Pass StorageConfig and Storage to just-mr maps | Maksim Denisov | |
2024-07-05 | Pass Storage to add-to-cas | Maksim Denisov | |
2024-07-05 | Pass Storage to RepositoryConfig | Maksim Denisov | |
...and adjust AnalyseContext. | |||
2024-07-05 | Pass StorageConfig and Storage to LocalApi | Maksim Denisov | |
2024-07-05 | Pass StorageConfig and Storage to ServerImpl | Maksim Denisov | |
2024-07-05 | Pass StorageConfig and Storage to Serve | Maksim Denisov | |
2024-07-05 | Pass StorageConfig to git_repo and git_repo_remote | Maksim Denisov | |
2024-07-05 | Pass Storage and StorageConfig to StorageUtils by reference | Maksim Denisov | |
2024-07-05 | Pass StorageConfig to GarbageCollection | Maksim Denisov | |
2024-07-05 | Pass StorageConfig to GarbageCollector::SharedLock | Maksim Denisov | |
2024-07-05 | Use StorageConfig functionality via Instance() | Maksim Denisov | |
...to track changes during refactoring easier. |