terrapower / armi

An open-source nuclear reactor analysis automation framework that helps design teams increase efficiency and quality
https://terrapower.github.io/armi/
Apache License 2.0
212 stars 82 forks source link

Cleaning up build tools #1723

Closed john-science closed 3 weeks ago

john-science commented 3 weeks ago

What is the change?

Here I clean up our build tools in twoways:

  1. Splitting our unit test Worflows into two parts:
    • Older versions of Python get Ubuntu 22.04
    • Newer versions of Python need Ubuntu 24.04
  2. Dropping direct usage of distutils

Why is the change being made?

With this PR I was originally trying to support Python 3.12 but found that we couldn't due to our NumPy jagged array issue.

But this PR gets ARMI 99.9% ready for Python 3.12; everything except our NumPy woes.


Checklist

john-science commented 3 weeks ago

Do we even NEED py37/38 testing still?

I don't know. That is certainly pretty borderline.

I assume support for those will drop naturally in the next year or two. Like, it'll be too hard to support 3.7 AND 3.12 for numpy or something, and we'll just drop support for numpy. Like, the moment it becomes hard to support them, we'll drop support.

But, for now, it's still easy. #shrug