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] [Created] (KAFKA-17540) Create floating tag on trunk for CI
David Arthur created KAFKA-17540:
------------------------------------
Summary: Create floating tag on trunk for CI
Key: KAFKA-17540
URL: https://issues.apache.org/jira/browse/KAFKA-17540
Project: Kafka
Issue Type: Task
Components: build
Reporter: David Arthur
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)