Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix Reproducible Builds issues introduced during release process #24615

Open
hboutemy opened this issue Sep 30, 2023 · 5 comments
Open

fix Reproducible Builds issues introduced during release process #24615

hboutemy opened this issue Sep 30, 2023 · 5 comments

Comments

@hboutemy
Copy link
Contributor

Environment Details

  • GlassFish Version (and build number): 7.0.9

Problem Description

release binaries cannot be reproduced: see https://github.com/jvm-repo-rebuild/reproducible-central/blob/master/content/org/glassfish/main/README.md

Steps to reproduce

if you want to rebuild, you can clone https://github.com/jvm-repo-rebuild/reproducible-central and run

./rebuild.sh content/org/glassfish/main/glassfish-7.0.9.buildspec

Impact of Issue

  • cannot get the same binaries
  • current binaries are inconsistent: module info of 7.0.9 release contains 7.0.9-SNAPSHOT version

how to solve

  1. in the release script run by https://ci.eclipse.org/glassfish/view/GlassFish/job/glassfish_1-build-and-stage/ , in the second phase, clean before deploy:
mvn -B -U -q -Poss-release,release-phase2 -DskipTests -Ddoclint=none -DstagingProfileId=1c0c18a0fc339 -Dmaven.javadoc.failOnError=false deploy

s/deploy/clean deploy/

  1. release hk2 3.0.5 that includes fix Reproducible Builds issues glassfish-hk2#821 and upgrade in Glassfish

  2. eventually, in the release script, when cloning the Git repository, remove the setguid bit that brings unusual permissions

With these 3 steps done, next release should be near fully reproducible (we'll probably find a few remaining issues, given the size of the build)

@arjantijms
Copy link
Contributor

Thanks for the issue! HK2 3.0.5 is long overdue. I'll take a look at releasing it soon. I'll take a look at the release script as well.

@hboutemy
Copy link
Contributor Author

Hi @arjantijms , IIUC, next Glassfish release is happening soon: can you make sure that the release scripts have been updated, please? This is what is causing the most issues
Of course, HK2 3.0.5 release and use in Glassfish would also be great, but to me, release script is first priority

@arjantijms
Copy link
Contributor

Of course, HK2 3.0.5 release and use in Glassfish would also be great, but to me, release script is first priority

HK2 3.0.5 has been released and will be used in the next release of GF (7.0.10):

https://repo1.maven.org/maven2/org/glassfish/hk2/hk2-bom/3.0.5/

@arjantijms
Copy link
Contributor

in the second phase, clean before deploy:

This was done a while ago, it's now:

 mvn -B -U -q -Poss-release,release-phase2 ${MVN_STAGING} \
     -DskipTests -Ddoclint=none -Dmaven.javadoc.failOnError=false \
     -DstagingProfileId=1c0c18a0fc339 \
     clean deploy

@hboutemy
Copy link
Contributor Author

hboutemy commented Oct 23, 2023

FYI, HK2 3.0.5 release itself is reproducible https://github.com/jvm-repo-rebuild/reproducible-central/blob/master/content/org/glassfish/hk2/README.md (README will be updated in 24h)
you'll see in the buildspec that I had to tweak directory permissions to add setgid flag, which is not ideal, but works

@dmatej dmatej added this to the 7.0.10 milestone Oct 29, 2023
@dmatej dmatej modified the milestones: 7.0.10, 7.0.12 Jan 24, 2024
@arjantijms arjantijms modified the milestones: 7.0.12, 7.0.13 Jan 29, 2024
@arjantijms arjantijms modified the milestones: 7.0.13, 7.0.14 Feb 29, 2024
@dmatej dmatej removed this from the 7.0.14 milestone Jul 16, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants