Skip to content

Commit

Permalink
Add Python Versions json for jenkins builds (#252)
Browse files Browse the repository at this point in the history
* Add python versions json

* Update CHANGELOG.rst

* Update CHANGELOG.rst

* Update setup.py
  • Loading branch information
patricktnast authored Feb 5, 2025
1 parent 0068676 commit 199c27f
Show file tree
Hide file tree
Showing 4 changed files with 33 additions and 1 deletion.
4 changes: 4 additions & 0 deletions CHANGELOG.rst
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
**2.1.4 - 02/05/24**

- Get python versions from python_versions.json

**2.1.3 - 02/03/25**

- Revert change caused by isort version
Expand Down
1 change: 0 additions & 1 deletion Jenkinsfile
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
@Library("vivarium_build_utils") _
reusable_pipeline(scheduled_branches: ["main"],
upstream_repos: ["vivarium", "layered_config_tree"],
python_versions: ["3.10", "3.11"]
)
1 change: 1 addition & 0 deletions python_versions.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
["3.10", "3.11"]
28 changes: 28 additions & 0 deletions setup.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,35 @@
import json
import os
import sys

from packaging.version import parse
from setuptools import find_packages, setup

with open("python_versions.json", "r") as f:
supported_python_versions = json.load(f)

python_versions = [parse(v) for v in supported_python_versions]
min_version = min(python_versions)
max_version = max(python_versions)
if not (
min_version <= parse(".".join([str(v) for v in sys.version_info[:2]])) <= max_version
):
py_version = ".".join([str(v) for v in sys.version_info[:3]])
# NOTE: Python 3.5 does not support f-strings
error = (
"\n--------------------------------------------\n"
"Error: Vivarium Cluster Tools runs under python {min_version}-{max_version}.\n"
"You are running python {py_version}.\n".format(
min_version=min_version.base_version,
max_version=max_version.base_version,
py_version=py_version,
)
+ "--------------------------------------------\n"
)
print(error, file=sys.stderr)
sys.exit(1)


if __name__ == "__main__":
base_dir = os.path.dirname(__file__)
src_dir = os.path.join(base_dir, "src")
Expand Down

0 comments on commit 199c27f

Please sign in to comment.