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)