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

Upgrade to new C API of PRIMA #28

Open
emmt opened this issue Apr 4, 2024 · 4 comments
Open

Upgrade to new C API of PRIMA #28

emmt opened this issue Apr 4, 2024 · 4 comments

Comments

@emmt
Copy link
Collaborator

emmt commented Apr 4, 2024

@zaikunzhang and @amontoison

I can see that the C interface has changed quite substancially since PRIMA_jll version 0.7.1 onto which the current JUlai interface is based. Maybe it is time to build a new PRIMA_jll version. To me, the new C API is not backward compatible so, according to semantic versionning rules, the highest non-zero version number shall change which yields at least 0.8.0 for PRIMA_jll.

In the mean time, I can push a new releas of PRIMA.jl since they have been several commited changes in this code.

What do you think?

@amontoison
Copy link
Member

amontoison commented Apr 4, 2024

@emmt
In general, we only compile a new JLL when the upstream package has a new release.
As soon as an official version 0.8.0 of PRIMA is released, I will upgrade the artifact with Yggdrasil.
The rule for artifacts (JLL) is to use the same number the package if we can.
So it will be also 0.8.0 for PRIMA_jll.jl.

But I have something in mind before that the new version is released.
My plan is to generate the updated PRIMA_jll.jl on my fork and setup a branch here such that we use it for CI (only for this specific branch).
We can start to update PRIMA.jl and do the asociated modifications on this branch.
It also gives the opportunity to check for some issues before the official release 0.8.0.

I was thinking of that since last month.
I will setup that before the end of the week.

@emmt
Copy link
Collaborator Author

emmt commented Apr 4, 2024

@amontoison
I can see that the C API has already changed in libprima 0.7.2 while the last PRIMA_jll is for libprima 0.7.1 (unless the two version numbers are not synchromized). So why not publish now an official PRIMA_jll package for libprima 0.7.2? This would leave some time to finalize the 0.8.0 version.

@amontoison
Copy link
Member

amontoison commented Apr 4, 2024

Because if we do that, we will break all releases of PRIMA.jl that were working with PRIMA_jll 0.7.1.
We didn't set a strong constraint (like an =) on the version of PRIMA_jll.jl in the Project.toml:
https://github.com/libprima/PRIMA.jl/blob/main/Project.toml
So all version in.[0.7.1, 0.8.0[ can.be installed.
We don't expect a breaking change in the C interface.

As soon as I merge the associated pull request in Yggdrasil, PRIMA_jll.jl 0.7.2 will be used by default by all users that have PRIMA.jl installed.

We need to update the General registry directly to add the constraint on the version number of PRIMA_jll.jl if we do that.

@emmt
Copy link
Collaborator Author

emmt commented Apr 4, 2024

@amontoison

Because if we do that, we will break all releases of PRIMA.jl that were working with PRIMA_jll 0.7.1.
We didn't set a strong constraint (like an =) on the version of PRIMA_jll.jl in the Project.toml:
https://github.com/libprima/PRIMA.jl/blob/main/Project.toml
So all version in.[0.7.1, 0.8.0[ can.be installed.
We don't expect a breaking change in the C interface.

You're right, I didn't realize that!

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

2 participants