diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index 4bdd5285..bc95deb4 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml @@ -7,7 +7,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - python-version: ["3.10", "3.11", "3.12", "3.13"] + python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"] steps: - uses: actions/checkout@v2 @@ -66,6 +66,7 @@ jobs: cd build WHEEL_PATH=$(ls smoldyn*.whl) python -m pip install --force-reinstall "${WHEEL_PATH}[biosimulators,biosimulators-tests]" + - name: Test BioSimulators if: matrix.python-version >= '3.10' run: | diff --git a/.github/workflows/osx.yml b/.github/workflows/osx.yml index e67aac6a..8fce0d03 100644 --- a/.github/workflows/osx.yml +++ b/.github/workflows/osx.yml @@ -15,7 +15,7 @@ jobs: runs-on: macos-latest strategy: matrix: - python-version: ["3.10", "3.11", "3.12", "3.13"] + python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"] steps: - uses: actions/checkout@v2 diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index 28ac1eae..ef7796a2 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -15,7 +15,7 @@ jobs: runs-on: windows-latest strategy: matrix: - python-version: ["3.10", "3.11", "3.12", "3.13"] + python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"] steps: - uses: actions/checkout@v2 - name: "Setup Python ${{ matrix.python-version }}" diff --git a/CMakeLists.txt b/CMakeLists.txt index ba22ff4a..61e92b62 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -17,8 +17,8 @@ list(APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake) if(NOT SMOLDYN_VERSION) find_package(Git QUIET) if(GIT_FOUND) - # Is the current commit tagged? If yes, this command will return the - # tag else it returns empty. When a tag is found, it is a release. + # Is the current commit tagged? If yes, following command + # will return the tag, empty otherwise. execute_process(COMMAND ${GIT_EXECUTABLE} tag --points-at HEAD WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} OUTPUT_VARIABLE SMOLDYN_TAG @@ -28,9 +28,9 @@ if(NOT SMOLDYN_VERSION) string(SUBSTRING ${SMOLDYN_TAG} 1 -1 SMOLDYN_VERSION) message(STATUS " -- Found a release tag ${SMOLDYN_TAG}") else() - # minute-ly release. + # hourly release. string(TIMESTAMP STAMP "%Y%m%d%H%M") - set(SMOLDYN_VERSION "2.75.dev${STAMP}") + set(SMOLDYN_VERSION "2.76.dev${STAMP}") endif() endif() endif() diff --git a/scripts/Dockerfile-BioSimulators b/scripts/Dockerfile-BioSimulators index 068bb0ae..3cbe3840 100644 --- a/scripts/Dockerfile-BioSimulators +++ b/scripts/Dockerfile-BioSimulators @@ -1,4 +1,4 @@ -FROM python:3.9-slim-bookworm +FROM python:3.10-slim-bullseye ARG VERSION="" @@ -14,7 +14,7 @@ LABEL \ org.opencontainers.image.vendor="Steven Andrews" \ org.opencontainers.image.licenses="LGPL-3.0-only" \ \ - base_image="python:3.9-slim-bookworm" \ + base_image="python:3.10-slim-bullseye" \ version="${VERSION}" \ software="Smoldyn" \ software.version="${VERSION}" \ @@ -44,6 +44,7 @@ ENV XVFB_RES="${RESOLUTION}" \ XVFB_ARGS="${XARGS}" # install Smoldyn and its dependencies +RUN ls -ltr COPY smoldyn*.whl /tmp/ RUN cd /tmp \ && WHEEL_PATH=$(ls -1 smoldyn*.whl | head -n 1) \ diff --git a/scripts/build_wheels_linux.sh b/scripts/build_wheels_linux.sh index 96665f15..02ce657e 100755 --- a/scripts/build_wheels_linux.sh +++ b/scripts/build_wheels_linux.sh @@ -10,11 +10,9 @@ echo "Path to store wheels : $WHEELHOUSE" rm -rf "$WHEELHOUSE" && mkdir -p "$WHEELHOUSE" PYDIR310=/opt/python/cp310-cp310/ -PYDIR311=/opt/python/cp311-cp311/ -PYDIR312=/opt/python/cp312-cp312/ -PYDIR313=/opt/python/cp313-cp313/ -for PYDIR in $PYDIR313 $PYDIR312 $PYDIR311 $PYDIR310; do +# all python3 version can use this wheel. +for PYDIR in $PYDIR310; do PYTHON=$PYDIR/bin/python # dependencies @@ -36,6 +34,8 @@ for PYDIR in $PYDIR313 $PYDIR312 $PYDIR311 $PYDIR310; do make wheel export PYTHONPATH="$(pwd)/py" $PYTHON -m smoldyn "$SCRIPT_DIR/../examples/S4_molecules/mollist.txt" + + $PYTHON -m auditwheel show *.whl $PYTHON -m auditwheel repair *.whl -w "$WHEELHOUSE" # install and test it diff --git a/source/python/pyproject.toml.in b/source/python/pyproject.toml.in index 1cb2cebe..d28c7ff5 100644 --- a/source/python/pyproject.toml.in +++ b/source/python/pyproject.toml.in @@ -2,7 +2,7 @@ name = "smoldyn" version = "@SMOLDYN_VERSION@" readme = "../README.md" -requires-python = ">=3.9" +requires-python = ">=3.10" authors = [ {name = "Steve Andrews", email = "steve.andrews@epcc.ed.ac.uk"}, {name = "Dilawar Singh", email = "dilawar.s.rajput@gmail.com"}