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

Alphapeptdeep Integration #3123

Open
wants to merge 187 commits into
base: master
Choose a base branch
from

Conversation

xgwang-uw
Copy link
Contributor

  • Rename existing PythonInstaller to PythonInstallerLegacyDlg
  • Add new PythonInstaller implementation to support Python virtual environment
  • Add functional tests for new PythonInstaller implementation

@xgwang-uw xgwang-uw requested a review from nickshulman August 16, 2024 09:00
@chambm
Copy link
Member

chambm commented Aug 20, 2024

Something went wrong with the merge here. It shouldn't show changes from other PRs. Maybe try fetching latest master and rebasing your branch on it. Do you need help doing that?.

@nickshulman
Copy link
Contributor

nickshulman commented Aug 20, 2024

Something went wrong with the merge here.

My guess is that pushing "Update branch" will fix everything.
This branch has changes from master but does not know that it is up to date with master.
If we push the "Update branch" button it will notice all the files that it wants to change are identical to what is already there and everything will be good.

@xgwang-uw xgwang-uw force-pushed the Skyline/work/20240816_pythoninstaller_with_virtual_env_support branch from 868fde7 to 416c9d2 Compare August 20, 2024 19:43
@xgwang-uw
Copy link
Contributor Author

Something went wrong with the merge here. It shouldn't show changes from other PRs. Maybe try fetching latest master and rebasing your branch on it. Do you need help doing that?.

Yeah. Thanks for asking. I did a rebase which treated the updated changes and anything in between as new commits. I rolled back those changes and added the updates as a new commit. That fixed this branch. I will do a merge from master later on.

@xgwang-uw xgwang-uw force-pushed the Skyline/work/20240816_pythoninstaller_with_virtual_env_support branch 3 times, most recently from 3db9cca to b007485 Compare August 21, 2024 22:40
@chambm
Copy link
Member

chambm commented Aug 22, 2024

On TeamCity the TestData test runs from an installed directory (installed with the WIX-based installer). Any non-vendor DLLs have to be added into Product-template.wxs manually. We didn't hit this on the Ardia PR because the Ardia tests are in TestConnected, which doesn't run under the admin-installed instance. Nick, we have both hit this snag many times over the years and it's funny how easily we forget it. :) I think I once proposed grepping for DLLs in the csproj files in the past but never got around to implementing it.

@xgwang-uw xgwang-uw force-pushed the Skyline/work/20240816_pythoninstaller_with_virtual_env_support branch from a4971e8 to 7812cb5 Compare August 26, 2024 19:58
@chambm
Copy link
Member

chambm commented Jan 24, 2025

How are we testing the GPU support?

@brendanx67
Copy link
Contributor

brendanx67 commented Jan 24, 2025 via email

@dshteyn
Copy link

dshteyn commented Jan 24, 2025 via email

dshteyn and others added 9 commits January 25, 2025 19:19
… during testing. Also changes to the PythonTestUtil related to order of Message Dialogs presented during Python Install and Nvidia configuration.
…setup. Implement local functions for labeling precursors to address build message :

WARNING: Found prohibited use of
"using.*(pwiz\.Skyline\.(Alerts|Controls|.*UI)|System\.Windows\.Forms|pwiz\.Common\.GUI)"
(Skyline model code must not depend on UI code) at
C:\pwiz\pwiz_tools\Skyline\Model\AlphaPeptDeep\AlphapeptdeepLibraryBuilder.cs(14)
using pwiz.Skyline.Controls.SeqNode;
…rk/20240816_pythoninstaller_with_virtual_env_support
…to PythonInstaller revealed by BPratt's buddy testing
…rk/20240816_pythoninstaller_with_virtual_env_support
…yline/work/20240816_pythoninstaller_with_virtual_env_support and address

issues brought up during buddy testing

# Resolved Conflicts:
#	pwiz_tools/Skyline/SettingsUI/PeptideSettingsUI.cs
@@ -10,7 +29,7 @@
namespace pwiz.SkylineTestUtil
{
[TestClass]
Copy link
Member

Choose a reason for hiding this comment

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

Drop this - this isn't a test, it's code supporting tests

private void RunNvidiaDialog(MultiButtonMsgDlg nvidiaDlg)
{
nvidiaDlg.ClickNo();
MessageDlg confirmDlg = WaitForOpenForm<MessageDlg>(600000);
MessageDlg confirmDlg = AbstractFunctionalTest.WaitForOpenForm<MessageDlg>(600000);
Copy link
Member

Choose a reason for hiding this comment

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

You should use the change I supplied privately:

// We aren't running with admin privilege so we have to say no to the offer to install nvidia libraries var confirmDlg = AbstractFunctionalTest.ShowDialog<MessageDlg>(nvidiaDlg.ClickNo, 600000);

As it is, you're running UI code on the test thread, which causes intermittent failures

using System;
/*
* Maintainer: David Shteynberg <david.shteynberg .at. proton.me>,
* MacCoss Lab, Department of Genome Sciences, UW
Copy link
Member

Choose a reason for hiding this comment

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

"Maintainer" isn't something you'll find anywhere in the rest of the code. Just use "Author", which is Skyline-speak for "owner" or "knows more about it than anyone else, presumably". And, use your proteinms email.

private void RunNvidiaDialog(MultiButtonMsgDlg nvidiaDlg)
{
nvidiaDlg.ClickNo();
MessageDlg confirmDlg = WaitForOpenForm<MessageDlg>(600000);
MessageDlg confirmDlg = AbstractFunctionalTest.WaitForOpenForm<MessageDlg>(600000);
Assert.AreEqual(string.Format(ToolsUIResources.PythonInstaller_OkDialog_Successfully_set_up_Python_virtual_environment),
confirmDlg.Message);
confirmDlg.OkDialog();
Copy link
Member

Choose a reason for hiding this comment

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

Again, you should use the change I provided privately:
AbstractFunctionalTest.OkDialog(confirmDlg, confirmDlg.OkDialog);
this achieves two things - runs UI code on the UI thread, and makes sure the dialog is completely dismissed before moving along.

Console.WriteLine(@"Info: Successfully set LongPathsEnabled registry key to 1");
_undoRegistry = true;
MessageDlg okDlg = WaitForOpenForm<MessageDlg>();
MessageDlg okDlg = AbstractFunctionalTest.WaitForOpenForm<MessageDlg>();
okDlg.OkDialog();
Copy link
Member

Choose a reason for hiding this comment

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

I don't think this is actually reachable code (unless running Skyline as admin, which would be unusual) but this line should be
AbstractFunctionalTest.OkDialog(okDlg, okDlg.OkDialog);

Copy link
Member

Choose a reason for hiding this comment

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

I wonder if there isn't a way we could let a user who does have sufficient rights to set that registry key - launch a tiny app that does only that, and only works if the user clicks through the OS-provided query about it

dshteyn and others added 9 commits January 31, 2025 13:22
…rom running AlphaPeptDeep will be logged to the Immediate Window
…yline/work/20240816_pythoninstaller_with_virtual_env_support
…yline/work/20240816_pythoninstaller_with_virtual_env_support
…s when "Cancel" is pressed. Update to Python installer to improve user experience.
…rk/20240816_pythoninstaller_with_virtual_env_support
…n SkylineProcessRunner. Refactor PythonInstallerUI a to improve readability. ProcessRunner will not report message to the dialog box when logging to ImmediateWindow to address Brian's concern.
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

Successfully merging this pull request may close these issues.

6 participants