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

removed support for Python <= 3.7 #265

Merged
merged 9 commits into from
Nov 8, 2023
Merged

removed support for Python <= 3.7 #265

merged 9 commits into from
Nov 8, 2023

Conversation

orbeckst
Copy link
Member

@orbeckst orbeckst commented Nov 8, 2023

- removed six and replaced with Python 3.x constructs
- updated package meta data
- update installation docs (sphinx and README)
- updated CHANGES
Copy link

codecov bot commented Nov 8, 2023

Codecov Report

Merging #265 (87509d5) into main (1001a09) will increase coverage by 2.39%.
The diff coverage is 87.50%.

@@            Coverage Diff             @@
##             main     #265      +/-   ##
==========================================
+ Coverage   66.50%   68.89%   +2.39%     
==========================================
  Files          23       22       -1     
  Lines        4356     3945     -411     
  Branches      758      708      -50     
==========================================
- Hits         2897     2718     -179     
+ Misses       1261     1047     -214     
+ Partials      198      180      -18     
Files Coverage Δ
gromacs/__init__.py 72.30% <ø> (-0.42%) ⬇️
gromacs/cbook.py 27.40% <ø> (-0.21%) ⬇️
gromacs/collections.py 84.09% <100.00%> (ø)
gromacs/config.py 74.68% <100.00%> (-2.20%) ⬇️
gromacs/core.py 70.99% <100.00%> (-0.50%) ⬇️
gromacs/environment.py 70.76% <100.00%> (-0.45%) ⬇️
gromacs/fileformats/__init__.py 100.00% <ø> (ø)
gromacs/fileformats/convert.py 58.62% <100.00%> (-0.48%) ⬇️
gromacs/fileformats/mdp.py 96.92% <100.00%> (-0.10%) ⬇️
gromacs/fileformats/ndx.py 87.95% <ø> (-0.29%) ⬇️
... and 10 more

... and 1 file with indirect coverage changes

📣 Codecov offers a browser extension for seamless coverage viewing on GitHub. Try it in Chrome or Firefox today!

Only use other GROMACS versions for spot testing at highest supported Python.
Note that we had spurious failures of GROMACS 2021.1 with macOS Python 3.11 in
the XFAIL TestAmber03star.test_mdrun and XFAIL TestAmber03w.test_mdrun.
;
@orbeckst
Copy link
Member Author

orbeckst commented Nov 8, 2023

The macOS 3.11 GROMACS 2023.1 tests fail

  • tests/test_setup.py::test_energy_minimize_custom_mdp
  • tests/fileformats/top/test_charmm22.py::TestCharmm22st::test_mdru
  • tests/test_setup.py::test_energy_minimize
                :-) GROMACS - gmx mdrun, 2023.1-conda_forge (-:

Executable:   /Users/runner/micromamba/envs/test/bin.AVX2_256/gmx
Data prefix:  /Users/runner/micromamba/envs/test
Working dir:  /private/var/folders/3s/vfzpb5r51gs6y328rmlgzm7c0000gn/T/pytest-of-runner/pytest-0/1ake0/em
Command line:
  gmx mdrun -nt 2 -v -stepout 10 -deffnm em -c em.pdb


Back Off! I just backed up em.log to ./#em.log.1#

-------------------------------------------------------
Program:     gmx mdrun, version 2023.1-conda_forge
Source file: src/gromacs/hardware/printhardware.cpp (line 108)

Fatal error:
The gmx mdrun executable was compiled to use the rdtscp CPU instruction.
However, this is not supported by the current hardware and continuing would
lead to a crash. Please rebuild GROMACS with the GMX_USE_RDTSCP=OFF CMake
option.

For more information and tips for troubleshooting, please check the GROMACS
website at http://www.gromacs.org/Documentation/Errors
-------------------------------------------------------

It looks as if the conda-forge GROMACS package is incompatible with the run environment of GitHub. Not sure what to do...

- only explicitly include macOS runner
- downgrade GROMACS to 2022.4 to avoid failing tests because conda-forge
  GROMACS 2023.1 was compiled to use  rdtscp CPU instruction but these
  are not available on GitHub runners and lead to failing tests)
@orbeckst
Copy link
Member Author

orbeckst commented Nov 8, 2023

Let's see if downgrading to conda-forge GROMACS 2022.4 for macOS helps.

@orbeckst
Copy link
Member Author

orbeckst commented Nov 8, 2023

After reading https://manual.gromacs.org/2021.3/release-notes/2021/major/portability.html#rdtscp-usage-and-reporting

GROMACS now defaults always on x86 to use the RDTSCP machine instruction for lower latency timing. Very old machines might need to configure with GMX_USE_RDTSCP=off. Non-x86 platforms are unaffected, except that they will no longer report that RDTSCP is disabled (because that is self-evident).

I am just trying out the bioconda gromacs packages, maybe they are compiled differently??

