Extraction of Python installer into a separate package#995
Merged
albertmena merged 55 commits intodevelfrom Nov 17, 2025
Merged
Extraction of Python installer into a separate package#995albertmena merged 55 commits intodevelfrom
albertmena merged 55 commits intodevelfrom
Conversation
This was referenced Mar 12, 2025
Closed
oierlauzi
reviewed
Mar 17, 2025
oierlauzi
requested changes
Mar 17, 2025
Collaborator
oierlauzi
left a comment
There was a problem hiding this comment.
Do not merge yet. I want to have a look to the rest of the PRs
Collaborator
Sure, next week I plan to handle all it. |
|
oierlauzi
previously approved these changes
Mar 20, 2025
Collaborator
oierlauzi
left a comment
There was a problem hiding this comment.
Really nice! Before merging I want to have a look into https://github.com/I2PC/xmipp3-installer
|
|
albertmena
added a commit
to I2PC/scipion-em-xmipp
that referenced
this pull request
Nov 17, 2025
## Note: This PR needs to be merged after [xmipp-995](I2PC/xmipp3#995). - `xmipp3-installer` will now be automatically installed with the plugin to ease Xmipp's new installation process. - Instead of pointing to a specific Xmipp's version (`v3.24.0`, for example), a new dynamic tag `v3` is used, to avoid needing to release a new version of the plugin just because a new release of xmipp was generated. Now releases in the plugin will only be tiggered by changes in the code of the plugin itself, nothing else. --------- Co-authored-by: Oier Lauzirika Zarrabeitia <oierlauzi@bizkaia.eu> Co-authored-by: alberto <alber.mena@gmail.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.



Note: This PR needs to be merged after xmippCore-223 and xmippViz-73.
The new installer is located in this repository.
Changes
This greadtly simplifies the code complexity of the installer in this repository, and allows it to evolve at different rates, being able to fix issues or extend the installer capabilities without relying on making releases of Xmipp.
With that change, comes a new paradigm on how source dependencies are handled in xmipp (xmippViz/xmippCore/scipion-em-xmipp):
v3.24.0), it will do so with a dynamically updated tag pointing to the latest major release of such dependency (for example,v3, which match the content of the latestv3.X.Yrelease).New release paradigm
This change enables skipping the release process in sources that don't actually need it, and that it was happening until now because of a simple update in the dependency number. Now that release cascade will only be needed if a major release happens.
Example of how it was until now (with any kind of release):
xmippCore,xmippViz,xmippandscipion-em-xmippare all in versionv3.24.0initially.xmippCorecreates releasev3.25.0.xmippneeds to create releasev3.25.0to update the version to be downloaded ofxmippCore, fromv3.24.0tov3.25.0.scipion-em-xmippneeds to do the same thing to retrieve the latest release ofxmipp.With the new process (minor or patch release):
xmippCore,xmippViz,xmippandscipion-em-xmippare all in versionv3.24.0initially.xmippCorecreates releasev3.25.0.v3ofxmippCoreis updated to match the content of tagv3.25.0.xmippis pointing to releasev3, so, whenever a new install is triggered, it will already automatically download the newest version ofxmippCore, so no changes are required inxmipp's side.scipion-em-xmippalso does not need to create a new release.With the new process (major release):
xmippCore,xmippViz,xmippandscipion-em-xmippare all in versionv3.24.0initially.xmippCorecreates releasev4.0.0.v4 ofxmippCoreis created. It matches the content of tagv4.0.0`.xmipp v3.24.0is currently pointing atxmippCore v3, so, this version will not be affected by the breaking changes introduced in thev4.0.0release ofxmippCore. To point to that new major release, versionv3.24.1can be created. This new version does not need to be a new major (v4.0.0) sincexmippitself is not breaking any compatibility towards its programs (in other words,scipion-em-xmippcan still use the samexmippprograms without any code changes).v3.24.1release is created, tagv3inxmippwill be updated to match its content.scipion-em-xmippdoes not need to implement any code changes, and, therefore, no new release is needed.Conclusion
The improvements described above allow to generate more frequent releases, with new functionality and bug fixes. As the pipeline process of a release only takes ~5-10 minutes combined (adding up release times of all xmipp sources & the plugin), the releases can be as frequent as the development team wants, allowing users to experience almost inmediately the newest develpments and patches, instead of needing to wait ~6 months for each release.