Skip to content

Conversation

SilkeSchomann
Copy link
Contributor

@SilkeSchomann SilkeSchomann commented Oct 25, 2024

Description of work

Summary of work

MSlice is now installed via conda and not as an external interface anymore.

Fixes #38215.

To test:

Verify that in Mantid workbench, the MSlice interface can still be opened. De-install the mslice package from a conda environment with the workbench package installed. When you now try to open the MSlice interface, there should be a warning 'Mslice is not available', but no crash. In a mantid-developer environment, mslice should not be available without being manually installed by the user. Again, there should be a warning 'Mslice is not available', but no crash.

The packages can be found here: https://builds.mantidproject.org/job/build_packages_from_branch/944/

This does not require release notes because this is not a change that is visible to the user.


Reviewer

Please comment on the points listed below (full description).
Your comments will be used as part of the gatekeeper process, so please comment clearly on what you have checked during your review. If changes are made to the PR during the review process then your final comment will be the most important for gatekeepers. In this comment you should make it clear why any earlier review is still valid, or confirm that all requested changes have been addressed.

Code Review

  • Is the code of an acceptable quality?
  • Does the code conform to the coding standards?
  • Are the unit tests small and test the class in isolation?
  • If there is GUI work does it follow the GUI standards?
  • If there are changes in the release notes then do they describe the changes appropriately?
  • Do the release notes conform to the release notes guide?

Functional Tests

  • Do changes function as described? Add comments below that describe the tests performed?
  • Do the changes handle unexpected situations, e.g. bad input?
  • Has the relevant (user and developer) documentation been added/updated?

Does everything look good? Mark the review as Approve. A member of @mantidproject/gatekeepers will take care of it.

Gatekeeper

If you need to request changes to a PR then please add a comment and set the review status to "Request changes". This will stop the PR from showing up in the list for other gatekeepers.

@SilkeSchomann SilkeSchomann added Direct Inelastic Issues and pull requests related to direct inelastic ISIS: Excitations/Vesuvio Issue and pull requests relating to Excitiations/Vesuvio at ISIS labels Oct 25, 2024
@SilkeSchomann SilkeSchomann added this to the Release 6.12 milestone Oct 25, 2024
@SilkeSchomann SilkeSchomann marked this pull request as ready for review November 8, 2024 07:34
@@ -0,0 +1 @@
- MSlice is now installed via Conda as part of Mantid workbench and not compiled as an external project anymore.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Will a user experience any different behaviour after this change? i.e do we need a release note detailing the change.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The user should not see any difference in behaviour to before.

For developers, there are two differences: when using the mantid-developer package, they will see a warning when clicking on MSlice in the menu instead of the interface. Since MSlice is not developed through the mantid repo, but has its own repo, most developers will not even notice this. The other change is that MSlice is not downloaded from the repo after SHA changes (there won't be SHA changes anymore).

@SilkeSchomann SilkeSchomann force-pushed the 38215_mslice_not_external_interface branch from 9623964 to cf3a54d Compare November 12, 2024 10:57
Co-authored-by: Jonathan Haigh <35813666+jhaigh0@users.noreply.github.com>
jhaigh0
jhaigh0 previously approved these changes Nov 12, 2024
Copy link
Contributor

@thomashampson thomashampson left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good, one small change request where the mantid channel has been added where it's not needed.

Co-authored-by: thomashampson <thomas.hampson@stfc.ac.uk>
Copy link
Contributor

@jhaigh0 jhaigh0 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tested installing the packages from conda and works as expected. Only thing was that when installing the packages we uploaded to @thomashampson 's conda channel, we also had to include -c mantid so mslice could be installed.

I also wondered if including mslice with mantidworkbench will be the intended behaviour forever? I think the idea would be to install workbench then install the interface packages that you wanted ontop.

@SilkeSchomann
Copy link
Contributor Author

Tested installing the packages from conda and works as expected. Only thing was that when installing the packages we uploaded to @thomashampson 's conda channel, we also had to include -c mantid so mslice could be installed.

I also wondered if including mslice with mantidworkbench will be the intended behaviour forever? I think the idea would be to install workbench then install the interface packages that you wanted ontop.

For now, it is better to automatically install MSlice with Mantid as users will expect it. If there is a general change in Mantid so that users are only installing interfaces they are interested in, it will be easy to change this behaviour for MSlice.

Copy link
Contributor

@thomashampson thomashampson left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This simplifies the way we install mslice and will make it easier to move it to an optional component if required. It does mean that the mantid channel is always required when installing mantidworkbench, but this will only affect anyone who is e.g. using a personal channel for testing purposes.

I'm squashing the commits because they're a bit messy and I find that a clean history is especially important in the conda recipes and build scripts.

@thomashampson thomashampson merged commit ee71d5f into main Nov 13, 2024
10 checks passed
@thomashampson thomashampson deleted the 38215_mslice_not_external_interface branch November 13, 2024 09:09
peterfpeterson pushed a commit to peterfpeterson/mantid that referenced this pull request Nov 26, 2024
This is a squashed versino of mantidproject#38299

Moved mslice from mantid to mantidworkbench recipe

Add mantid channel to conda build command

Only pass channel to mantid-developer and mantidworkbench

Removed quotation marks from channel option

Added space after debug option back

Use classic solver with mamba

Corrected solver argument

Install classic solver

Add mantid channel via conda config

Add conda-forge after mantid for higher priority

Use Mslice with seperate_mslice_test label

Updated copyright year

Only install mslice for workbench

Added release note

Use mantid/label/main instead of mantid

Updated installers and pinned mslice to 2.10

Check for correct MSlice version before building release of Mantid

Updated mslice interface

Update dev-docs/source/ReleaseChecklist.rst

Co-authored-by: Jonathan Haigh <35813666+jhaigh0@users.noreply.github.com>

Update installers/conda/win/create_package.sh

Co-authored-by: thomashampson <thomas.hampson@stfc.ac.uk>
peterfpeterson pushed a commit to peterfpeterson/mantid that referenced this pull request Dec 5, 2024
…roject#38299)

Install MSlice as a runtime dependency of mantidworkbench

MSlice will no longer be installed via cmake as an external interface. Instead it is
now a runtime dependency of the mantidworkbench conda package.

Co-authored-by: Jonathan Haigh <35813666+jhaigh0@users.noreply.github.com>
Co-authored-by: thomashampson <thomas.hampson@stfc.ac.uk>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Direct Inelastic Issues and pull requests related to direct inelastic ISIS: Excitations/Vesuvio Issue and pull requests relating to Excitiations/Vesuvio at ISIS
Projects
Status: Merged
Development

Successfully merging this pull request may close these issues.

Install MSlice via conda
3 participants