Proposal to release Hipparchus 4.0.2

Hi all!

I would like to propose a release 4.0.2 for Hipparchus. The current scope of this release is:

  • Issue #411: Fixes NaN in atan2 with UnivariateDerivative2
  • Issue #416: Fixes inconsistency between Abstract{Field}ODEStateInterpolator and {Field}DetectorBasedEventState for event time handling

What about releasing Hipparchus 4.0.2 with these two fixes?
Does anyone have anything to add in the program?

Best regards,

Bryan

3 Likes

This program is fine to me, go ahead!

Hi!

The sky is getting cloudy, a perfect wheater to start the patch this evening!
I’ll handle it.

Bryan

4 Likes

Hi!

I probably missed something in the recent discussions on the release process… Sorry for that…

I’m currently releasing Hipparchus 4.0.2 and have some issue to deploy the artefacts.
I have an error 403 ā€˜Forbiddenā€ when deploying the artefacts. I tried to connect to sonatype with my login and password but I have the following error message

Incorrect username, password or no permission to use the Nexus User Interface.
Try again.Forbidden

Did I missed something?

Thank you,

Bryan

Ok, I’ve looked at the Git history of Orekit pom.xml and it looks we have missing updates for Hipparchus deployments since sonatype is ā€œdeadā€. Actions like:

  • Removing link to sonatype
<plugin>
  <groupId>org.sonatype.plugins</groupId>
  <artifactId>nexus-staging-maven-plugin</artifactId>
  <version>${hipparchus.nexus-staging-maven-plugin.version}</version>
  <extensions>true</extensions>
  <configuration>
    <serverId>ossrh</serverId>
    <nexusUrl>https://oss.sonatype.org/</nexusUrl>
    <autoReleaseAfterClose>false</autoReleaseAfterClose>
  </configuration>
</plugin>
  • Remove distribution management
<distributionManagement>
  <snapshotRepository>
    <id>ossrh</id>
    <url>https://oss.sonatype.org/content/repositories/snapshots</url>
  </snapshotRepository>
  <repository>
    <id>ossrh</id>
    <url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url>
  </repository>
</distributionManagement>
  • etc.

I will need to remove the 4.0.2 tag and try to do these steps. However, I’m far to be a devops expert. So before releasing, I’ll need a small review :slight_smile:

In fact, there is a all bunch of things that have been done for Orekit release process.
The release guide has been rewritten and scripts have been set up to simplify the release (it’s now only a matter of running scripts, almost nothing manual anymore). However, this has not been done for Hipparchus and since Hipparchus is a multi-modules project, things are going to be different (mainly regarding the changes.xml and artifacts uploading).
You can look at the release guide and at the new scripts directory, perhaps running similar steps manually on Hipparchus side. I don’t yet have time to create the scripts for Hipparchus, but this is something we should definitely do.

Yes I agree that one day this script should exist for Hipparchus. But currently, all steps can be done manually for Hipparchus.
The only step I’m missing is the deploy (the documentation is updated, and the tag, that I just removed, was done). And it can be done without script. My only questions are:

  • Shall we apply to Hipparchus pom.xml the same changes as Orekit’s pom.xml?
  • Shall me modify other things related to Hipparchus CI or just the pom.xml modifications are sufficient?

I guess the modifications in the pom are sufficient.
There is also a way to deploy artifacts accessing the web interface from a browser, you can look at the links to Sonatype that should be somewhere in the release guide.
If you can’t do it, I may find time to do the release for you tonight.

I’ll try this evening. I’ll just copy/past the modifications done in the Orekit pom.xml.
My only concern is that for Orekit, modification were done at CI level: Allow Continuous Integration to sign artifacts on its own. (84c9bbd6) Ā· Commits Ā· Orekit / Orekit Ā· GitLab

You are right :worried:
Unfortunately Hipparchus continuous integration is completely different from Orekit continuous integration (it’s github actions, not gitlab CI)

Maybe @sdinot could help with some advices.

For this evening, I’ll try to publish manually. I hope it will work since my email is wrong in the Hipparchus users list

On a first step, I’ll try with the dedicated maven plugin : Maven - Documentation

If it doesn’t work, I’ll do it manually.

Do you want me to contact Sonatype support and request a change in you email address (using the one you registered on the forum)?

I’ll try as it. I suppose I already published Orekit versions with this wrong email adress.

1 Like

I have a last question. In case I do something wrong (which is 99% possible since I’m not familiar with this new process), do we need special rights to drop deployments?

If you can upload, you much probably can drop.

It looks like I can’t on both Orekit and Rugged. Maybe we can’t drop artefact already published (i.e., not staging). Or maybe we can only drop what we upload.

For sure, artifacts that have been published can never be dropped, this was always the case for maven artifacts. Dropping an artifact can only be done between upload and publish.

That’s right!

So, finger crossed for this patch!

1 Like

I also think Sonatype wrote me that they had plans for roles but not yet implemented it, so currently only the person who uploaded an artifact can drop it (because only this person can see it). This is the reason we moved to upload artifacts after the vote and we use our own package.orekit.org server as a staging area during the vote.
But for a patch release without vote, this is moot.