Skip to content

Commit

Permalink
CI: Unify creating environment across AppVeyor and GitHub Actions
Browse files Browse the repository at this point in the history
  • Loading branch information
sebp committed Apr 12, 2023
1 parent 3ea52c5 commit 9086473
Show file tree
Hide file tree
Showing 18 changed files with 60 additions and 105 deletions.
20 changes: 10 additions & 10 deletions .github/workflows/tests-workflow.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down
7 changes: 5 additions & 2 deletions appveyor.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
4 changes: 4 additions & 0 deletions ci/appveyor/py310.ps1
Original file line number Diff line number Diff line change
@@ -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.*"
4 changes: 4 additions & 0 deletions ci/appveyor/py311.ps1
Original file line number Diff line number Diff line change
@@ -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.*"
4 changes: 4 additions & 0 deletions ci/appveyor/py38.ps1
Original file line number Diff line number Diff line change
@@ -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.*"
4 changes: 4 additions & 0 deletions ci/appveyor/py39.ps1
Original file line number Diff line number Diff line change
@@ -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.*"
16 changes: 0 additions & 16 deletions ci/appveyor/requirements_310.yaml

This file was deleted.

16 changes: 0 additions & 16 deletions ci/appveyor/requirements_311.yaml

This file was deleted.

16 changes: 0 additions & 16 deletions ci/appveyor/requirements_38.yaml

This file was deleted.

16 changes: 0 additions & 16 deletions ci/appveyor/requirements_39.yaml

This file was deleted.

10 changes: 5 additions & 5 deletions ci/deps/py310_pandas14_numpy121_sklearn12.sh
Original file line number Diff line number Diff line change
@@ -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
10 changes: 5 additions & 5 deletions ci/deps/py311_pandas15_numpy123_sklearn12.sh
Original file line number Diff line number Diff line change
@@ -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
10 changes: 5 additions & 5 deletions ci/deps/py38_pandas10_numpy119_sklearn12.sh
Original file line number Diff line number Diff line change
@@ -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
10 changes: 5 additions & 5 deletions ci/deps/py39_pandas13_numpy121_sklearn12.sh
Original file line number Diff line number Diff line change
@@ -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
8 changes: 4 additions & 4 deletions ci/deps/requirements.yaml.tmpl
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
2 changes: 1 addition & 1 deletion ci/render-requirements.py
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
2 changes: 1 addition & 1 deletion ci/run_tests.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
6 changes: 3 additions & 3 deletions ci/setup_env.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down

0 comments on commit 9086473

Please sign in to comment.