@orbeckst
Copy link
Member Author

orbeckst commented Nov 8, 2023

didn't work

@orbeckst
Copy link
Member Author

orbeckst commented Nov 8, 2023

Previous successful macOS runners used

  + gromacs                        2021.1  nompi_h2eb4de6_102  bioconda        Cached

so I should try to get this version installed.

@orbeckst
Copy link
Member Author

orbeckst commented Nov 8, 2023

How the **** is this failing now when

  + gromacs                        2021.1  nompi_h2eb4de6_102  bioconda        Cached

is being installed in the macOS 3.11 runner?

The same set up passed the tests previously https://github.com/Becksteinlab/GromacsWrapper/actions/runs/6211029287/job/16859829487 .

@orbeckst
Copy link
Member Author

orbeckst commented Nov 8, 2023

There are a few very minor Python package version changes (e.g. numpy 1.24 to 1.25). The image is different 20230901.1 (mac OS 12.6.8) vs 20230921.1 (mac OS 12.6.9). I just don't understand why any of this should matter for GROMACS.

Failed test

2023-11-08, this PR

2023-11-08T05:49:34.5156160Z Current runner version: '2.311.0'
2023-11-08T05:49:34.5185150Z ##[group]Operating System
2023-11-08T05:49:34.5185780Z macOS
2023-11-08T05:49:34.5186100Z 12.6.9
2023-11-08T05:49:34.5186410Z 21G726
2023-11-08T05:49:34.5186730Z ##[endgroup]
2023-11-08T05:49:34.5187100Z ##[group]Runner Image
2023-11-08T05:49:34.5187530Z Image: macos-12
2023-11-08T05:49:34.5187900Z Version: 20230921.1
2023-11-08T05:49:34.5189060Z Included Software: https://github.com/actions/runner-images/blob/macOS-12/20230921.1/images/macos/macos-12-Readme.md
2023-11-08T05:49:34.5190870Z Image Release: https://github.com/actions/runner-images/releases/tag/macOS-12%2F20230921.1
2023-11-08T05:49:34.5191930Z ##[endgroup]
2023-11-08T05:49:34.5192320Z ##[group]Runner Image Provisioner
2023-11-08T05:49:34.5192830Z 2.0.312.1
2023-11-08T05:49:34.5193160Z ##[endgroup]

passed test

2023-09-17 , https://github.com/Becksteinlab/GromacsWrapper/actions/runs/6211029287/job/16859829487

2023-09-17T02:16:35.8965190Z Current runner version: '2.309.0'
2023-09-17T02:16:35.9006190Z ##[group]Operating System
2023-09-17T02:16:35.9006970Z macOS
2023-09-17T02:16:35.9007340Z 12.6.8
2023-09-17T02:16:35.9007660Z 21G725
2023-09-17T02:16:35.9008010Z ##[endgroup]
2023-09-17T02:16:35.9008330Z ##[group]Runner Image
2023-09-17T02:16:35.9008820Z Image: macos-12
2023-09-17T02:16:35.9009180Z Version: 20230901.1
2023-09-17T02:16:35.9009740Z Included Software: https://github.com/actions/runner-images/blob/macOS-12/20230901.1/images/macos/macos-12-Readme.md
2023-09-17T02:16:35.9010370Z Image Release: https://github.com/actions/runner-images/releases/tag/macOS-12%2F20230901.1
2023-09-17T02:16:35.9010930Z ##[endgroup]
2023-09-17T02:16:35.9011340Z ##[group]Runner Image Provisioner
2023-09-17T02:16:35.9011720Z 2.0.299.1
2023-09-17T02:16:35.9012010Z ##[endgroup]

@orbeckst
Copy link
Member Author

orbeckst commented Nov 8, 2023

I am reduced to trying out random GROMACS packages in the hope that one works... :-(

@orbeckst
Copy link
Member Author

orbeckst commented Nov 8, 2023

Hooray 🎉 , the old GROMACS 2018.6 works on the macOS runners. I don't know why, but I'll take it...

@orbeckst orbeckst self-assigned this Nov 8, 2023
Copy link
Collaborator

@jandom jandom left a comment

Choose a reason for hiding this comment

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

Bye-bye legacy ware! Also nice adventure ripping this out – i enjoyed reading your mishaps above!

@orbeckst orbeckst merged commit 51e1a03 into main Nov 8, 2023
15 checks passed
@orbeckst orbeckst deleted the remove-legacy-python branch November 8, 2023 15:22
orbeckst added a commit that referenced this pull request Nov 9, 2023
- remove six from all environments (should have been in PR #265,
  part of #259)
- add sphinx_rtd_theme to the RTD CI as it is apparently no longer
  installed automatically by RTD. (fix #267)
@orbeckst orbeckst mentioned this pull request Nov 9, 2023
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.

drop support for very old Python versions
2 participants