QEDjl-project / QEDbase.jl

[WIP] Base types and interfaces for QED.jl
https://qedjl-project.github.io/QEDbase.jl/stable/
MIT License
5 stars 5 forks source link

Update Julia version #16

Closed szabo137 closed 2 months ago

szabo137 commented 1 year ago

The compatible Julia version is pinned to 1.6, but should be updated to at least 1.9.

In this regard, the unit-test CI could be updated to, e.g., cover the Julia versions 1.7, 1.8, 1.9

szabo137 commented 11 months ago

⚠️ Edit

After some investigation, we found the following practices in more extensive Julia packages (e.g. Plots.jl, ModelingToolkit.jl, Dataframes.jl, Jump.jl):

Therefore, I suggest to follow these practices and pinn the version to 1.6 and test against 1.6, 1, and nightly, where nightly should be allowed to fail`.

SimeonEhrig commented 11 months ago

I implemented running the unit tests with Julia 1.6 until 1.9 and nightly (can fail) for QEDbase: https://github.com/QEDjl-project/QEDbase.jl/pull/29 This works well. Julia 1.6 until 1.9 is working. The nightly fails. Afterwards I extended the integration tests to run Julia 1.6 until 1.9 and nightly. This failed, because QEDProcesses requires Julia 1.9 in the [compat] section in the Project.toml: https://gitlab.com/hzdr/qedjl-project/QEDbase-jl/-/jobs/5262999313

Therefore I started to implement unit tests with different versions in all sub packages. Now QEDprocess fails because of a real bug: https://gitlab.com/hzdr/qedjl-project/QEDprocesses-jl/-/jobs/5267650216

How do we want to continue? I suggest support the same Julia minimum version for all packages. Should we use version 1.6 or a newer version?

SimeonEhrig commented 11 months ago

After a discussion with @szabo137, we decided to run the unit tests with Julia 1.6 until 1.9 (latest release) and nightly (can fail). The integration tests will be tested with Julia 1.6 (LTS) and 1.9 (latest release).

szabo137 commented 11 months ago

Just as a comment on the [compat] in each Project.toml. I think it is right to be compatible with the minimal Julia-version which is tested in the ci, therefore, julia=1.6.