eclipse-packaging / packages

Eclipse IDE product definitions.
Eclipse Public License 2.0
4 stars 13 forks source link

Review/revisit for qualifier updates #169

Open jonahgraham opened 6 months ago

jonahgraham commented 6 months ago

The force qualifier updates build step is a little brittle, this step:

https://github.com/eclipse-packaging/packages/blob/cdbc520042784423af21c208a14a79640d81d2bc/RELEASING.md#L59

Because if you squash or amend the commit so the commit time is overridden the effect goes away as the commit time, not the author time is used.

This results in the following manual check to potentially fail:

https://github.com/eclipse-packaging/packages/blob/cdbc520042784423af21c208a14a79640d81d2bc/RELEASING.md#L76

The utility of the force qualifier updates is to make sure that we don't publish content with the same version + qualifier but produced at different times.

Perhaps it would be easier to simply remove these steps and stop using the jgit timestamp plug-in and always use build time for the bundles qualifier. I think that would achieve the goal without the overhead.

PS I think there was also the desire to have the timestamps be "pretty" in the past, i.e. org.eclipse.epp.package.common_4.32.0.20240530-1200 instead of org.eclipse.epp.package.common_4.32.0.20240530-0533/

Note that the RC1 (see #166) shows the inconsistency (the build is still ok) because the commit that set the timestamp has different commit and author times. The setGitData script sets the commit date:

https://github.com/eclipse-packaging/packages/blob/54cfc2a06c3680d7773bcbb42aef259646a6e550/releng/org.eclipse.epp.config/tools/setGitDate#L7

But the commit for RC1 was different https://github.com/eclipse-packaging/packages/commit/cdbc520042784423af21c208a14a79640d81d2bc

merks commented 6 months ago

Yes, I wondered about that. If you want each build to produce new artifacts, why use the commit time and need to make a commit to change it... Of course there is the issue of reproducible builds too...