Skip to content

Question: How do you handle baselining the original dependency tree? #8

Answered by JakeWharton
handstandsam asked this question in Q&A
Discussion options

You must be logged in to vote

The process is very similar to what I recommended for productionizing Diffuse.

On every CI build (whether for a PR or your trunk branch), capture the dependency tree output from Gradle and store it somewhere using the git SHA. This somewhere can be the local filesystem if you have a single CI machine, a shared NFS filesystem, or a cloud storage mechanism like AWS S3. You are using this storage mechanism like a database that is indexed by git SHA so the most important property is to be able to re-resolve the file using a git SHA.

On every CI build for a pull request, first compute the ancestor commit against your integration branch. This is done with git merge-base --all $PR_SHA origin/trunk

Replies: 1 comment 1 reply

Comment options

You must be logged in to vote
1 reply
@mateuszkwiecinski
Comment options

Answer selected by JakeWharton
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
Q&A
Labels
None yet
3 participants
Converted from issue

This discussion was converted from issue #7 on October 26, 2021 01:37.