I could surely add a line of output to the console such as:

“Please replace the content of “dependencies.txt” with the content of 
“target/apache-iotdb-parent-2.0.0-SNAPSHOT-sbom.txt” to make the build pass 
this check.”

Chris

Von: Xinyu Tan <tanxi...@apache.org>
Datum: Montag, 23. September 2024 um 12:16
An: dev@iotdb.apache.org <dev@iotdb.apache.org>
Betreff: Re: Automating keeping track of used dependencies?
Hi, Chris

It's exciting to see how we're going to manage our SBOM, as it heralds the 
beginnings of establishing control over some of our potential dependency risks.

I recommend simply failing the build when adding dependencies without 
maintaining a list. This makes developers and reviewr more aware of the 
dependencies introduced by each PR, which is good for the community in the long 
run.

Of course, in order to be developer-friendly, we also need to give developers 
as much guidance as possible on what to do when build fails.

Best
---------------
Xinyu Tan

On 2024/09/23 08:10:06 Christofer Dutz wrote:
> Hi all,
>
> with legislative initiatives all over the planet ramping up. I think it’s 
> important that we also do our best to prepare for the future, which is almost 
> certain to come.
>
> One thing that will definitely come, is making dependency information (SBOM) 
> available for releases.
>
> I’ve already added that to the profile for creating apache-releases.
>
> However, it would also be good if we would pay a bit more attention to the 
> dependencies that we add. Both directly and indirectly (If we update a third 
> party library to a new version, this can pull in new dependencies).
>
> I’m therefore woking on extending our build to pay attention to this.
>
> The general idea is to use the data from the sbom generated during the build 
> and to compare that with data we explicitly maintain in a list. This list 
> reflects the “dependencies we are aware of”, if someone changes any 
> dependencies in maven, the sbom will update and then the auto-generated list 
> will no longer match the one we have on file and do something.
>
> This “something” could be:
>
>   *   that we have a dedicated Jenkins job, that sends out emails if there’s 
> a mis-match.
>   *   That it fails the build
>   *   Possibly other options that I currently haven’t thought of
>
> I would personally prefer having this in every build.
>
> If for example I am working on a feature in a branch and I update 
> dependencies, I must also update the list we have on file to reflect all 
> changes. This needs to be checked in with the PR for the build to work.
>
> Now someone reviewing the PR will also see the changes this PR will have on 
> the dependencies.
>
>
> What’s your opinion on this?
>
> Chris
>

Reply via email to