cucumber / html-formatter

HTML formatter for reporting Cucumber results
https://cucumber.io/
MIT License
14 stars 5 forks source link

java: Build is not reproducible by the reproducible builds project #207

Closed mpkorstanje closed 11 months ago

mpkorstanje commented 1 year ago

👓 What did you see?

The jvm-repo-rebuild project reports that the html-formatter is not reproducible. The report can be found at:

https://github.com/jvm-repo-rebuild/reproducible-central/blob/master/content/io/cucumber/html-formatter/README.md

The build isn't reproducible because running mvn install on a clean repo does not produce the expected artifacts. The html, css, ect are missing. This is to be expected because we copy these over from the javascript project with make.

Consider checking the generated code into git and checking if an update was needed instead.

mpkorstanje commented 1 year ago

Consider checking the generated code into git and checking if an update was needed instead.

This comes with the downside that each time a dependency is updated, the generated code also changes. This in turn means we can't automate our updates with Renovate. So that is pretty much a show stopper.

mpkorstanje commented 1 year ago

@hboutemy we are currently releasing and testing through a build process in Github actions. This uses two steps in different images. One for Java and one for Node.

I don't see a way to set that up in the current .buildspec format.

hboutemy commented 1 year ago

thanks for investigating @mpkorstanje

I see that it's not really html-formatter that is not reproducible, but reproducible-central project's rebuild recipe for html-formatter (aka. buildspec) that is not smart enough to execute the required/documented/automated preparation (here with npm) yes, currently, reproducible-central buildspec is quite limited on these more complex rebuild instructions: it has been intentionally made simple first.

I don't know if I can add a feature to buidspec that will be reasonably flexible and maintainable to handle such case

And for short term, I'll point the incomplete buildspec to this issue to keep track of this use case

You should probably not make your project build more complex just because reproducible-central buildspec is currently limited: it's better for html-formatter to simply ignore the wrong result from reproducible central now that it is perfecctly explained...

mpkorstanje commented 1 year ago

Cheers. Thanks for the explanation.

luke-hill commented 11 months ago

Is this now closable @mpkorstanje / @hboutemy

mpkorstanje commented 11 months ago

Looking at https://github.com/jvm-repo-rebuild/reproducible-central/issues/15 it doesn't look like there is a solution yet.

We can always reopen this issue if and/or when it becomes relevant again.