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

Bump SSSP to 1.3 #578

Merged
merged 4 commits into from
Dec 18, 2023
Merged

Bump SSSP to 1.3 #578

merged 4 commits into from
Dec 18, 2023

Conversation

unkcpz
Copy link
Member

@unkcpz unkcpz commented Dec 12, 2023

  • The test fail because the default value will read from aiida-quantumespresso where the pseudo version in the protocol not updated yet.

@unkcpz unkcpz marked this pull request as draft December 12, 2023 16:39
@unkcpz unkcpz changed the title Bump SSSP to 1.3 and DOJO version to 0.5 Bump SSSP to 1.3 Dec 13, 2023
@unkcpz
Copy link
Member Author

unkcpz commented Dec 14, 2023

As discussed in AiiDA meeting, I move on without the protocol change in aiida-quantumespresso. But it means we need to explicitly override the pseudo_family when creating a builder.
@superstar54 When I make these changes, I see two things we can improve after we back from Christmas break, 1) the unit tests and fixtures must be refactored, there are too many duplicates and quite a mess. 2) In aiida-quantumespresso, the ProtocolMixin is used and there are protocols defined by yaml files for every workchains. We probably use the same way rather than override it in the code, however, I see this against the plugin where the get_builder is used and the builder is created out of air.

Anyhow, I don't want to block the this SSSP bump which Nicola asks for the QeApp explicitly.

@unkcpz unkcpz force-pushed the fix/543/bump-sssp-v13-dojov05 branch from 1528a7b to 6c738fa Compare December 14, 2023 20:30
@unkcpz
Copy link
Member Author

unkcpz commented Dec 14, 2023

There still couple of tests failed and I have no idea how to fix those, I guess it requires to haveing a proper parameters passed to every workchain creator fixture. @superstar54 Can you have a look?

Copy link

codecov bot commented Dec 14, 2023

Codecov Report

All modified and coverable lines are covered by tests ✅

Comparison is base (83bfea6) 80.74% compared to head (a0f03cd) 80.86%.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #578      +/-   ##
==========================================
+ Coverage   80.74%   80.86%   +0.12%     
==========================================
  Files          49       49              
  Lines        3418     3429      +11     
==========================================
+ Hits         2760     2773      +13     
+ Misses        658      656       -2     
Flag Coverage Δ
python-3.10 80.86% <100.00%> (+0.12%) ⬆️
python-3.8 80.91% <100.00%> (+0.12%) ⬆️
python-3.9 80.91% <100.00%> (+0.12%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@superstar54
Copy link
Member

There still couple of tests failed and I have no idea how to fix those, I guess it requires to haveing a proper parameters passed to every workchain creator fixture. @superstar54 Can you have a look?

Hi @unkcpz which one? I saw all the tests passed.

@superstar54
Copy link
Member

superstar54 commented Dec 14, 2023

  1. the unit tests and fixtures must be refactored, there are too many duplicates and quite a mess. 2) In aiida-quantumespresso, the ProtocolMixin is used and there are protocols defined by yaml files for every workchains. We probably use the same way rather than override it in the code, however, I see this against the plugin where the get_builder is used and the builder is created out of air.
  1. Indeed, we need to update the tests and fixtures. Initially, when I wrote the fixture for the workchain and plugin-related tests, the concept of the plugin was still in its early stages. Now, with the plugin architecture having stabilized, we could update the test with a better mind.

  2. Using ProtocolMixin, one defines all the parameters in the YAML file. When creating the builder, it fetches these parameters based on the protocol . However, QEapp has a different way. In QEapp, one can still define the protocol and related parameters in the YAML file. But when the user selects the protocol from the GUI, the GUI will fetch the corresponding parameter immediately and show the values to the user. At this stage, the user can modify the GUI to override the parameters. In the final submission step, we read all the parameters from the GUI (the protocol value and the user override values) and use these values to create the builder, so we don't need to read the YAML file in the get_builder function again.
    Unless we want to define some other protocol-related parameters that don't have their corresponding value in the GUI, we can read them in the get_builder function. By the way, the get_builder function is quite flexible. The plugin developer can define the YAML and load it into the get_builder. If this is a common use case, one can improve the get_builder function to standardize it.

    @mbercx knows better ProtocolMixin, feel free to comment.

@unkcpz
Copy link
Member Author

unkcpz commented Dec 15, 2023

Hi @unkcpz which one? I saw all the tests passed.

Ha, nice. Some failed in my local environment, I guess I messed up with the environment somehow. Can you give this branch a test?

I also suggest testing opening a finished workchain after updating the app. In this PR, I also fix an issue that the post_install of pseudo library will fail in the AppStore.

@unkcpz unkcpz marked this pull request as ready for review December 15, 2023 08:31
@unkcpz
Copy link
Member Author

unkcpz commented Dec 15, 2023 via email

@unkcpz
Copy link
Member Author

unkcpz commented Dec 18, 2023

I merged this anyway so as not to block the release of Quantum Mobile, in principle I should not merge it without approve.

@unkcpz unkcpz enabled auto-merge (squash) December 18, 2023 10:20
@unkcpz unkcpz disabled auto-merge December 18, 2023 10:21
@unkcpz unkcpz merged commit 102f39a into main Dec 18, 2023
19 checks passed
@unkcpz unkcpz deleted the fix/543/bump-sssp-v13-dojov05 branch December 18, 2023 10:21
@unkcpz
Copy link
Member Author

unkcpz commented Dec 18, 2023

Following tests are all good:

  • Install the app in a full-stack image, the pseudo library and qe are all installed.
  • Start from the 23.10.0rc0 where the SSSP version is v1.2, update the app from appstore the pseudo libraries of SSSP 1.3 installed automatically and the app shows the progress bar to block the submission step until the pseudo families installed correctly.
  • Start from a bare qe image the SSSP 1.3 is installed and ready to launch a calculation.

@unkcpz unkcpz mentioned this pull request Dec 19, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants