[
https://issues.apache.org/jira/browse/KAFKA-17540?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
João Pedro Fonseca resolved KAFKA-17540.
----------------------------------------
Resolution: Fixed
> 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
> Assignee: João Pedro Fonseca
> 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)