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

Release channels #1632

Open
1 of 5 tasks
SnippenE opened this issue Jul 18, 2024 · 12 comments
Open
1 of 5 tasks

Release channels #1632

SnippenE opened this issue Jul 18, 2024 · 12 comments
Assignees
Labels
CI/CD Continuous Integration/Continuous deployment

Comments

@SnippenE
Copy link

SnippenE commented Jul 18, 2024

To align with the other Hydrology suite products additions are needed in our automatic release pipeline:

Requested by @deltamarnix / PMT Hydrology (see Software Distribution Plan )

Related issue: #1583

@SnippenE SnippenE added this to Ribasim Jul 18, 2024
@SnippenE SnippenE converted this from a draft issue Jul 18, 2024
@SnippenE SnippenE added CI/CD Continuous Integration/Continuous deployment needs-refinement Issues that are too large and need refinement and removed needs-refinement Issues that are too large and need refinement labels Jul 18, 2024
@SnippenE SnippenE changed the title Add Ribasim python to Deltaforge Improvements automated release process Jul 18, 2024
@Jingru923 Jingru923 moved this from What's next to Sprint backlog in Ribasim Jul 19, 2024
@visr
Copy link
Member

visr commented Jul 19, 2024

Add Ribasim to Julia Package Manager

Since the Julia General registry requires semver, we'll need to split out the version number of Ribasim.jl from the other 2024.x.y version numbers. And then bump the major version each time we make a breaking release. Also we should document and annotate with public what is part of our API, and what is internal.

Add Ribasim Core to Conda Forge

Right now we have Ribasim Python registered in conda-forge under the name ribasim. To add the core executables to conda-forge, the build should be faster and smaller. Work to make this possible is in progress in Julia, with juliac. So it is best to wait with this until we can use this, probably 2025.

@visr visr changed the title Improvements automated release process Release channels Jul 19, 2024
@Jingru923
Copy link
Contributor

I will discuss this with Marnix, but I think this is already the case

  • Add Link to Github on download portal

@visr
Copy link
Member

visr commented Jul 19, 2024

I added another bullet, publish Ribasim QGIS plugin. If our QGIS plugin stays more or less as is, it meets all requirements to publish it. If we want to use Ribasim Python in our plugin or bundle the executable, users need to probably use QGIS from conda-forge, e.g. pixi add qgis ribasim. In that case we wouldn't meet requirements to publish our QGIS plugin.

@Huite what's your call on this? Should we go ahead and publish?

Since the version numbers are linked, we might need to release QGIS plugins under new version numbers with no code changes. Considering the plugin registration is a manually curated process this is not ideal. But perhaps once we slow down / stabilize development that is not a big issue?

@visr
Copy link
Member

visr commented Jul 19, 2024

@Jingru923 the download portal is https://download.deltares.nl/en/ribasim. That currently doesn't contain any information about this project, only Ribasim 7.

@Jingru923
Copy link
Contributor

@Jingru923 the download portal is https://download.deltares.nl/en/ribasim. That currently doesn't contain any information about this project, only Ribasim 7.

I thought he meant the log that comes from our release pipeline.

in our automatic release pipeline:

I agree that Ribasim 9 should be on the page but I am doubting that if it is part of pipeline's outcome

@visr
Copy link
Member

visr commented Jul 19, 2024

I agree that Ribasim 9 should be on the page but I am doubting that if it is part of pipeline's outcome

Yeah it wouldn't be part of the pipeline but a one time action to link to the latest release just like we do in https://deltares.github.io/Ribasim/install.html

@Huite
Copy link
Contributor

Huite commented Jul 19, 2024

Regarding the QGIS plugin: there's no specific need to publish it right now. The main thing about the QGIS plugin repo is discoverability and ease of installation. I think those benefits are currently offset by the downsides of either having to re-upload the same plugin with a new version or having outdated (with regards to version) but identical plugin (with regards to code) online -- at some point the code is going to change, and then it won't be clear whether it needs a reupload and things get muddled.

Regarding discoverability: people need to download the whole shebang from the Github pages anyway. Regarding ease of installation: still good, just click the zip.

I'd say it's better to publish it on the long term. E.g. when you can move to some semblance of stability with e.g. two releases per year?

Also worth noting: for stuff like imod-python, the primary way of getting it is through conda-forge. So there's a de facto less centralized way of downloading "all the stuff" which makes it more urgent (to me at least) to have the QGIS plugin published. For Ribasim, you would click the download links on the Github / Deltares page.

@deltamarnix
Copy link
Contributor

I have written a document for the Software Distribution Plan, I want our products to be in line with each other and not have all kinds of exceptions to the rule. I'm alright with postponing the QGIS plugin to a later date if that is more fitting, but I would like to have it there for sure. I will send @Huite the document.

@Huite
Copy link
Contributor

Huite commented Jul 19, 2024

I fully concur! I should've been more specific: I reckon a better time to publish it would be in half a year or so -- so still within the year goals.

@Jingru923 Jingru923 added the v1.0 label Jul 22, 2024
@visr visr added the epic label Jul 23, 2024
@Jingru923 Jingru923 moved this from Sprint backlog to To do in Ribasim Jul 26, 2024
@Jingru923
Copy link
Contributor

I made a PR on deltaforge's repo Deltares/deltaforge#18
When it's reviewed and merged by @JoerivanEngelen , Ribasim Python will be on Deltaforge

@Jingru923 Jingru923 moved this from To do to Sprint backlog in Ribasim Aug 8, 2024
@evetion evetion removed the v1.0 label Aug 15, 2024
@evetion
Copy link
Member

evetion commented Aug 15, 2024

I removed the label v1.0 as the remaining todos are planned for later/next year.

@visr
Copy link
Member

visr commented Aug 19, 2024

I played around a bit with juliac as mentioned in #1632 (comment). Type unstable code is not supported. We have some of that ourselves, like get_value_ptr, that can probably be fixed. But for instance JuMP is not type stable. I don't know if it is feasible to use a lower level interface that is type stable, but this may be quite some work. I parked the effort over at https://github.com/Deltares/Ribasim/tree/trimming.

@visr visr removed the epic label Nov 26, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CI/CD Continuous Integration/Continuous deployment
Projects
Status: To do
Development

No branches or pull requests

6 participants