Age | Commit message (Collapse) | Author | |
---|---|---|---|
2025-01-24 | Add native comparison of configured targets | Klaus Aehlig | |
... and use it when normalizing the origins of actions. For this task, any well-defined linear order is sufficient. Using a native comparision (rather than comparing the canonical serialisation) significantly speeds up that normalisation process, as the assumption that it would be rare that an action has more than one origin turned out to be false. In fact, we have seeen cases where this sorting used to take several seconds before this change, so that this change reduced analysis time by more than a factor of 5. | |||
2025-01-24 | "generic" rule: verify staging conflicts on inputs | Klaus Aehlig | |
The "generic" rules deliberately resolves conflicts on identical paths in a latest-wins fashion (seeing all artifacts as later than all runfiles) to allow an easy way to define actions. However, the inputs stage obtained by this resolution can still contain conflicts and those are an error. Properly detect those. Also clarify in the documentation, that only conflicts on identical paths are resolved in the described priority, not semantic overlap. | |||
2025-01-23 | Computed roots: add basic progress reporting | Klaus Aehlig | |
2025-01-23 | Add basic progress reporter on root evaluation | Klaus Aehlig | |
2025-01-23 | PrecomputedRoot: Remove DownloadFromServe | Maksim Denisov | |
... and replace it with a direct call to serve. | |||
2025-01-23 | ServeApi: Implement DownloadTree | Maksim Denisov | |
2025-01-23 | PrecomputedRoots: Remove UploadToServe | Maksim Denisov | |
... and replace it with a direct call to serve. | |||
2025-01-23 | ServeApi: Implement UploadTree | Maksim Denisov | |
2025-01-23 | ServeApi: Capture ApiBundle and StorageConfig in the ctor. | Maksim Denisov | |
2025-01-22 | Git CAS access: reduce log level | Klaus Aehlig | |
Trying to access a git object return a recoverable failure, hence the failure to find the object in the git object database should be logged at warning level at most. Moreover, in some cases we should log that event at an even lower level, e.g., if we're just checking the presence of the object in the local git cas to avoid unnecessary network access. | |||
2025-01-22 | local api: take git fallback seriously | Klaus Aehlig | |
... and, when asked if an artifact is available, also inspect the git cas. | |||
2025-01-22 | absent computed roots: obtain value from serve without fetching artifacts | Klaus Aehlig | |
2025-01-22 | Computed roots: extend data structure to support the absent pragma | Klaus Aehlig | |
2025-01-22 | serve client: support keep_artifact_root | Klaus Aehlig | |
2025-01-22 | serve service: honor keep_artifact_root | Klaus Aehlig | |
2025-01-22 | Source-tree service: accept lock reference | Klaus Aehlig | |
... so that tagging in the associated git root can be synchronized with other services provided by just serve. | |||
2025-01-22 | Serve protocol: support keeping the artifact stage as root | Klaus Aehlig | |
In the serve protocol, extend ServeTargetRequest by a flag indicating that the client whishes the server to keep the artifact stage as an additional root. In this way, if a computed root is built on serve it can be used as an absent root without additional communication overhead. | |||
2025-01-21 | TreeStructure: Evaluate absent tree structure roots | Maksim Denisov | |
2025-01-21 | Implement UploadToServe | Maksim Denisov | |
2025-01-21 | Just: Support absent tree structure roots | Maksim Denisov | |
2025-01-21 | TreeStructure: Evaluate local tree structure roots of absent roots | Maksim Denisov | |
2025-01-21 | Implement DownloadFromServe | Maksim Denisov | |
2025-01-21 | TreeStructure: Compute on serve | Maksim Denisov | |
2025-01-21 | TreeStructure: Extend just-serve's proto | Maksim Denisov | |
2025-01-21 | TreeStructure: move resolution logic to a separate function. | Maksim Denisov | |
2025-01-21 | TreeStructure: use FileRoot as a result of resolution | Maksim Denisov | |
2025-01-21 | TreeStructureUtils: implement local computation of tree structure | Maksim Denisov | |
2025-01-21 | TreeStructureUtils: export from git | Maksim Denisov | |
2025-01-21 | TreeStructureUtils: import to git | Maksim Denisov | |
Unify logic from evaluator of precomputed roots. | |||
2025-01-21 | Rename compute_tree_structure to tree_structure_utils | Maksim Denisov | |
2025-01-15 | Use GitRepo::IsTreeInRepo during evaluation of precomputed roots. | Maksim Denisov | |
2025-01-15 | Use GitRepo::IsTreeInRepo in target utils | Maksim Denisov | |
2025-01-15 | Use GitRepo::IsTreeInRepo in SourceTreeService | Maksim Denisov | |
2025-01-15 | Add to GitRepo common implementation IsTreeInRepo | Maksim Denisov | |
2025-01-15 | Use GitRepo::ImportToGit during evaluation of precomputed roots. | Maksim Denisov | |
2025-01-15 | Use GitRepo::ImportToGit in SourceTreeService | Maksim Denisov | |
2025-01-15 | Add to GitRepo common implementation of ImportToGit | Maksim Denisov | |
2025-01-14 | Fix typo in log message | Klaus Aehlig | |
2025-01-09 | just build: add new option -p | Klaus Aehlig | |
... allowing to print the unique artifact built (if any). This allows convenient inspection of the build result of targets that define precisely one artifact. | |||
2025-01-08 | source tree service: Fix ensuring Git cache root | Paul Cristian Sarbu | |
This is an amendment to the changes in commit 8234079, as the underlying issue was only partially solved there. While the call to GitRepo::InitAndOpen is in itself properly guarded, it does not share a lock with the call to create the path to the Git cache if it is missing. Fix this by moving the call to the method ensuring the Git cache initialization to after acquiring the Git cache root garbage collector shared lock. | |||
2025-01-07 | source tree service: Ensure the Git cache exists | Paul Cristian Sarbu | |
Similarly to just-mr, each SourceTree RPC must ensure that the Git cache folder exists and the Git cache repository is initialized before using it. While there, fix missing shared locks on the Git cache root. | |||
2025-01-07 | Implement rebuilding of StorageConfig | Maksim Denisov | |
2025-01-07 | Add backend description to CAS in a ctor of TargetCache | Maksim Denisov | |
...instead of adding it preliminarily. | |||
2025-01-07 | TargetCache: use BackendDescription for sharding instead of a plain string | Maksim Denisov | |
2025-01-07 | Store BackendDescription in StorageConfig | Maksim Denisov | |
...instead of a plain hash. Hash gets computed for different storage types on the fly. | |||
2025-01-07 | TargetCache: employ the shard even for a default constructed object | Maksim Denisov | |
...since this is a more generic approach. | |||
2025-01-07 | Pass BackendDescription to StorageConfig from the outside | Maksim Denisov | |
2025-01-07 | Pack BackendDescription to a class | Maksim Denisov | |
...to let it be stored as an independent instance. | |||
2024-12-20 | clean up dependencies | Klaus Aehlig | |
2024-12-19 | TreeStructure: evaluate roots. | Maksim Denisov | |