diff --git a/.github/workflows/tests-workflow.yaml b/.github/workflows/tests-workflow.yaml index d32db482..6035cd6b 100644 --- a/.github/workflows/tests-workflow.yaml +++ b/.github/workflows/tests-workflow.yaml @@ -32,11 +32,11 @@ jobs: id: dependencies run: | source ci/deps/${{ matrix.config }}.sh - echo "CONDA_PYTHON_VERSION=${CONDA_PYTHON_VERSION}" >> $GITHUB_ENV - echo "PANDAS_VERSION=${PANDAS_VERSION}" >> $GITHUB_ENV - echo "NUMPY_VERSION=${NUMPY_VERSION}" >> $GITHUB_ENV - echo "SKLEARN_VERSION=${SKLEARN_VERSION}" >> $GITHUB_ENV - echo "NO_SLOW=${NO_SLOW}" >> $GITHUB_ENV + echo "CI_PYTHON_VERSION=${CI_PYTHON_VERSION}" >> $GITHUB_ENV + echo "CI_PANDAS_VERSION=${CI_PANDAS_VERSION}" >> $GITHUB_ENV + echo "CI_NUMPY_VERSION=${CI_NUMPY_VERSION}" >> $GITHUB_ENV + echo "CI_SKLEARN_VERSION=${CI_SKLEARN_VERSION}" >> $GITHUB_ENV + echo "CI_NO_SLOW=${CI_NO_SLOW}" >> $GITHUB_ENV echo "py_version=$(cut -d'.' -f 1-2 <<< ${CONDA_PYTHON_VERSION})" >> $GITHUB_OUTPUT echo "requirements=ci/deps/${{ matrix.config }}.sh" >> $GITHUB_OUTPUT echo "conda_pkgs=$(${CONDA}/bin/python -c "from conda.base.context import context; print(context.pkgs_dirs[0])")" >> $GITHUB_OUTPUT @@ -104,11 +104,11 @@ jobs: DEPS_CONFIG: py310_pandas14_numpy121_sklearn12 run: | source ci/deps/${DEPS_CONFIG}.sh - echo "CONDA_PYTHON_VERSION=${CONDA_PYTHON_VERSION}" >> $GITHUB_ENV - echo "PANDAS_VERSION=${PANDAS_VERSION}" >> $GITHUB_ENV - echo "NUMPY_VERSION=${NUMPY_VERSION}" >> $GITHUB_ENV - echo "SKLEARN_VERSION=${SKLEARN_VERSION}" >> $GITHUB_ENV - echo "NO_SLOW=${NO_SLOW}" >> $GITHUB_ENV + echo "CI_PYTHON_VERSION=${CI_PYTHON_VERSION}" >> $GITHUB_ENV + echo "CI_PANDAS_VERSION=${CI_PANDAS_VERSION}" >> $GITHUB_ENV + echo "CI_NUMPY_VERSION=${CI_NUMPY_VERSION}" >> $GITHUB_ENV + echo "CI_SKLEARN_VERSION=${CI_SKLEARN_VERSION}" >> $GITHUB_ENV + echo "CI_NO_SLOW=${CI_NO_SLOW}" >> $GITHUB_ENV echo "requirements=ci/deps/${DEPS_CONFIG}.sh" >> $GITHUB_OUTPUT echo "conda_pkgs=$(${CONDA}/bin/python -c "from conda.base.context import context; print(context.pkgs_dirs[0])")" >> $GITHUB_OUTPUT - name: Cache downloaded packages diff --git a/appveyor.yml b/appveyor.yml index 51e79667..4e46c972 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -28,13 +28,16 @@ install: - ps: conda init powershell - ps: conda config --set always_yes yes --set changeps1 no - ps: conda config --set auto_update_conda false + - ps: conda config --set notify_outdated_conda false # - ps: conda update --yes --quiet conda - ps: conda info -a # Install the build and runtime dependencies of the project. - - cmd: conda env create -n sksurv-test --file ci\appveyor\requirements_%CONDA_PY%.yaml + - ps: $envScript=".\ci\appveyor\py$($env:CONDA_PY).ps1" + - ps: "& $envScript" + - ps: python "ci\render-requirements.py" "ci\deps\requirements.yaml.tmpl" > environment.yaml + - ps: conda env create -n sksurv-test --file environment.yaml - cmd: call %CONDA_INSTALL_LOCN%\Scripts\activate.bat sksurv-test - - cmd: python -m pip install build - cmd: conda list # Initialize the submodules - cmd: git submodule update --init --recursive diff --git a/ci/appveyor/py310.ps1 b/ci/appveyor/py310.ps1 new file mode 100644 index 00000000..b3d87f28 --- /dev/null +++ b/ci/appveyor/py310.ps1 @@ -0,0 +1,4 @@ +$env:CI_PYTHON_VERSION="3.10.*" +$env:CI_PANDAS_VERSION="1.4.*" +$env:CI_NUMPY_VERSION="1.21.*" +$env:CI_SKLEARN_VERSION="1.2.*" diff --git a/ci/appveyor/py311.ps1 b/ci/appveyor/py311.ps1 new file mode 100644 index 00000000..b8e36bf5 --- /dev/null +++ b/ci/appveyor/py311.ps1 @@ -0,0 +1,4 @@ +$env:CI_PYTHON_VERSION="3.11.*" +$env:CI_PANDAS_VERSION="1.5.*" +$env:CI_NUMPY_VERSION="1.23.*" +$env:CI_SKLEARN_VERSION="1.2.*" diff --git a/ci/appveyor/py38.ps1 b/ci/appveyor/py38.ps1 new file mode 100644 index 00000000..aa14bda5 --- /dev/null +++ b/ci/appveyor/py38.ps1 @@ -0,0 +1,4 @@ +$env:CI_PYTHON_VERSION="3.8.*" +$env:CI_PANDAS_VERSION="1.1.*" +$env:CI_NUMPY_VERSION="1.19.*" +$env:CI_SKLEARN_VERSION="1.2.*" diff --git a/ci/appveyor/py39.ps1 b/ci/appveyor/py39.ps1 new file mode 100644 index 00000000..9b9f256e --- /dev/null +++ b/ci/appveyor/py39.ps1 @@ -0,0 +1,4 @@ +$env:CI_PYTHON_VERSION="3.9.*" +$env:CI_PANDAS_VERSION="1.3.*" +$env:CI_NUMPY_VERSION="1.21.*" +$env:CI_SKLEARN_VERSION="1.2.*" diff --git a/ci/appveyor/requirements_310.yaml b/ci/appveyor/requirements_310.yaml deleted file mode 100644 index d1290af5..00000000 --- a/ci/appveyor/requirements_310.yaml +++ /dev/null @@ -1,16 +0,0 @@ -name: sksurv-test -channels: - - defaults - - sebp -dependencies: - - python=3.10 - - coverage - - cython>=0.29 - - ecos - - numexpr - - numpy=1.21 - - osqp!=0.6.0,!=0.6.1 - - pytest - - scipy!=1.3.0 - - scikit-learn=1.2 - - pandas=1.4 diff --git a/ci/appveyor/requirements_311.yaml b/ci/appveyor/requirements_311.yaml deleted file mode 100644 index dbffddbf..00000000 --- a/ci/appveyor/requirements_311.yaml +++ /dev/null @@ -1,16 +0,0 @@ -name: sksurv-test -channels: - - defaults - - sebp -dependencies: - - python=3.11 - - coverage - - cython>=0.29 - - ecos - - numexpr - - numpy=1.23 - - osqp!=0.6.0,!=0.6.1 - - pytest - - scipy!=1.3.0 - - scikit-learn=1.2 - - pandas=1.5 diff --git a/ci/appveyor/requirements_38.yaml b/ci/appveyor/requirements_38.yaml deleted file mode 100644 index d8c8cd5a..00000000 --- a/ci/appveyor/requirements_38.yaml +++ /dev/null @@ -1,16 +0,0 @@ -name: sksurv-test -channels: - - defaults - - sebp -dependencies: - - python=3.8 - - coverage - - cython>=0.29 - - ecos - - numexpr - - numpy=1.19 - - osqp!=0.6.0,!=0.6.1 - - pytest - - scipy!=1.3.0 - - scikit-learn=1.2 - - pandas=1.1 diff --git a/ci/appveyor/requirements_39.yaml b/ci/appveyor/requirements_39.yaml deleted file mode 100644 index e48765c8..00000000 --- a/ci/appveyor/requirements_39.yaml +++ /dev/null @@ -1,16 +0,0 @@ -name: sksurv-test -channels: - - defaults - - sebp -dependencies: - - python=3.9 - - coverage - - cython>=0.29 - - ecos - - numexpr - - numpy=1.21 - - osqp!=0.6.0,!=0.6.1 - - pytest - - scipy!=1.3.0 - - scikit-learn=1.2 - - pandas=1.3 diff --git a/ci/deps/py310_pandas14_numpy121_sklearn12.sh b/ci/deps/py310_pandas14_numpy121_sklearn12.sh index b72aa690..8ca2259a 100644 --- a/ci/deps/py310_pandas14_numpy121_sklearn12.sh +++ b/ci/deps/py310_pandas14_numpy121_sklearn12.sh @@ -1,6 +1,6 @@ # shellcheck shell=sh -export CONDA_PYTHON_VERSION='3.10.*' -export PANDAS_VERSION='1.4.*' -export NUMPY_VERSION='1.21.*' -export SKLEARN_VERSION='1.2.*' -export NO_SLOW=true +export CI_PYTHON_VERSION='3.10.*' +export CI_PANDAS_VERSION='1.4.*' +export CI_NUMPY_VERSION='1.21.*' +export CI_SKLEARN_VERSION='1.2.*' +export CI_NO_SLOW=true diff --git a/ci/deps/py311_pandas15_numpy123_sklearn12.sh b/ci/deps/py311_pandas15_numpy123_sklearn12.sh index fd8d74fb..0c6c0111 100644 --- a/ci/deps/py311_pandas15_numpy123_sklearn12.sh +++ b/ci/deps/py311_pandas15_numpy123_sklearn12.sh @@ -1,6 +1,6 @@ # shellcheck shell=sh -export CONDA_PYTHON_VERSION='3.11.*' -export PANDAS_VERSION='1.5.* ' -export NUMPY_VERSION='1.23.*' -export SKLEARN_VERSION='1.2.*' -export NO_SLOW=false +export CI_PYTHON_VERSION='3.11.*' +export CI_PANDAS_VERSION='1.5.* ' +export CI_NUMPY_VERSION='1.23.*' +export CI_SKLEARN_VERSION='1.2.*' +export CI_NO_SLOW=false diff --git a/ci/deps/py38_pandas10_numpy119_sklearn12.sh b/ci/deps/py38_pandas10_numpy119_sklearn12.sh index 184aaa1e..0a2d07e2 100644 --- a/ci/deps/py38_pandas10_numpy119_sklearn12.sh +++ b/ci/deps/py38_pandas10_numpy119_sklearn12.sh @@ -1,6 +1,6 @@ # shellcheck shell=sh -export CONDA_PYTHON_VERSION='3.8.*' -export PANDAS_VERSION='1.0.*' -export NUMPY_VERSION='1.19.*' -export SKLEARN_VERSION='1.2.*' -export NO_SLOW=false +export CI_PYTHON_VERSION='3.8.*' +export CI_PANDAS_VERSION='1.0.*' +export CI_NUMPY_VERSION='1.19.*' +export CI_SKLEARN_VERSION='1.2.*' +export CI_NO_SLOW=false diff --git a/ci/deps/py39_pandas13_numpy121_sklearn12.sh b/ci/deps/py39_pandas13_numpy121_sklearn12.sh index 44a94cc1..b0c6e1b1 100644 --- a/ci/deps/py39_pandas13_numpy121_sklearn12.sh +++ b/ci/deps/py39_pandas13_numpy121_sklearn12.sh @@ -1,6 +1,6 @@ # shellcheck shell=sh -export CONDA_PYTHON_VERSION='3.9.*' -export PANDAS_VERSION='1.3.*' -export NUMPY_VERSION='1.21.*' -export SKLEARN_VERSION='1.2.*' -export NO_SLOW=true +export CI_PYTHON_VERSION='3.9.*' +export CI_PANDAS_VERSION='1.3.*' +export CI_NUMPY_VERSION='1.21.*' +export CI_SKLEARN_VERSION='1.2.*' +export CI_NO_SLOW=true diff --git a/ci/deps/requirements.yaml.tmpl b/ci/deps/requirements.yaml.tmpl index 6430303f..e14e4b24 100644 --- a/ci/deps/requirements.yaml.tmpl +++ b/ci/deps/requirements.yaml.tmpl @@ -12,14 +12,14 @@ dependencies: - matplotlib>=3.5.1,<3.6 - nbformat - numexpr - - numpy={NUMPY_VERSION} + - numpy={CI_NUMPY_VERSION} - osqp!=0.6.0,!=0.6.1 - packaging - - pandas={PANDAS_VERSION} + - pandas={CI_PANDAS_VERSION} - pip - pytest - - python={PYTHON_VERSION} - - scikit-learn={SKLEARN_VERSION} + - python={CI_PYTHON_VERSION} + - scikit-learn={CI_SKLEARN_VERSION} - scipy>=1.3.2 - seaborn>=0.11.2,<0.12 - setuptools-scm diff --git a/ci/render-requirements.py b/ci/render-requirements.py index 8e6ca919..09a11497 100644 --- a/ci/render-requirements.py +++ b/ci/render-requirements.py @@ -14,7 +14,7 @@ def get_pinned_packages(): } pinned = {} for env_name in pkgs: - key = f"{env_name}_VERSION" + key = f"CI_{env_name}_VERSION" ver = os.environ.get(key, "*") pinned[key] = ver return pinned diff --git a/ci/run_tests.sh b/ci/run_tests.sh index 92816347..04bafeb6 100755 --- a/ci/run_tests.sh +++ b/ci/run_tests.sh @@ -4,7 +4,7 @@ export PYTHONWARNINGS="default" pytest_opts=("") -if [ "x${NO_SLOW:-false}" != "xtrue" ]; then +if [ "x${CI_NO_SLOW:-false}" != "xtrue" ]; then coverage erase rm -f coverage.xml else diff --git a/ci/setup_env.sh b/ci/setup_env.sh index 7a96584c..c80fa11f 100755 --- a/ci/setup_env.sh +++ b/ci/setup_env.sh @@ -21,9 +21,9 @@ python ci/render-requirements.py ci/deps/requirements.yaml.tmpl > environment.ya conda env create -n sksurv-test --solver=libmamba --file environment.yaml -echo "numpy ${NUMPY_VERSION:?}" > "${CONDA:?}/envs/sksurv-test/conda-meta/pinned" -echo "pandas ${PANDAS_VERSION:?}" >> "${CONDA:?}/envs/sksurv-test/conda-meta/pinned" -echo "scikit-learn ${SKLEARN_VERSION:?}" >> "${CONDA:?}/envs/sksurv-test/conda-meta/pinned" +echo "numpy ${CI_NUMPY_VERSION:?}" > "${CONDA:?}/envs/sksurv-test/conda-meta/pinned" +echo "pandas ${CI_PANDAS_VERSION:?}" >> "${CONDA:?}/envs/sksurv-test/conda-meta/pinned" +echo "scikit-learn ${CI_SKLEARN_VERSION:?}" >> "${CONDA:?}/envs/sksurv-test/conda-meta/pinned" # Useful for debugging any issues with conda conda info -a