You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jira@kafka.apache.org by "David Arthur (Jira)" <ji...@apache.org> on 2024/09/12 18:33:00 UTC

[jira] [Updated] (KAFKA-17540) Create floating tag on trunk for CI cache

     [ https://issues.apache.org/jira/browse/KAFKA-17540?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

David Arthur updated KAFKA-17540:
---------------------------------
    Summary: Create floating tag on trunk for CI cache  (was: Create floating tag on trunk for CI)

> Create floating tag on trunk for CI cache
> -----------------------------------------
>
>                 Key: KAFKA-17540
>                 URL: https://issues.apache.org/jira/browse/KAFKA-17540
>             Project: Kafka
>          Issue Type: Task
>          Components: build
>            Reporter: David Arthur
>            Priority: Minor
>
> In order to better utilize the Gradle Build Cache in our CI, we should create a floating Git tag that points to the latest commit for which the cache is populated. 
> Consider the state of trunk after four commits are merged:
> old stuff -> A -> B -> C -> D -> HEAD
> Since we do not allow preemption for trunk builds, the CI workflow will start with A and run until it finishes. If a PR is created during this time, or if someone updates their PR with trunk, it will have commits up to D. This can cause a lot of cache misses during the build.
> To solve this, we can create a floating Git tag that lets developers know where the cache is.
>  
> For example, before A finishes building:
> old stuff (cached) -> A -> B -> C -> D -> HEAD
>  
> After A finishes:
> old stuff -> A (cached) -> B -> C -> D -> HEAD
>  
> After the next trunk build finishes (assuming no new commits)
> old stuff -> A -> B -> C -> D (cached) -> HEAD
>  
> If PRs use the "cached" reference instead of "trunk", it will let them better utilize the build cache.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)