From a9a23b93bfed9331bcedfbe00f9fc448d1db26e8 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 22 Apr 2024 10:03:59 +0200 Subject: [PATCH 01/17] Bump sqlparse from 0.4.4 to 0.5.0 (#558) Bumps [sqlparse](https://github.com/andialbrecht/sqlparse) from 0.4.4 to 0.5.0. - [Changelog](https://github.com/andialbrecht/sqlparse/blob/master/CHANGELOG) - [Commits](https://github.com/andialbrecht/sqlparse/compare/0.4.4...0.5.0) --- updated-dependencies: - dependency-name: sqlparse dependency-type: indirect ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- poetry.lock | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/poetry.lock b/poetry.lock index 188a4728a..e0971e36c 100644 --- a/poetry.lock +++ b/poetry.lock @@ -3408,19 +3408,18 @@ sqlcipher = ["sqlcipher3_binary"] [[package]] name = "sqlparse" -version = "0.4.4" +version = "0.5.0" description = "A non-validating SQL parser." optional = false -python-versions = ">=3.5" +python-versions = ">=3.8" files = [ - {file = "sqlparse-0.4.4-py3-none-any.whl", hash = "sha256:5430a4fe2ac7d0f93e66f1efc6e1338a41884b7ddf2a350cedd20ccc4d9d28f3"}, - {file = "sqlparse-0.4.4.tar.gz", hash = "sha256:d446183e84b8349fa3061f0fe7f06ca94ba65b426946ffebe6e3e8295332420c"}, + {file = "sqlparse-0.5.0-py3-none-any.whl", hash = "sha256:c204494cd97479d0e39f28c93d46c0b2d5959c7b9ab904762ea6c7af211c8663"}, + {file = "sqlparse-0.5.0.tar.gz", hash = "sha256:714d0a4932c059d16189f58ef5411ec2287a4360f17cdd0edd2d09d4c5087c93"}, ] [package.extras] -dev = ["build", "flake8"] +dev = ["build", "hatch"] doc = ["sphinx"] -test = ["pytest", "pytest-cov"] [[package]] name = "sympy" From 36eb46f371616b35921aebfc6362726c586b0754 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 4 May 2024 09:50:19 +0200 Subject: [PATCH 02/17] Bump tqdm from 4.66.1 to 4.66.3 (#569) Bumps [tqdm](https://github.com/tqdm/tqdm) from 4.66.1 to 4.66.3. - [Release notes](https://github.com/tqdm/tqdm/releases) - [Commits](https://github.com/tqdm/tqdm/compare/v4.66.1...v4.66.3) --- updated-dependencies: - dependency-name: tqdm dependency-type: indirect ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- poetry.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/poetry.lock b/poetry.lock index e0971e36c..64d65d07e 100644 --- a/poetry.lock +++ b/poetry.lock @@ -3667,13 +3667,13 @@ scipy = ["scipy"] [[package]] name = "tqdm" -version = "4.66.1" +version = "4.66.3" description = "Fast, Extensible Progress Meter" optional = false python-versions = ">=3.7" files = [ - {file = "tqdm-4.66.1-py3-none-any.whl", hash = "sha256:d302b3c5b53d47bce91fea46679d9c3c6508cf6332229aa1e7d8653723793386"}, - {file = "tqdm-4.66.1.tar.gz", hash = "sha256:d88e651f9db8d8551a62556d3cff9e3034274ca5d66e93197cf2490e2dcb69c7"}, + {file = "tqdm-4.66.3-py3-none-any.whl", hash = "sha256:4f41d54107ff9a223dca80b53efe4fb654c67efaba7f47bada3ee9d50e05bd53"}, + {file = "tqdm-4.66.3.tar.gz", hash = "sha256:23097a41eba115ba99ecae40d06444c15d1c0c698d527a01c6c8bd1c5d0647e5"}, ] [package.dependencies] From fa7f0f1f21578fc56410b593782f3aacae182a48 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 7 May 2024 08:51:38 +0200 Subject: [PATCH 03/17] Bump werkzeug from 3.0.1 to 3.0.3 (#570) Bumps [werkzeug](https://github.com/pallets/werkzeug) from 3.0.1 to 3.0.3. - [Release notes](https://github.com/pallets/werkzeug/releases) - [Changelog](https://github.com/pallets/werkzeug/blob/main/CHANGES.rst) - [Commits](https://github.com/pallets/werkzeug/compare/3.0.1...3.0.3) --- updated-dependencies: - dependency-name: werkzeug dependency-type: indirect ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- poetry.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/poetry.lock b/poetry.lock index 64d65d07e..80ed6f4c9 100644 --- a/poetry.lock +++ b/poetry.lock @@ -3889,13 +3889,13 @@ watchmedo = ["PyYAML (>=3.10)"] [[package]] name = "werkzeug" -version = "3.0.1" +version = "3.0.3" description = "The comprehensive WSGI web application library." optional = false python-versions = ">=3.8" files = [ - {file = "werkzeug-3.0.1-py3-none-any.whl", hash = "sha256:90a285dc0e42ad56b34e696398b8122ee4c681833fb35b8334a095d82c56da10"}, - {file = "werkzeug-3.0.1.tar.gz", hash = "sha256:507e811ecea72b18a404947aded4b3390e1db8f826b494d76550ef45bb3b1dcc"}, + {file = "werkzeug-3.0.3-py3-none-any.whl", hash = "sha256:fc9645dc43e03e4d630d23143a04a7f947a9a3b5727cd535fdfe155a17cc48c8"}, + {file = "werkzeug-3.0.3.tar.gz", hash = "sha256:097e5bfda9f0aba8da6b8545146def481d06aa7d3266e7448e2cccf67dd8bd18"}, ] [package.dependencies] From a05fcd5963fd5135e799b408ff7094ae8d95eac5 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 7 May 2024 08:52:55 +0200 Subject: [PATCH 04/17] Bump jinja2 from 3.1.3 to 3.1.4 (#571) Bumps [jinja2](https://github.com/pallets/jinja) from 3.1.3 to 3.1.4. - [Release notes](https://github.com/pallets/jinja/releases) - [Changelog](https://github.com/pallets/jinja/blob/main/CHANGES.rst) - [Commits](https://github.com/pallets/jinja/compare/3.1.3...3.1.4) --- updated-dependencies: - dependency-name: jinja2 dependency-type: indirect ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- poetry.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/poetry.lock b/poetry.lock index 80ed6f4c9..04501eadb 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1095,13 +1095,13 @@ files = [ [[package]] name = "jinja2" -version = "3.1.3" +version = "3.1.4" description = "A very fast and expressive template engine." optional = false python-versions = ">=3.7" files = [ - {file = "Jinja2-3.1.3-py3-none-any.whl", hash = "sha256:7d6d50dd97d52cbc355597bd845fabfbac3f551e1f99619e39a35ce8c370b5fa"}, - {file = "Jinja2-3.1.3.tar.gz", hash = "sha256:ac8bd6544d4bb2c9792bf3a159e80bba8fda7f07e81bc3aed565432d5925ba90"}, + {file = "jinja2-3.1.4-py3-none-any.whl", hash = "sha256:bc5dd2abb727a5319567b7a813e6a2e7318c39f4f487cfe6c89c6f9c7d25197d"}, + {file = "jinja2-3.1.4.tar.gz", hash = "sha256:4a3aee7acbbe7303aede8e9648d13b8bf88a429282aa6122a993f0ac800cb369"}, ] [package.dependencies] From b2fc3e6d975a47a9d2897aad4cf8cf8bcb8244bc Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 17 May 2024 09:14:52 +0200 Subject: [PATCH 05/17] Bump mlflow from 2.10.1 to 2.12.1 (#575) Bumps [mlflow](https://github.com/mlflow/mlflow) from 2.10.1 to 2.12.1. - [Release notes](https://github.com/mlflow/mlflow/releases) - [Changelog](https://github.com/mlflow/mlflow/blob/master/CHANGELOG.md) - [Commits](https://github.com/mlflow/mlflow/compare/v2.10.1...v2.12.1) --- updated-dependencies: - dependency-name: mlflow dependency-type: direct:development ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- poetry.lock | 138 +++++++++++++++++++++++++++------------------------- 1 file changed, 73 insertions(+), 65 deletions(-) diff --git a/poetry.lock b/poetry.lock index 04501eadb..4b48efdc8 100644 --- a/poetry.lock +++ b/poetry.lock @@ -32,6 +32,20 @@ typing-extensions = ">=4" [package.extras] tz = ["backports.zoneinfo"] +[[package]] +name = "aniso8601" +version = "9.0.1" +description = "A library for parsing ISO 8601 strings." +optional = false +python-versions = "*" +files = [ + {file = "aniso8601-9.0.1-py2.py3-none-any.whl", hash = "sha256:1d2b7ef82963909e93c4f24ce48d4de9e66009a21bf1c1e1c85bdd0812fe412f"}, + {file = "aniso8601-9.0.1.tar.gz", hash = "sha256:72e3117667eedf66951bb2d93f4296a56b94b078a8a95905a052611fb3f1b973"}, +] + +[package.extras] +dev = ["black", "coverage", "isort", "pre-commit", "pyenchant", "pylint"] + [[package]] name = "appdirs" version = "1.4.4" @@ -456,26 +470,6 @@ files = [ docs = ["ipython", "matplotlib", "numpydoc", "sphinx"] tests = ["pytest", "pytest-cov", "pytest-xdist"] -[[package]] -name = "databricks-cli" -version = "0.18.0" -description = "A command line interface for Databricks" -optional = false -python-versions = ">=3.7" -files = [ - {file = "databricks-cli-0.18.0.tar.gz", hash = "sha256:87569709eda9af3e9db8047b691e420b5e980c62ef01675575c0d2b9b4211eb7"}, - {file = "databricks_cli-0.18.0-py2.py3-none-any.whl", hash = "sha256:1176a5f42d3e8af4abfc915446fb23abc44513e325c436725f5898cbb9e3384b"}, -] - -[package.dependencies] -click = ">=7.0" -oauthlib = ">=3.1.0" -pyjwt = ">=1.7.0" -requests = ">=2.17.3" -six = ">=1.10.0" -tabulate = ">=0.7.7" -urllib3 = ">=1.26.7,<3" - [[package]] name = "deprecated" version = "1.2.14" @@ -806,6 +800,51 @@ requests-oauthlib = ">=0.7.0" [package.extras] tool = ["click (>=6.0.0)"] +[[package]] +name = "graphene" +version = "3.3" +description = "GraphQL Framework for Python" +optional = false +python-versions = "*" +files = [ + {file = "graphene-3.3-py2.py3-none-any.whl", hash = "sha256:bb3810be33b54cb3e6969506671eb72319e8d7ba0d5ca9c8066472f75bf35a38"}, + {file = "graphene-3.3.tar.gz", hash = "sha256:529bf40c2a698954217d3713c6041d69d3f719ad0080857d7ee31327112446b0"}, +] + +[package.dependencies] +aniso8601 = ">=8,<10" +graphql-core = ">=3.1,<3.3" +graphql-relay = ">=3.1,<3.3" + +[package.extras] +dev = ["black (==22.3.0)", "coveralls (>=3.3,<4)", "flake8 (>=4,<5)", "iso8601 (>=1,<2)", "mock (>=4,<5)", "pytest (>=6,<7)", "pytest-asyncio (>=0.16,<2)", "pytest-benchmark (>=3.4,<4)", "pytest-cov (>=3,<4)", "pytest-mock (>=3,<4)", "pytz (==2022.1)", "snapshottest (>=0.6,<1)"] +test = ["coveralls (>=3.3,<4)", "iso8601 (>=1,<2)", "mock (>=4,<5)", "pytest (>=6,<7)", "pytest-asyncio (>=0.16,<2)", "pytest-benchmark (>=3.4,<4)", "pytest-cov (>=3,<4)", "pytest-mock (>=3,<4)", "pytz (==2022.1)", "snapshottest (>=0.6,<1)"] + +[[package]] +name = "graphql-core" +version = "3.2.3" +description = "GraphQL implementation for Python, a port of GraphQL.js, the JavaScript reference implementation for GraphQL." +optional = false +python-versions = ">=3.6,<4" +files = [ + {file = "graphql-core-3.2.3.tar.gz", hash = "sha256:06d2aad0ac723e35b1cb47885d3e5c45e956a53bc1b209a9fc5369007fe46676"}, + {file = "graphql_core-3.2.3-py3-none-any.whl", hash = "sha256:5766780452bd5ec8ba133f8bf287dc92713e3868ddd83aee4faab9fc3e303dc3"}, +] + +[[package]] +name = "graphql-relay" +version = "3.2.0" +description = "Relay library for graphql-core" +optional = false +python-versions = ">=3.6,<4" +files = [ + {file = "graphql-relay-3.2.0.tar.gz", hash = "sha256:1ff1c51298356e481a0be009ccdff249832ce53f30559c1338f22a0e0d17250c"}, + {file = "graphql_relay-3.2.0-py3-none-any.whl", hash = "sha256:c9b22bd28b170ba1fe674c74384a8ff30a76c8e26f88ac3aa1584dd3179953e5"}, +] + +[package.dependencies] +graphql-core = ">=3.2,<3.3" + [[package]] name = "greenlet" version = "3.0.3" @@ -1635,25 +1674,25 @@ files = [ [[package]] name = "mlflow" -version = "2.10.1" -description = "MLflow: A Platform for ML Development and Productionization" +version = "2.12.2" +description = "MLflow is an open source platform for the complete machine learning lifecycle" optional = false python-versions = ">=3.8" files = [ - {file = "mlflow-2.10.1-py3-none-any.whl", hash = "sha256:3dddb8a011ab3671d0c6da806549fdc84d39eb853b1bc29e8b3df50115ba5b6c"}, - {file = "mlflow-2.10.1.tar.gz", hash = "sha256:d534e658a979517f56478fc7f0b1a19451700078a725242e789fe63c87d46815"}, + {file = "mlflow-2.12.2-py3-none-any.whl", hash = "sha256:38dd04710fe64ee8229b7233b4d91db32c3ff887934c40d926246a566c886c0b"}, + {file = "mlflow-2.12.2.tar.gz", hash = "sha256:d712f1af9d44f1eb9e1baee8ca64f7311e185b7572fc3c1e0a83a4c8ceff6aad"}, ] [package.dependencies] alembic = "<1.10.0 || >1.10.0,<2" click = ">=7.0,<9" cloudpickle = "<4" -databricks-cli = ">=0.8.7,<1" docker = ">=4.0.0,<8" entrypoints = "<1" Flask = "<4" -gitpython = ">=2.1.0,<4" -gunicorn = {version = "<22", markers = "platform_system != \"Windows\""} +gitpython = ">=3.1.9,<4" +graphene = "<4" +gunicorn = {version = "<23", markers = "platform_system != \"Windows\""} importlib-metadata = ">=3.7.0,<4.7.0 || >4.7.0,<8" Jinja2 = [ {version = ">=2.11,<4", markers = "platform_system != \"Windows\""}, @@ -1662,11 +1701,11 @@ Jinja2 = [ markdown = ">=3.3,<4" matplotlib = "<4" numpy = "<2" -packaging = "<24" +packaging = "<25" pandas = "<3" protobuf = ">=3.12.0,<5" pyarrow = ">=4.0.0,<16" -pytz = "<2024" +pytz = "<2025" pyyaml = ">=5.1,<7" querystring-parser = "<2" requests = ">=2.17.3,<3" @@ -1674,14 +1713,14 @@ scikit-learn = "<2" scipy = "<2" sqlalchemy = ">=1.4.0,<3" sqlparse = ">=0.4.0,<1" -waitress = {version = "<3", markers = "platform_system == \"Windows\""} +waitress = {version = "<4", markers = "platform_system == \"Windows\""} [package.extras] aliyun-oss = ["aliyunstoreplugin"] -databricks = ["azure-storage-file-datalake (>12)", "boto3 (>1)", "botocore (>1.34)", "google-cloud-storage (>=1.30.0)"] -extras = ["azureml-core (>=1.2.0)", "boto3", "botocore", "google-cloud-storage (>=1.30.0)", "kubernetes", "mlserver (>=1.2.0,!=1.3.1)", "mlserver-mlflow (>=1.2.0,!=1.3.1)", "prometheus-flask-exporter", "pyarrow", "pysftp", "requests-auth-aws-sigv4", "virtualenv"] -gateway = ["aiohttp (<4)", "boto3 (>=1.28.56,<2)", "fastapi (<1)", "pydantic (>=1.0,<3)", "slowapi (<1)", "tiktoken (<1)", "uvicorn[standard] (<1)", "watchfiles (<1)"] -genai = ["aiohttp (<4)", "boto3 (>=1.28.56,<2)", "fastapi (<1)", "pydantic (>=1.0,<3)", "slowapi (<1)", "tiktoken (<1)", "uvicorn[standard] (<1)", "watchfiles (<1)"] +databricks = ["azure-storage-file-datalake (>12)", "boto3 (>1)", "botocore", "google-cloud-storage (>=1.30.0)"] +extras = ["azureml-core (>=1.2.0)", "boto3", "botocore", "google-cloud-storage (>=1.30.0)", "kubernetes", "mlserver (>=1.2.0,!=1.3.1,<1.4.0)", "mlserver-mlflow (>=1.2.0,!=1.3.1,<1.4.0)", "prometheus-flask-exporter", "pyarrow", "pysftp", "requests-auth-aws-sigv4", "virtualenv"] +gateway = ["aiohttp (<4)", "boto3 (>=1.28.56,<2)", "fastapi (<1)", "pydantic (>=1.0,<3)", "slowapi (>=0.1.9,<1)", "tiktoken (<1)", "uvicorn[standard] (<1)", "watchfiles (<1)"] +genai = ["aiohttp (<4)", "boto3 (>=1.28.56,<2)", "fastapi (<1)", "pydantic (>=1.0,<3)", "slowapi (>=0.1.9,<1)", "tiktoken (<1)", "uvicorn[standard] (<1)", "watchfiles (<1)"] sqlserver = ["mlflow-dbstore"] xethub = ["mlflow-xethub"] @@ -2373,23 +2412,6 @@ files = [ plugins = ["importlib-metadata"] windows-terminal = ["colorama (>=0.4.6)"] -[[package]] -name = "pyjwt" -version = "2.8.0" -description = "JSON Web Token implementation in Python" -optional = false -python-versions = ">=3.7" -files = [ - {file = "PyJWT-2.8.0-py3-none-any.whl", hash = "sha256:59127c392cc44c2da5bb3192169a91f429924e17aff6534d70fdc02ab3e04320"}, - {file = "PyJWT-2.8.0.tar.gz", hash = "sha256:57e28d156e3d5c10088e0c68abb90bfac3df82b40a71bd0daa20c65ccd5c23de"}, -] - -[package.extras] -crypto = ["cryptography (>=3.4.0)"] -dev = ["coverage[toml] (==5.0.4)", "cryptography (>=3.4.0)", "pre-commit", "pytest (>=6.0.0,<7.0.0)", "sphinx (>=4.5.0,<5.0.0)", "sphinx-rtd-theme", "zope.interface"] -docs = ["sphinx (>=4.5.0,<5.0.0)", "sphinx-rtd-theme", "zope.interface"] -tests = ["coverage[toml] (==5.0.4)", "pytest (>=6.0.0,<7.0.0)"] - [[package]] name = "pymdown-extensions" version = "10.7" @@ -3435,20 +3457,6 @@ files = [ [package.dependencies] mpmath = ">=0.19" -[[package]] -name = "tabulate" -version = "0.9.0" -description = "Pretty-print tabular data" -optional = false -python-versions = ">=3.7" -files = [ - {file = "tabulate-0.9.0-py3-none-any.whl", hash = "sha256:024ca478df22e9340661486f85298cff5f6dcdba14f3813e8830015b9ed1948f"}, - {file = "tabulate-0.9.0.tar.gz", hash = "sha256:0095b12bf5966de529c0feb1fa08671671b3368eec77d7ef7ab114be2c068b3c"}, -] - -[package.extras] -widechars = ["wcwidth"] - [[package]] name = "tensorboard" version = "2.14.0" From 495d5b9454becba63fb4ba23b1852cc05f210307 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 17 May 2024 09:35:45 +0200 Subject: [PATCH 06/17] Bump gunicorn from 21.2.0 to 22.0.0 (#576) Bumps [gunicorn](https://github.com/benoitc/gunicorn) from 21.2.0 to 22.0.0. - [Release notes](https://github.com/benoitc/gunicorn/releases) - [Commits](https://github.com/benoitc/gunicorn/compare/21.2.0...22.0.0) --- updated-dependencies: - dependency-name: gunicorn dependency-type: indirect ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- poetry.lock | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/poetry.lock b/poetry.lock index 4b48efdc8..2f2b3b9b9 100644 --- a/poetry.lock +++ b/poetry.lock @@ -984,22 +984,23 @@ protobuf = ["grpcio-tools (>=1.60.1)"] [[package]] name = "gunicorn" -version = "21.2.0" +version = "22.0.0" description = "WSGI HTTP Server for UNIX" optional = false -python-versions = ">=3.5" +python-versions = ">=3.7" files = [ - {file = "gunicorn-21.2.0-py3-none-any.whl", hash = "sha256:3213aa5e8c24949e792bcacfc176fef362e7aac80b76c56f6b5122bf350722f0"}, - {file = "gunicorn-21.2.0.tar.gz", hash = "sha256:88ec8bff1d634f98e61b9f65bc4bf3cd918a90806c6f5c48bc5603849ec81033"}, + {file = "gunicorn-22.0.0-py3-none-any.whl", hash = "sha256:350679f91b24062c86e386e198a15438d53a7a8207235a78ba1b53df4c4378d9"}, + {file = "gunicorn-22.0.0.tar.gz", hash = "sha256:4a0b436239ff76fb33f11c07a16482c521a7e09c1ce3cc293c2330afe01bec63"}, ] [package.dependencies] packaging = "*" [package.extras] -eventlet = ["eventlet (>=0.24.1)"] +eventlet = ["eventlet (>=0.24.1,!=0.36.0)"] gevent = ["gevent (>=1.4.0)"] setproctitle = ["setproctitle"] +testing = ["coverage", "eventlet", "gevent", "pytest", "pytest-cov"] tornado = ["tornado (>=0.2)"] [[package]] From bdd102a6e42197a5a416625225798f47bf8314b0 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 21 May 2024 09:14:39 +0200 Subject: [PATCH 07/17] Bump requests from 2.31.0 to 2.32.0 (#578) updated-dependencies: - dependency-name: requests dependency-type: indirect ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- poetry.lock | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/poetry.lock b/poetry.lock index 2f2b3b9b9..7ff18c8fc 100644 --- a/poetry.lock +++ b/poetry.lock @@ -2909,13 +2909,13 @@ files = [ [[package]] name = "requests" -version = "2.31.0" +version = "2.32.0" description = "Python HTTP for Humans." optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "requests-2.31.0-py3-none-any.whl", hash = "sha256:58cd2187c01e70e6e26505bca751777aa9f2ee0b7f4300988b709f44e013003f"}, - {file = "requests-2.31.0.tar.gz", hash = "sha256:942c5a758f98d790eaed1a29cb6eefc7ffb0d1cf7af05c3d2791656dbd6ad1e1"}, + {file = "requests-2.32.0-py3-none-any.whl", hash = "sha256:f2c3881dddb70d056c5bd7600a4fae312b2a300e39be6a118d30b90bd27262b5"}, + {file = "requests-2.32.0.tar.gz", hash = "sha256:fa5490319474c82ef1d2c9bc459d3652e3ae4ef4c4ebdd18a21145a47ca4b6b8"}, ] [package.dependencies] From beccd4cddccee82ea305537489323e1df8237d82 Mon Sep 17 00:00:00 2001 From: Gensollen Date: Wed, 22 May 2024 15:35:13 +0200 Subject: [PATCH 08/17] [CI] Run tests through GitHub Actions (#573) * try a simple workflow first * try running on new ubuntu VM * fixes * bump poetry version to 1.8.3 * try removing caching.. * add workflow for testing tsv tools --- .github/workflows/test_cli.yml | 46 +++++++++++++++++++++++++++ .github/workflows/test_tsvtools.yml | 48 +++++++++++++++++++++++++++++ 2 files changed, 94 insertions(+) create mode 100644 .github/workflows/test_cli.yml create mode 100644 .github/workflows/test_tsvtools.yml diff --git a/.github/workflows/test_cli.yml b/.github/workflows/test_cli.yml new file mode 100644 index 000000000..d8309b2e1 --- /dev/null +++ b/.github/workflows/test_cli.yml @@ -0,0 +1,46 @@ +name: CLI Tests + +on: + push: + branches: ["dev"] + pull_request: + branches: ["dev"] + +permissions: + contents: read + +concurrency: + group: '${{ github.workflow }} @ ${{ github.event.pull_request.head.label || github.head_ref || github.ref }}' + cancel-in-progress: true + +env: + POETRY_VERSION: '1.8.3' + PYTHON_VERSION: '3.11' + +jobs: + test-cli: + runs-on: + - self-hosted + - Linux + - ubuntu + steps: + - uses: actions/checkout@v4 + - uses: snok/install-poetry@v1 + with: + version: ${{ env.POETRY_VERSION }} + virtualenvs-create: false + - uses: actions/setup-python@v5 + with: + python-version: ${{ env.PYTHON_VERSION }} + - name: Run CLI tests + run: | + make env.conda + source /builds/miniconda3/etc/profile.d/conda.sh + conda activate "${{ github.workspace }}"/env + make install + cd tests + poetry run pytest --verbose \ + --junitxml=./test-reports/test_cli_report.xml \ + --disable-warnings \ + --verbose \ + test_cli.py diff --git a/.github/workflows/test_tsvtools.yml b/.github/workflows/test_tsvtools.yml new file mode 100644 index 000000000..bddbb80d2 --- /dev/null +++ b/.github/workflows/test_tsvtools.yml @@ -0,0 +1,48 @@ +name: TSV Tools Tests + +on: + push: + branches: ["dev"] + pull_request: + branches: ["dev"] + +permissions: + contents: read + +concurrency: + group: '${{ github.workflow }} @ ${{ github.event.pull_request.head.label || github.head_ref || github.ref }}' + cancel-in-progress: true + +env: + POETRY_VERSION: '1.8.3' + PYTHON_VERSION: '3.11' + +jobs: + test-tsvtools: + runs-on: + - self-hosted + - Linux + - ubuntu + steps: + - uses: actions/checkout@v4 + - uses: snok/install-poetry@v1 + with: + version: ${{ env.POETRY_VERSION }} + virtualenvs-create: false + - uses: actions/setup-python@v5 + with: + python-version: ${{ env.PYTHON_VERSION }} + - name: Run tests for TSV tools + run: | + make env.conda + source /builds/miniconda3/etc/profile.d/conda.sh + conda activate "${{ github.workspace }}"/env + make install + cd tests + poetry run pytest --verbose \ + --junitxml=./test-reports/test_tsvtools_report.xml \ + --disable-warnings \ + --verbose \ + --basetemp=$HOME/tmp \ + --input_data_directory=/mnt/data/data_ci \ + test_tsvtools.py From 2861e9d8da889f7546be9776e1a496bb8cd83e61 Mon Sep 17 00:00:00 2001 From: Gensollen Date: Thu, 23 May 2024 14:22:24 +0200 Subject: [PATCH 09/17] [CI] Skip tests when PR is in draft mode (#592) * try skipping test_tsvtools when PR is in draft mode * trigger CI * add a cpu tag to avoid running cpu tests on gpu machines * run also on refactoring branch --- .github/workflows/test_cli.yml | 6 ++++-- .github/workflows/test_tsvtools.yml | 6 ++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/.github/workflows/test_cli.yml b/.github/workflows/test_cli.yml index d8309b2e1..750f1cd00 100644 --- a/.github/workflows/test_cli.yml +++ b/.github/workflows/test_cli.yml @@ -2,9 +2,9 @@ name: CLI Tests on: push: - branches: ["dev"] + branches: ["dev", "refactoring"] pull_request: - branches: ["dev"] + branches: ["dev", "refactoring"] permissions: contents: read @@ -19,10 +19,12 @@ env: jobs: test-cli: + if: github.event.pull_request.draft == false runs-on: - self-hosted - Linux - ubuntu + - cpu steps: - uses: actions/checkout@v4 - uses: snok/install-poetry@v1 diff --git a/.github/workflows/test_tsvtools.yml b/.github/workflows/test_tsvtools.yml index bddbb80d2..5a8c7896a 100644 --- a/.github/workflows/test_tsvtools.yml +++ b/.github/workflows/test_tsvtools.yml @@ -2,9 +2,9 @@ name: TSV Tools Tests on: push: - branches: ["dev"] + branches: ["dev", "refactoring"] pull_request: - branches: ["dev"] + branches: ["dev", "refactoring"] permissions: contents: read @@ -19,10 +19,12 @@ env: jobs: test-tsvtools: + if: github.event.pull_request.draft == false runs-on: - self-hosted - Linux - ubuntu + - cpu steps: - uses: actions/checkout@v4 - uses: snok/install-poetry@v1 From f5de25105e2db3e87619b7782eb6873a0066c3c6 Mon Sep 17 00:00:00 2001 From: Gensollen Date: Thu, 23 May 2024 14:28:57 +0200 Subject: [PATCH 10/17] [CI] Test train workflow on GPU machine (#590) * add test workflow on GPU for train * fix conda path * fix conflicting workdir * only run on non-draft PRs * run also on refactoring branch --- .github/workflows/test_train.yml | 53 ++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 .github/workflows/test_train.yml diff --git a/.github/workflows/test_train.yml b/.github/workflows/test_train.yml new file mode 100644 index 000000000..a65a92a56 --- /dev/null +++ b/.github/workflows/test_train.yml @@ -0,0 +1,53 @@ +name: Train Tests (GPU) + +on: + push: + branches: ["dev", "refactoring"] + pull_request: + branches: ["dev", "refactoring"] + +permissions: + contents: read + +concurrency: + group: '${{ github.workflow }} @ ${{ github.event.pull_request.head.label || github.head_ref || github.ref }}' + cancel-in-progress: true + +env: + POETRY_VERSION: '1.8.3' + PYTHON_VERSION: '3.11' + +jobs: + test-train-gpu: + if: github.event.pull_request.draft == false + runs-on: + - self-hosted + - Linux + - ubuntu + - gpu + steps: + - uses: actions/checkout@v4 + - uses: snok/install-poetry@v1 + with: + version: ${{ env.POETRY_VERSION }} + virtualenvs-create: false + - uses: actions/setup-python@v5 + with: + python-version: ${{ env.PYTHON_VERSION }} + - name: Run tests for Train on GPU + run: | + make env.conda + source "${HOME}/miniconda3/etc/profile.d/conda.sh" + conda activate "${{ github.workspace }}"/env + make install + cd tests + poetry run pytest --verbose \ + --junitxml=./test-reports/test_train_report.xml \ + --disable-warnings \ + --verbose \ + --basetemp=$HOME/actions_runner_workdir/train \ + --input_data_directory=/mnt/data/clinicadl_data_ci/data_ci \ + -k test_train + - name: Cleaning + run: | + rm -rf $HOME/actions_runner_workdir/train/* From 69b3538d5397c94e0c3b7e306648ca1dd0720b7a Mon Sep 17 00:00:00 2001 From: Gensollen Date: Thu, 23 May 2024 15:51:54 +0200 Subject: [PATCH 11/17] [CI] Port remaining GPU tests to GitHub Actions (#593) * add workflow for testing interpretation task * add workflow for testing random search task * add workflow for testing resume task * add workflow for testing transfer learning task * trigger CI * trigger CI --- .github/workflows/test_interpret.yml | 53 ++++++++++++++++++++ .github/workflows/test_random_search.yml | 53 ++++++++++++++++++++ .github/workflows/test_resume.yml | 53 ++++++++++++++++++++ .github/workflows/test_transfer_learning.yml | 53 ++++++++++++++++++++ 4 files changed, 212 insertions(+) create mode 100644 .github/workflows/test_interpret.yml create mode 100644 .github/workflows/test_random_search.yml create mode 100644 .github/workflows/test_resume.yml create mode 100644 .github/workflows/test_transfer_learning.yml diff --git a/.github/workflows/test_interpret.yml b/.github/workflows/test_interpret.yml new file mode 100644 index 000000000..0163bf583 --- /dev/null +++ b/.github/workflows/test_interpret.yml @@ -0,0 +1,53 @@ +name: Interpretation Tests (GPU) + +on: + push: + branches: ["dev", "refactoring"] + pull_request: + branches: ["dev", "refactoring"] + +permissions: + contents: read + +concurrency: + group: '${{ github.workflow }} @ ${{ github.event.pull_request.head.label || github.head_ref || github.ref }}' + cancel-in-progress: true + +env: + POETRY_VERSION: '1.8.3' + PYTHON_VERSION: '3.11' + +jobs: + test-interpret-gpu: + if: github.event.pull_request.draft == false + runs-on: + - self-hosted + - Linux + - ubuntu + - gpu + steps: + - uses: actions/checkout@v4 + - uses: snok/install-poetry@v1 + with: + version: ${{ env.POETRY_VERSION }} + virtualenvs-create: false + - uses: actions/setup-python@v5 + with: + python-version: ${{ env.PYTHON_VERSION }} + - name: Run tests for Interpret task on GPU + run: | + make env.conda + source "${HOME}/miniconda3/etc/profile.d/conda.sh" + conda activate "${{ github.workspace }}"/env + make install + cd tests + poetry run pytest --verbose \ + --junitxml=./test-reports/test_interpret_report.xml \ + --disable-warnings \ + --verbose \ + --basetemp=$HOME/actions_runner_workdir/interpret \ + --input_data_directory=/mnt/data/clinicadl_data_ci/data_ci \ + test_interpret.py + - name: Cleaning + run: | + rm -rf $HOME/actions_runner_workdir/interpret/* diff --git a/.github/workflows/test_random_search.yml b/.github/workflows/test_random_search.yml new file mode 100644 index 000000000..529f1fda1 --- /dev/null +++ b/.github/workflows/test_random_search.yml @@ -0,0 +1,53 @@ +name: Random Search Tests (GPU) + +on: + push: + branches: ["dev", "refactoring"] + pull_request: + branches: ["dev", "refactoring"] + +permissions: + contents: read + +concurrency: + group: '${{ github.workflow }} @ ${{ github.event.pull_request.head.label || github.head_ref || github.ref }}' + cancel-in-progress: true + +env: + POETRY_VERSION: '1.8.3' + PYTHON_VERSION: '3.11' + +jobs: + test-random-search-gpu: + if: github.event.pull_request.draft == false + runs-on: + - self-hosted + - Linux + - ubuntu + - gpu + steps: + - uses: actions/checkout@v4 + - uses: snok/install-poetry@v1 + with: + version: ${{ env.POETRY_VERSION }} + virtualenvs-create: false + - uses: actions/setup-python@v5 + with: + python-version: ${{ env.PYTHON_VERSION }} + - name: Run Random Search tests on GPU + run: | + make env.conda + source "${HOME}/miniconda3/etc/profile.d/conda.sh" + conda activate "${{ github.workspace }}"/env + make install + cd tests + poetry run pytest --verbose \ + --junitxml=./test-reports/test_random_search_report.xml \ + --disable-warnings \ + --verbose \ + --basetemp=$HOME/actions_runner_workdir/random_search \ + --input_data_directory=/mnt/data/clinicadl_data_ci/data_ci \ + test_random_search.py + - name: Cleaning + run: | + rm -rf $HOME/actions_runner_workdir/random_search/* diff --git a/.github/workflows/test_resume.yml b/.github/workflows/test_resume.yml new file mode 100644 index 000000000..b789a21f6 --- /dev/null +++ b/.github/workflows/test_resume.yml @@ -0,0 +1,53 @@ +name: Resume Tests (GPU) + +on: + push: + branches: ["dev", "refactoring"] + pull_request: + branches: ["dev", "refactoring"] + +permissions: + contents: read + +concurrency: + group: '${{ github.workflow }} @ ${{ github.event.pull_request.head.label || github.head_ref || github.ref }}' + cancel-in-progress: true + +env: + POETRY_VERSION: '1.8.3' + PYTHON_VERSION: '3.11' + +jobs: + test-resume-gpu: + if: github.event.pull_request.draft == false + runs-on: + - self-hosted + - Linux + - ubuntu + - gpu + steps: + - uses: actions/checkout@v4 + - uses: snok/install-poetry@v1 + with: + version: ${{ env.POETRY_VERSION }} + virtualenvs-create: false + - uses: actions/setup-python@v5 + with: + python-version: ${{ env.PYTHON_VERSION }} + - name: Run resume tests on GPU + run: | + make env.conda + source "${HOME}/miniconda3/etc/profile.d/conda.sh" + conda activate "${{ github.workspace }}"/env + make install + cd tests + poetry run pytest --verbose \ + --junitxml=./test-reports/test_resume_report.xml \ + --disable-warnings \ + --verbose \ + --basetemp=$HOME/actions_runner_workdir/resume \ + --input_data_directory=/mnt/data/clinicadl_data_ci/data_ci \ + test_resume.py + - name: Cleaning + run: | + rm -rf $HOME/actions_runner_workdir/resume/* diff --git a/.github/workflows/test_transfer_learning.yml b/.github/workflows/test_transfer_learning.yml new file mode 100644 index 000000000..61238d4e1 --- /dev/null +++ b/.github/workflows/test_transfer_learning.yml @@ -0,0 +1,53 @@ +name: Transfer Learning Tests (GPU) + +on: + push: + branches: ["dev", "refactoring"] + pull_request: + branches: ["dev", "refactoring"] + +permissions: + contents: read + +concurrency: + group: '${{ github.workflow }} @ ${{ github.event.pull_request.head.label || github.head_ref || github.ref }}' + cancel-in-progress: true + +env: + POETRY_VERSION: '1.8.3' + PYTHON_VERSION: '3.11' + +jobs: + test-transfer-learning-gpu: + if: github.event.pull_request.draft == false + runs-on: + - self-hosted + - Linux + - ubuntu + - gpu + steps: + - uses: actions/checkout@v4 + - uses: snok/install-poetry@v1 + with: + version: ${{ env.POETRY_VERSION }} + virtualenvs-create: false + - uses: actions/setup-python@v5 + with: + python-version: ${{ env.PYTHON_VERSION }} + - name: Run tests for Transfer Learning on GPU + run: | + make env.conda + source "${HOME}/miniconda3/etc/profile.d/conda.sh" + conda activate "${{ github.workspace }}"/env + make install + cd tests + poetry run pytest --verbose \ + --junitxml=./test-reports/test_transfer_learning_report.xml \ + --disable-warnings \ + --verbose \ + --basetemp=$HOME/actions_runner_workdir/transfer_learning \ + --input_data_directory=/mnt/data/clinicadl_data_ci/data_ci \ + test_transfer_learning.py + - name: Cleaning + run: | + rm -rf $HOME/actions_runner_workdir/transfer_learning/* From c9d9252ae4436a7a17d8812fdea97f2b01e0c0cb Mon Sep 17 00:00:00 2001 From: Gensollen Date: Fri, 24 May 2024 09:43:01 +0200 Subject: [PATCH 12/17] [CI] Remove GPU pipeline from Jenkinsfile (#594) --- .jenkins/Jenkinsfile | 207 ------------------------------------------- 1 file changed, 207 deletions(-) diff --git a/.jenkins/Jenkinsfile b/.jenkins/Jenkinsfile index f7bd3dafb..033182681 100644 --- a/.jenkins/Jenkinsfile +++ b/.jenkins/Jenkinsfile @@ -252,214 +252,7 @@ pipeline { } } } - stage('GPU') { - agent { - label 'gpu' - } - environment { - CONDA_HOME = "$HOME/miniconda3" - CONDA_ENV = "$WORKSPACE/env" - PATH = "$HOME/.local/bin:$PATH" - TMP_DIR = "$HOME/tmp" - INPUT_DATA_DIR = '/mnt/data/clinicadl_data_ci/data_ci' - } - stages { - stage('Build Env') { - steps { - echo 'Installing clinicadl sources in Linux...' - echo "My branch name is ${BRANCH_NAME}" - sh "echo 'My branch name is ${BRANCH_NAME}'" - sh 'printenv' - sh "echo 'Agent name: ${NODE_NAME}'" - sh '''#!/usr/bin/env bash - source "${CONDA_HOME}/etc/profile.d/conda.sh" - make env.conda - conda activate "${CONDA_ENV}" - conda info - echo "Install clinicadl using poetry..." - cd $WORKSPACE - make env - # Show clinicadl help message - echo "Display clinicadl help message" - clinicadl --help - conda deactivate - ''' - } - } - stage('Train tests Linux') { - steps { - catchError(buildResult: 'FAILURE', stageResult: 'UNSTABLE') { - echo 'Testing train task...' - sh "echo 'Agent name: ${NODE_NAME}'" - sh '''#!/usr/bin/env bash - source "${CONDA_HOME}/etc/profile.d/conda.sh" - conda activate "${CONDA_ENV}" - clinicadl --help - cd $WORKSPACE/tests - poetry run pytest \ - --junitxml=./test-reports/test_train_report.xml \ - --verbose \ - --disable-warnings \ - --basetemp=$TMP_DIR \ - --input_data_directory=$INPUT_DATA_DIR \ - -k "test_train" - conda deactivate - ''' - } - } - post { - always { - junit 'tests/test-reports/test_train_report.xml' - } - success { - sh 'rm -rf ${TMP_DIR}/*' - } - } - } - stage('Transfer learning tests Linux') { - steps { - catchError(buildResult: 'FAILURE', stageResult: 'UNSTABLE') { - echo 'Testing transfer learning...' - sh "echo 'Agent name: ${NODE_NAME}'" - sh '''#!/usr/bin/env bash - source "${CONDA_HOME}/etc/profile.d/conda.sh" - conda activate "${CONDA_ENV}" - clinicadl --help - cd $WORKSPACE/tests - poetry run pytest \ - --junitxml=./test-reports/test_transfer_learning_report.xml \ - --verbose \ - --disable-warnings \ - --basetemp=$TMP_DIR \ - --input_data_directory=$INPUT_DATA_DIR \ - test_transfer_learning.py - conda deactivate - ''' - } - } - post { - always { - junit 'tests/test-reports/test_transfer_learning_report.xml' - } - success { - sh 'rm -rf ${TMP_DIR}/*' - } - } - } - stage('Resume tests Linux') { - steps { - catchError(buildResult: 'FAILURE', stageResult: 'UNSTABLE') { - echo 'Testing resume...' - sh "echo 'Agent name: ${NODE_NAME}'" - sh '''#!/usr/bin/env bash - source "${CONDA_HOME}/etc/profile.d/conda.sh" - conda activate "${CONDA_ENV}" - clinicadl --help - cd $WORKSPACE/tests - poetry run pytest \ - --junitxml=./test-reports/test_resume_report.xml \ - --verbose \ - --disable-warnings \ - --basetemp=$TMP_DIR \ - --input_data_directory=$INPUT_DATA_DIR \ - test_resume.py - conda deactivate - ''' - } - } - post { - always { - junit 'tests/test-reports/test_resume_report.xml' - } - success { - sh 'rm -rf ${TMP_DIR}/*' - } - } - } - stage('Interpretation tests Linux') { - steps { - catchError(buildResult: 'FAILURE', stageResult: 'UNSTABLE') { - echo 'Testing interpret task...' - sh "echo 'Agent name: ${NODE_NAME}'" - sh '''#!/usr/bin/env bash - set +x - source "${CONDA_HOME}/etc/profile.d/conda.sh" - conda activate "${CONDA_ENV}" - clinicadl --help - cd $WORKSPACE/tests - poetry run pytest \ - --junitxml=./test-reports/test_interpret_report.xml \ - --verbose \ - --disable-warnings \ - --basetemp=$TMP_DIR \ - --input_data_directory=$INPUT_DATA_DIR \ - test_interpret.py - conda deactivate - ''' - } - } - post { - always { - junit 'tests/test-reports/test_interpret_report.xml' - } - success { - sh 'rm -rf ${TMP_DIR}/*' - } - } - } - stage('Random search tests Linux') { - steps { - catchError(buildResult: 'FAILURE', stageResult: 'UNSTABLE') { - echo 'Testing random search...' - sh "echo 'Agent name: ${NODE_NAME}'" - sh '''#!/usr/bin/env bash - set +x - source "${CONDA_HOME}/etc/profile.d/conda.sh" - conda activate "${CONDA_ENV}" - clinicadl --help - cd $WORKSPACE/tests - poetry run pytest \ - --junitxml=./test-reports/test_random_search_report.xml \ - --verbose \ - --disable-warnings \ - --basetemp=$TMP_DIR \ - --input_data_directory=$INPUT_DATA_DIR \ - test_random_search.py - conda deactivate - ''' - } - } - post { - always { - junit 'tests/test-reports/test_random_search_report.xml' - } - success { - sh 'rm -rf ${TMP_DIR}/*' - } - } - } - } - post { - // Clean after build - cleanup { - cleanWs(deleteDirs: true, - notFailBuild: true, - patterns: [[pattern: 'env', type: 'INCLUDE']]) - } - } - } } } } -// post { -// failure { -// mail to: 'clinicadl-ci@inria.fr', -// subject: "Failed Pipeline: ${currentBuild.fullDisplayName}", -// body: "Something is wrong with ${env.BUILD_URL}" -// mattermostSend( -// color: "#FF0000", -// message: "ClinicaDL Build FAILED: ${env.JOB_NAME} #${env.BUILD_NUMBER} (<${env.BUILD_URL}|Link to build>)" -// ) -// } -// } } From 753f04e49e266ec3767cd91bcefda18370718fec Mon Sep 17 00:00:00 2001 From: Gensollen Date: Fri, 24 May 2024 12:06:06 +0200 Subject: [PATCH 13/17] [CI] Port remaining non GPU tests to GitHub Actions (#581) * add cleaning step to test_tsvtools pipeline * add test_generate pipeline * add test_predict pipeline * add test_prepare_data pipeline * add test_quality_checks pipeline * add refactoring target branch, cpu tag, and draft PR filter * trigger CI --- .github/workflows/test_generate.yml | 53 +++++++++++++++++++++++ .github/workflows/test_predict.yml | 53 +++++++++++++++++++++++ .github/workflows/test_prepare_data.yml | 53 +++++++++++++++++++++++ .github/workflows/test_quality_checks.yml | 53 +++++++++++++++++++++++ .github/workflows/test_tsvtools.yml | 5 ++- 5 files changed, 216 insertions(+), 1 deletion(-) create mode 100644 .github/workflows/test_generate.yml create mode 100644 .github/workflows/test_predict.yml create mode 100644 .github/workflows/test_prepare_data.yml create mode 100644 .github/workflows/test_quality_checks.yml diff --git a/.github/workflows/test_generate.yml b/.github/workflows/test_generate.yml new file mode 100644 index 000000000..51ac863b2 --- /dev/null +++ b/.github/workflows/test_generate.yml @@ -0,0 +1,53 @@ +name: Generate Tests + +on: + push: + branches: ["dev", "refactoring"] + pull_request: + branches: ["dev", "refactoring"] + +permissions: + contents: read + +concurrency: + group: '${{ github.workflow }} @ ${{ github.event.pull_request.head.label || github.head_ref || github.ref }}' + cancel-in-progress: true + +env: + POETRY_VERSION: '1.8.3' + PYTHON_VERSION: '3.11' + +jobs: + test-generate: + if: github.event.pull_request.draft == false + runs-on: + - self-hosted + - Linux + - ubuntu + - cpu + steps: + - uses: actions/checkout@v4 + - uses: snok/install-poetry@v1 + with: + version: ${{ env.POETRY_VERSION }} + virtualenvs-create: false + - uses: actions/setup-python@v5 + with: + python-version: ${{ env.PYTHON_VERSION }} + - name: Run tests for generate task + run: | + make env.conda + source /builds/miniconda3/etc/profile.d/conda.sh + conda activate "${{ github.workspace }}"/env + make install + cd tests + poetry run pytest --verbose \ + --junitxml=./test-reports/test_generate_report.xml \ + --disable-warnings \ + --verbose \ + --basetemp=$HOME/tmp/generate \ + --input_data_directory=/mnt/data/data_ci \ + test_generate.py + - name: Cleaning + run: | + rm -rf $HOME/tmp/generate diff --git a/.github/workflows/test_predict.yml b/.github/workflows/test_predict.yml new file mode 100644 index 000000000..8ec5976e4 --- /dev/null +++ b/.github/workflows/test_predict.yml @@ -0,0 +1,53 @@ +name: Predict Tests + +on: + push: + branches: ["dev", "refactoring"] + pull_request: + branches: ["dev", "refactoring"] + +permissions: + contents: read + +concurrency: + group: '${{ github.workflow }} @ ${{ github.event.pull_request.head.label || github.head_ref || github.ref }}' + cancel-in-progress: true + +env: + POETRY_VERSION: '1.8.3' + PYTHON_VERSION: '3.11' + +jobs: + test-predict: + if: github.event.pull_request.draft == false + runs-on: + - self-hosted + - Linux + - ubuntu + - cpu + steps: + - uses: actions/checkout@v4 + - uses: snok/install-poetry@v1 + with: + version: ${{ env.POETRY_VERSION }} + virtualenvs-create: false + - uses: actions/setup-python@v5 + with: + python-version: ${{ env.PYTHON_VERSION }} + - name: Run tests for predict task + run: | + make env.conda + source /builds/miniconda3/etc/profile.d/conda.sh + conda activate "${{ github.workspace }}"/env + make install + cd tests + poetry run pytest --verbose \ + --junitxml=./test-reports/test_predict_report.xml \ + --disable-warnings \ + --verbose \ + --basetemp=$HOME/tmp/predict \ + --input_data_directory=/mnt/data/data_ci \ + test_predict.py + - name: Cleaning + run: | + rm -rf $HOME/tmp/predict/* diff --git a/.github/workflows/test_prepare_data.yml b/.github/workflows/test_prepare_data.yml new file mode 100644 index 000000000..8dccd217f --- /dev/null +++ b/.github/workflows/test_prepare_data.yml @@ -0,0 +1,53 @@ +name: Prepare data Tests + +on: + push: + branches: ["dev", "refactoring"] + pull_request: + branches: ["dev", "refactoring"] + +permissions: + contents: read + +concurrency: + group: '${{ github.workflow }} @ ${{ github.event.pull_request.head.label || github.head_ref || github.ref }}' + cancel-in-progress: true + +env: + POETRY_VERSION: '1.8.3' + PYTHON_VERSION: '3.11' + +jobs: + test-prepare-data: + if: github.event.pull_request.draft == false + runs-on: + - self-hosted + - Linux + - ubuntu + - cpu + steps: + - uses: actions/checkout@v4 + - uses: snok/install-poetry@v1 + with: + version: ${{ env.POETRY_VERSION }} + virtualenvs-create: false + - uses: actions/setup-python@v5 + with: + python-version: ${{ env.PYTHON_VERSION }} + - name: Run tests for prepare data task + run: | + make env.conda + source /builds/miniconda3/etc/profile.d/conda.sh + conda activate "${{ github.workspace }}"/env + make install + cd tests + poetry run pytest --verbose \ + --junitxml=./test-reports/test_prepare_data_report.xml \ + --disable-warnings \ + --verbose \ + --basetemp=$HOME/tmp/prepare_data \ + --input_data_directory=/mnt/data/data_ci \ + test_prepare_data.py + - name: Cleaning + run: | + rm -rf $HOME/tmp/prepare_data/* diff --git a/.github/workflows/test_quality_checks.yml b/.github/workflows/test_quality_checks.yml new file mode 100644 index 000000000..1cf0414e2 --- /dev/null +++ b/.github/workflows/test_quality_checks.yml @@ -0,0 +1,53 @@ +name: Quality Check Tests + +on: + push: + branches: ["dev", "refactoring"] + pull_request: + branches: ["dev", "refactoring"] + +permissions: + contents: read + +concurrency: + group: '${{ github.workflow }} @ ${{ github.event.pull_request.head.label || github.head_ref || github.ref }}' + cancel-in-progress: true + +env: + POETRY_VERSION: '1.8.3' + PYTHON_VERSION: '3.11' + +jobs: + test-quality-check: + if: github.event.pull_request.draft == false + runs-on: + - self-hosted + - Linux + - ubuntu + - cpu + steps: + - uses: actions/checkout@v4 + - uses: snok/install-poetry@v1 + with: + version: ${{ env.POETRY_VERSION }} + virtualenvs-create: false + - uses: actions/setup-python@v5 + with: + python-version: ${{ env.PYTHON_VERSION }} + - name: Run tests for Quality Check + run: | + make env.conda + source /builds/miniconda3/etc/profile.d/conda.sh + conda activate "${{ github.workspace }}"/env + make install + cd tests + poetry run pytest --verbose \ + --junitxml=./test-reports/test_quality_check_report.xml \ + --disable-warnings \ + --verbose \ + --basetemp=$HOME/tmp/quality_checks \ + --input_data_directory=/mnt/data/data_ci \ + test_qc.py + - name: Cleaning + run: | + rm -rf $HOME/tmp/quality_checks/* diff --git a/.github/workflows/test_tsvtools.yml b/.github/workflows/test_tsvtools.yml index 5a8c7896a..811c6d4f4 100644 --- a/.github/workflows/test_tsvtools.yml +++ b/.github/workflows/test_tsvtools.yml @@ -45,6 +45,9 @@ jobs: --junitxml=./test-reports/test_tsvtools_report.xml \ --disable-warnings \ --verbose \ - --basetemp=$HOME/tmp \ + --basetemp=$HOME/tmp/tsv_tools \ --input_data_directory=/mnt/data/data_ci \ test_tsvtools.py + - name: Cleaning + run: | + rm -rf $HOME/tmp/tsv_tools/* From c424d77f2273966d89571f5c9a0da08fffc5dff4 Mon Sep 17 00:00:00 2001 From: Gensollen Date: Fri, 24 May 2024 13:07:56 +0200 Subject: [PATCH 14/17] [CI] Remove jenkins related things (#595) --- .jenkins/Jenkinsfile | 258 ---------------------------- .jenkins/scripts/find_env.sh | 39 ----- .jenkins/scripts/generate_wheels.sh | 31 ---- 3 files changed, 328 deletions(-) delete mode 100644 .jenkins/Jenkinsfile delete mode 100755 .jenkins/scripts/find_env.sh delete mode 100755 .jenkins/scripts/generate_wheels.sh diff --git a/.jenkins/Jenkinsfile b/.jenkins/Jenkinsfile deleted file mode 100644 index 033182681..000000000 --- a/.jenkins/Jenkinsfile +++ /dev/null @@ -1,258 +0,0 @@ -#!/usr/bin/env groovy - -// Continuous Integration script for clinicadl -// Author: mauricio.diaz@inria.fr - -pipeline { - options { - timeout(time: 1, unit: 'HOURS') - disableConcurrentBuilds(abortPrevious: true) - } - agent none - stages { - stage('Functional tests') { - failFast false - parallel { - stage('No GPU') { - agent { - label 'cpu' - } - environment { - CONDA_HOME = "$HOME/miniconda" - CONDA_ENV = "$WORKSPACE/env" - PATH = "$HOME/.local/bin:$PATH" - TMP_DIR = "$HOME/tmp" - INPUT_DATA_DIR = '/mnt/data/clinicadl_data_ci/data_ci' - } - stages { - stage('Build Env') { - steps { - echo 'Installing clinicadl sources in Linux...' - echo "My branch name is ${BRANCH_NAME}" - sh "echo 'My branch name is ${BRANCH_NAME}'" - sh 'printenv' - sh "echo 'Agent name: ${NODE_NAME}'" - sh ''' - set +x - source "${CONDA_HOME}/etc/profile.d/conda.sh" - make env.conda - conda activate "${CONDA_ENV}" - conda info - echo "Install clinicadl using poetry..." - cd $WORKSPACE - make env - # Show clinicadl help message - echo "Display clinicadl help message" - clinicadl --help - conda deactivate - ''' - } - } - stage('CLI tests Linux') { - steps { - catchError(buildResult: 'FAILURE', stageResult: 'UNSTABLE') { - echo 'Testing pipeline instantiation...' - sh 'echo "Agent name: ${NODE_NAME}"' - sh ''' - set +x - echo $WORKSPACE - source "${CONDA_HOME}/etc/profile.d/conda.sh" - conda activate "${CONDA_ENV}" - conda list - cd $WORKSPACE/tests - poetry run pytest \ - --junitxml=./test-reports/test_cli_report.xml \ - --verbose \ - --disable-warnings \ - test_cli.py - conda deactivate - ''' - } - } - } - stage('tsvtools tests Linux') { - steps { - catchError(buildResult: 'FAILURE', stageResult: 'UNSTABLE') { - echo 'Testing tsvtool tasks...' - sh "echo 'Agent name: ${NODE_NAME}'" - sh ''' - source "${CONDA_HOME}/etc/profile.d/conda.sh" - conda activate "${CONDA_ENV}" - cd $WORKSPACE/tests - poetry run pytest \ - --junitxml=./test-reports/test_tsvtool_report.xml \ - --verbose \ - --disable-warnings \ - --basetemp=$TMP_DIR \ - --input_data_directory=$INPUT_DATA_DIR \ - test_tsvtools.py - conda deactivate - ''' - } - } - post { - always { - junit 'tests/test-reports/test_tsvtool_report.xml' - } - success { - sh 'rm -rf ${TMP_DIR}/*' - } - } - } - stage('Quality check tests Linux') { - steps { - catchError(buildResult: 'FAILURE', stageResult: 'UNSTABLE') { - echo 'Testing quality check tasks...' - sh "echo 'Agent name: ${NODE_NAME}'" - sh ''' - source "${CONDA_HOME}/etc/profile.d/conda.sh" - conda activate "${CONDA_ENV}" - cd $WORKSPACE/tests - poetry run pytest \ - --junitxml=./test-reports/test_quality_check_report.xml \ - --verbose \ - --disable-warnings \ - --basetemp=$TMP_DIR \ - --input_data_directory=$INPUT_DATA_DIR \ - test_qc.py - conda deactivate - ''' - } - } - post { - always { - junit 'tests/test-reports/test_quality_check_report.xml' - } - success { - sh 'rm -rf ${TMP_DIR}/*' - } - } - } - stage('Generate tests Linux') { - steps { - catchError(buildResult: 'FAILURE', stageResult: 'UNSTABLE') { - echo 'Testing generate task...' - sh "echo 'Agent name: ${NODE_NAME}'" - sh ''' - source "${CONDA_HOME}/etc/profile.d/conda.sh" - conda activate "${CONDA_ENV}" - cd $WORKSPACE/tests - poetry run pytest \ - --junitxml=./test-reports/test_generate_report.xml \ - --verbose \ - --disable-warnings \ - --basetemp=$TMP_DIR \ - --input_data_directory=$INPUT_DATA_DIR \ - test_generate.py - conda deactivate - ''' - } - } - post { - always { - junit 'tests/test-reports/test_generate_report.xml' - } - success { - sh 'rm -rf ${TMP_DIR}/*' - } - } - } - stage('Prepare data tests Linux') { - steps { - catchError(buildResult: 'FAILURE', stageResult: 'UNSTABLE') { - echo 'Testing prepare_data task...' - sh "echo 'Agent name: ${NODE_NAME}'" - sh ''' - source "${CONDA_HOME}/etc/profile.d/conda.sh" - conda activate "${CONDA_ENV}" - cd $WORKSPACE/tests - poetry run pytest \ - --junitxml=./test-reports/test_prepare_data_report.xml \ - --verbose \ - --disable-warnings \ - --basetemp=$TMP_DIR \ - --input_data_directory=$INPUT_DATA_DIR \ - test_prepare_data.py - conda deactivate - ''' - } - } - post { - always { - junit 'tests/test-reports/test_prepare_data_report.xml' - } - success { - sh 'rm -rf ${TMP_DIR}/*' - } - } - } - stage('Predict tests Linux') { - steps { - catchError(buildResult: 'FAILURE', stageResult: 'UNSTABLE') { - echo 'Testing predict...' - sh "echo 'Agent name: ${NODE_NAME}'" - sh ''' - source "${CONDA_HOME}/etc/profile.d/conda.sh" - conda activate "${CONDA_ENV}" - cd $WORKSPACE/tests - poetry run pytest \ - --junitxml=./test-reports/test_predict_report.xml \ - --verbose \ - --disable-warnings \ - --basetemp=$TMP_DIR \ - --input_data_directory=$INPUT_DATA_DIR \ - test_predict.py - conda deactivate - ''' - } - } - post { - always { - junit 'tests/test-reports/test_predict_report.xml' - } - success { - sh 'rm -rf ${TMP_DIR}/*' - } - } - } - // stage('Meta-maps analysis') { - // environment { - // PATH = "$HOME/miniconda3/bin:$HOME/miniconda/bin:$PATH" - // } - // steps { - // echo 'Testing maps-analysis task...' - // sh 'echo "Agent name: ${NODE_NAME}"' - // sh '''#!/usr/bin/env bash - // set +x - // eval "$(conda shell.bash hook)" - // conda activate "${WORKSPACE}/env" - // cd $WORKSPACE/tests - // pytest \ - // --junitxml=./test-reports/test_meta-analysis_report.xml \ - // --verbose \ - // --disable-warnings \ - // test_meta_maps.py - // conda deactivate - // ''' - // } - // post { - // always { - // junit 'tests/test-reports/test_meta-analysis_report.xml' - // sh 'rm -rf $WORKSPACE/tests/data/dataset' - // } - // } - // } - } - post { - // Clean after build - cleanup { - cleanWs(deleteDirs: true, - notFailBuild: true, - patterns: [[pattern: 'env', type: 'INCLUDE']]) - } - } - } - } - } - } -} diff --git a/.jenkins/scripts/find_env.sh b/.jenkins/scripts/find_env.sh deleted file mode 100755 index a68fff821..000000000 --- a/.jenkins/scripts/find_env.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/bin/bash -# A shell script to launch clinica in CI machines - -# Name of the Conda environment according to the branch -CLINICA_ENV_BRANCH="clinicadl_test" - -set -e -set +x - -ENV_EXISTS=0 -# Verify that the conda environment corresponding to the branch exists, otherwise -# create it. -ENVS=$(conda env list | awk '{print $1}' ) -echo $ENVS - -for ENV in $ENVS -do - if [[ "$ENV " == *"$CLINICA_ENV_BRANCH "* ]] - then - echo "Find Conda environment named $ENV, continue." - conda activate $CLINICA_ENV_BRANCH - cd $WORKSPACE/ - poetry install - conda deactivate - ENV_EXISTS=1 - break - fi; -done -if [ "$ENV_EXISTS" = 0 ]; then - echo "Conda env $CLINICA_ENV_BRANCH not found... Creating" - conda create -y -f environment.yml - echo "Conda env $CLINICA_ENV_BRANCH was created." - conda activate $CLINICA_ENV_BRANCH - cd $WORKSPACE/ - poetry install - echo "ClinicaDL has been installed in $CLINICA_ENV_BRANCH." - conda deactivate - cd $WORKSPACE -fi diff --git a/.jenkins/scripts/generate_wheels.sh b/.jenkins/scripts/generate_wheels.sh deleted file mode 100755 index 326d55074..000000000 --- a/.jenkins/scripts/generate_wheels.sh +++ /dev/null @@ -1,31 +0,0 @@ -#! /bin/sh - -#--------------------------------------# -# ClinicaDL package creations ( wheel) -#--------------------------------------# -# -# WARNING: Activate a conda environment with the right pip version. -# Use at your own risk. - - -CURRENT_DIR=$(pwd) -echo $CURRENT_DIR - -# ensure we are in the right dir -SCRIPT_DIR=`(dirname $0)` -cd "$SCRIPT_DIR" -echo "Entering ${SCRIPT_DIR}/../../" -cd "${SCRIPT_DIR}/../../" -ls - -# clean pycache stuff -rm -rf dist build clinicadl.egg-info/ -find -name "*__pycache__*" -exec rm {} \-rf \; -find -name "*.pyc*" -exec rm {} \-rf \; - -set -o errexit -set -e -# generate wheel -poetry build -# come back to directory of -cd $CURRENT_DIR From 52d7561f8b6aab078d6ef2c33a6a9b97ad3e852f Mon Sep 17 00:00:00 2001 From: thibaultdvx <154365476+thibaultdvx@users.noreply.github.com> Date: Thu, 30 May 2024 11:34:05 +0200 Subject: [PATCH 15/17] Add flags to run CI tests locally (#596) --- tests/conftest.py | 19 +++++++++++++++++++ tests/test_train_ae.py | 14 ++++++++++++++ 2 files changed, 33 insertions(+) diff --git a/tests/conftest.py b/tests/conftest.py index 7251b5b8f..e5a4a7302 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -14,10 +14,29 @@ def pytest_addoption(parser): action="store", help="Directory for (only-read) inputs for tests", ) + parser.addoption( + "--no-gpu", + action="store_true", + help="""To run tests on cpu. Default is False. + To use carefully, only to run tests locally. Should not be used in final CI tests. + Concretely, the tests won't fail if gpu option is false in the output MAPS whereas + it is true in the reference MAPS.""", + ) + parser.addoption( + "--adapt-base-dir", + action="store_true", + help="""To virtually change the base directory in the paths stored in the MAPS of the CI data. + Default is False. + To use carefully, only to run tests locally. Should not be used in final CI tests. + Concretely, the tests won't fail if only the base directories differ in the paths stored + in the output and reference MAPS.""", + ) @pytest.fixture def cmdopt(request): config_param = {} config_param["input"] = request.config.getoption("--input_data_directory") + config_param["no-gpu"] = request.config.getoption("--no-gpu") + config_param["adapt-base-dir"] = request.config.getoption("--adapt-base-dir") return config_param diff --git a/tests/test_train_ae.py b/tests/test_train_ae.py index ab9c057ff..311e145d0 100644 --- a/tests/test_train_ae.py +++ b/tests/test_train_ae.py @@ -88,6 +88,9 @@ def test_train_ae(cmdopt, tmp_path, test_name): else: raise NotImplementedError(f"Test {test_name} is not implemented.") + if cmdopt["no-gpu"]: + test_input.append("--no-gpu") + if tmp_out_dir.is_dir(): shutil.rmtree(tmp_out_dir) @@ -101,6 +104,17 @@ def test_train_ae(cmdopt, tmp_path, test_name): if test_name == "patch_multi_ae": json_data_out["multi_network"] = True + if cmdopt["no-gpu"]: + json_data_ref["gpu"] = False + if cmdopt["adapt-base-dir"]: + base_dir = base_dir.resolve() + ref_base_dir = Path(json_data_ref["caps_directory"]).parents[2] + json_data_ref["caps_directory"] = str( + base_dir / Path(json_data_ref["caps_directory"]).relative_to(ref_base_dir) + ) + json_data_ref["tsv_path"] = str( + base_dir / Path(json_data_ref["tsv_path"]).relative_to(ref_base_dir) + ) assert json_data_out == json_data_ref # ["mode"] == mode assert compare_folders( From 39d22fddbdf613ea1b793e6593d8b84d4440db0a Mon Sep 17 00:00:00 2001 From: Gensollen Date: Thu, 30 May 2024 13:43:39 +0200 Subject: [PATCH 16/17] [CI] Remove duplicated verbose flag in test pipelines (#598) --- .github/workflows/test_cli.yml | 2 +- .github/workflows/test_generate.yml | 2 +- .github/workflows/test_interpret.yml | 2 +- .github/workflows/test_predict.yml | 2 +- .github/workflows/test_prepare_data.yml | 2 +- .github/workflows/test_quality_checks.yml | 2 +- .github/workflows/test_random_search.yml | 2 +- .github/workflows/test_resume.yml | 2 +- .github/workflows/test_train.yml | 2 +- .github/workflows/test_transfer_learning.yml | 2 +- .github/workflows/test_tsvtools.yml | 2 +- 11 files changed, 11 insertions(+), 11 deletions(-) diff --git a/.github/workflows/test_cli.yml b/.github/workflows/test_cli.yml index 750f1cd00..802511c9d 100644 --- a/.github/workflows/test_cli.yml +++ b/.github/workflows/test_cli.yml @@ -41,7 +41,7 @@ jobs: conda activate "${{ github.workspace }}"/env make install cd tests - poetry run pytest --verbose \ + poetry run pytest \ --junitxml=./test-reports/test_cli_report.xml \ --disable-warnings \ --verbose \ diff --git a/.github/workflows/test_generate.yml b/.github/workflows/test_generate.yml index 51ac863b2..e0149760f 100644 --- a/.github/workflows/test_generate.yml +++ b/.github/workflows/test_generate.yml @@ -41,7 +41,7 @@ jobs: conda activate "${{ github.workspace }}"/env make install cd tests - poetry run pytest --verbose \ + poetry run pytest \ --junitxml=./test-reports/test_generate_report.xml \ --disable-warnings \ --verbose \ diff --git a/.github/workflows/test_interpret.yml b/.github/workflows/test_interpret.yml index 0163bf583..7cfd9d56b 100644 --- a/.github/workflows/test_interpret.yml +++ b/.github/workflows/test_interpret.yml @@ -41,7 +41,7 @@ jobs: conda activate "${{ github.workspace }}"/env make install cd tests - poetry run pytest --verbose \ + poetry run pytest \ --junitxml=./test-reports/test_interpret_report.xml \ --disable-warnings \ --verbose \ diff --git a/.github/workflows/test_predict.yml b/.github/workflows/test_predict.yml index 8ec5976e4..f12740dac 100644 --- a/.github/workflows/test_predict.yml +++ b/.github/workflows/test_predict.yml @@ -41,7 +41,7 @@ jobs: conda activate "${{ github.workspace }}"/env make install cd tests - poetry run pytest --verbose \ + poetry run pytest \ --junitxml=./test-reports/test_predict_report.xml \ --disable-warnings \ --verbose \ diff --git a/.github/workflows/test_prepare_data.yml b/.github/workflows/test_prepare_data.yml index 8dccd217f..8209b9fa2 100644 --- a/.github/workflows/test_prepare_data.yml +++ b/.github/workflows/test_prepare_data.yml @@ -41,7 +41,7 @@ jobs: conda activate "${{ github.workspace }}"/env make install cd tests - poetry run pytest --verbose \ + poetry run pytest \ --junitxml=./test-reports/test_prepare_data_report.xml \ --disable-warnings \ --verbose \ diff --git a/.github/workflows/test_quality_checks.yml b/.github/workflows/test_quality_checks.yml index 1cf0414e2..701460266 100644 --- a/.github/workflows/test_quality_checks.yml +++ b/.github/workflows/test_quality_checks.yml @@ -41,7 +41,7 @@ jobs: conda activate "${{ github.workspace }}"/env make install cd tests - poetry run pytest --verbose \ + poetry run pytest \ --junitxml=./test-reports/test_quality_check_report.xml \ --disable-warnings \ --verbose \ diff --git a/.github/workflows/test_random_search.yml b/.github/workflows/test_random_search.yml index 529f1fda1..314afc353 100644 --- a/.github/workflows/test_random_search.yml +++ b/.github/workflows/test_random_search.yml @@ -41,7 +41,7 @@ jobs: conda activate "${{ github.workspace }}"/env make install cd tests - poetry run pytest --verbose \ + poetry run pytest \ --junitxml=./test-reports/test_random_search_report.xml \ --disable-warnings \ --verbose \ diff --git a/.github/workflows/test_resume.yml b/.github/workflows/test_resume.yml index b789a21f6..78a229913 100644 --- a/.github/workflows/test_resume.yml +++ b/.github/workflows/test_resume.yml @@ -41,7 +41,7 @@ jobs: conda activate "${{ github.workspace }}"/env make install cd tests - poetry run pytest --verbose \ + poetry run pytest \ --junitxml=./test-reports/test_resume_report.xml \ --disable-warnings \ --verbose \ diff --git a/.github/workflows/test_train.yml b/.github/workflows/test_train.yml index a65a92a56..599725225 100644 --- a/.github/workflows/test_train.yml +++ b/.github/workflows/test_train.yml @@ -41,7 +41,7 @@ jobs: conda activate "${{ github.workspace }}"/env make install cd tests - poetry run pytest --verbose \ + poetry run pytest \ --junitxml=./test-reports/test_train_report.xml \ --disable-warnings \ --verbose \ diff --git a/.github/workflows/test_transfer_learning.yml b/.github/workflows/test_transfer_learning.yml index 61238d4e1..4664a97a3 100644 --- a/.github/workflows/test_transfer_learning.yml +++ b/.github/workflows/test_transfer_learning.yml @@ -41,7 +41,7 @@ jobs: conda activate "${{ github.workspace }}"/env make install cd tests - poetry run pytest --verbose \ + poetry run pytest \ --junitxml=./test-reports/test_transfer_learning_report.xml \ --disable-warnings \ --verbose \ diff --git a/.github/workflows/test_tsvtools.yml b/.github/workflows/test_tsvtools.yml index 811c6d4f4..9f3bfeb02 100644 --- a/.github/workflows/test_tsvtools.yml +++ b/.github/workflows/test_tsvtools.yml @@ -41,7 +41,7 @@ jobs: conda activate "${{ github.workspace }}"/env make install cd tests - poetry run pytest --verbose \ + poetry run pytest \ --junitxml=./test-reports/test_tsvtools_report.xml \ --disable-warnings \ --verbose \ From 571662c4598101fd969158b1d337ff5046974a1d Mon Sep 17 00:00:00 2001 From: Gensollen Date: Thu, 30 May 2024 15:54:16 +0200 Subject: [PATCH 17/17] [DOC] Update the Python version used for creating the conda environment in README (#600) * update python version used for creating conda env in README * investigate * fix --- .github/workflows/test_cli.yml | 2 +- .github/workflows/test_generate.yml | 2 +- .github/workflows/test_interpret.yml | 2 +- .github/workflows/test_predict.yml | 2 +- .github/workflows/test_prepare_data.yml | 2 +- .github/workflows/test_quality_checks.yml | 2 +- .github/workflows/test_random_search.yml | 2 +- .github/workflows/test_resume.yml | 2 +- .github/workflows/test_train.yml | 2 +- .github/workflows/test_transfer_learning.yml | 2 +- .github/workflows/test_tsvtools.yml | 2 +- README.md | 19 +++++++++---------- 12 files changed, 20 insertions(+), 21 deletions(-) diff --git a/.github/workflows/test_cli.yml b/.github/workflows/test_cli.yml index 802511c9d..4efd2b024 100644 --- a/.github/workflows/test_cli.yml +++ b/.github/workflows/test_cli.yml @@ -36,8 +36,8 @@ jobs: python-version: ${{ env.PYTHON_VERSION }} - name: Run CLI tests run: | - make env.conda source /builds/miniconda3/etc/profile.d/conda.sh + make env.conda conda activate "${{ github.workspace }}"/env make install cd tests diff --git a/.github/workflows/test_generate.yml b/.github/workflows/test_generate.yml index e0149760f..8fc54c025 100644 --- a/.github/workflows/test_generate.yml +++ b/.github/workflows/test_generate.yml @@ -36,8 +36,8 @@ jobs: python-version: ${{ env.PYTHON_VERSION }} - name: Run tests for generate task run: | - make env.conda source /builds/miniconda3/etc/profile.d/conda.sh + make env.conda conda activate "${{ github.workspace }}"/env make install cd tests diff --git a/.github/workflows/test_interpret.yml b/.github/workflows/test_interpret.yml index 7cfd9d56b..13db354a9 100644 --- a/.github/workflows/test_interpret.yml +++ b/.github/workflows/test_interpret.yml @@ -36,8 +36,8 @@ jobs: python-version: ${{ env.PYTHON_VERSION }} - name: Run tests for Interpret task on GPU run: | - make env.conda source "${HOME}/miniconda3/etc/profile.d/conda.sh" + make env.conda conda activate "${{ github.workspace }}"/env make install cd tests diff --git a/.github/workflows/test_predict.yml b/.github/workflows/test_predict.yml index f12740dac..e6d790b2a 100644 --- a/.github/workflows/test_predict.yml +++ b/.github/workflows/test_predict.yml @@ -36,8 +36,8 @@ jobs: python-version: ${{ env.PYTHON_VERSION }} - name: Run tests for predict task run: | - make env.conda source /builds/miniconda3/etc/profile.d/conda.sh + make env.conda conda activate "${{ github.workspace }}"/env make install cd tests diff --git a/.github/workflows/test_prepare_data.yml b/.github/workflows/test_prepare_data.yml index 8209b9fa2..753634f76 100644 --- a/.github/workflows/test_prepare_data.yml +++ b/.github/workflows/test_prepare_data.yml @@ -36,8 +36,8 @@ jobs: python-version: ${{ env.PYTHON_VERSION }} - name: Run tests for prepare data task run: | - make env.conda source /builds/miniconda3/etc/profile.d/conda.sh + make env.conda conda activate "${{ github.workspace }}"/env make install cd tests diff --git a/.github/workflows/test_quality_checks.yml b/.github/workflows/test_quality_checks.yml index 701460266..25d1bc752 100644 --- a/.github/workflows/test_quality_checks.yml +++ b/.github/workflows/test_quality_checks.yml @@ -36,8 +36,8 @@ jobs: python-version: ${{ env.PYTHON_VERSION }} - name: Run tests for Quality Check run: | - make env.conda source /builds/miniconda3/etc/profile.d/conda.sh + make env.conda conda activate "${{ github.workspace }}"/env make install cd tests diff --git a/.github/workflows/test_random_search.yml b/.github/workflows/test_random_search.yml index 314afc353..78ddc2df0 100644 --- a/.github/workflows/test_random_search.yml +++ b/.github/workflows/test_random_search.yml @@ -36,8 +36,8 @@ jobs: python-version: ${{ env.PYTHON_VERSION }} - name: Run Random Search tests on GPU run: | - make env.conda source "${HOME}/miniconda3/etc/profile.d/conda.sh" + make env.conda conda activate "${{ github.workspace }}"/env make install cd tests diff --git a/.github/workflows/test_resume.yml b/.github/workflows/test_resume.yml index 78a229913..6d145339b 100644 --- a/.github/workflows/test_resume.yml +++ b/.github/workflows/test_resume.yml @@ -36,8 +36,8 @@ jobs: python-version: ${{ env.PYTHON_VERSION }} - name: Run resume tests on GPU run: | - make env.conda source "${HOME}/miniconda3/etc/profile.d/conda.sh" + make env.conda conda activate "${{ github.workspace }}"/env make install cd tests diff --git a/.github/workflows/test_train.yml b/.github/workflows/test_train.yml index 599725225..b3852bb09 100644 --- a/.github/workflows/test_train.yml +++ b/.github/workflows/test_train.yml @@ -36,8 +36,8 @@ jobs: python-version: ${{ env.PYTHON_VERSION }} - name: Run tests for Train on GPU run: | - make env.conda source "${HOME}/miniconda3/etc/profile.d/conda.sh" + make env.conda conda activate "${{ github.workspace }}"/env make install cd tests diff --git a/.github/workflows/test_transfer_learning.yml b/.github/workflows/test_transfer_learning.yml index 4664a97a3..9a3a583a3 100644 --- a/.github/workflows/test_transfer_learning.yml +++ b/.github/workflows/test_transfer_learning.yml @@ -36,8 +36,8 @@ jobs: python-version: ${{ env.PYTHON_VERSION }} - name: Run tests for Transfer Learning on GPU run: | - make env.conda source "${HOME}/miniconda3/etc/profile.d/conda.sh" + make env.conda conda activate "${{ github.workspace }}"/env make install cd tests diff --git a/.github/workflows/test_tsvtools.yml b/.github/workflows/test_tsvtools.yml index 9f3bfeb02..9e388b8e7 100644 --- a/.github/workflows/test_tsvtools.yml +++ b/.github/workflows/test_tsvtools.yml @@ -36,8 +36,8 @@ jobs: python-version: ${{ env.PYTHON_VERSION }} - name: Run tests for TSV tools run: | - make env.conda source /builds/miniconda3/etc/profile.d/conda.sh + make env.conda conda activate "${{ github.workspace }}"/env make install cd tests diff --git a/README.md b/README.md index 05b5f3a09..dae486a72 100755 --- a/README.md +++ b/README.md @@ -33,34 +33,33 @@ ## About the project This repository hosts ClinicaDL, the deep learning extension of [Clinica](https://github.com/aramis-lab/clinica), -a python library to process neuroimaging data in [BIDS](https://bids.neuroimaging.io/index.html) format. +a Python library to process neuroimaging data in [BIDS](https://bids.neuroimaging.io/index.html) format. > **Disclaimer:** this software is **under development**. Some features can change between different releases and/or commits. -To access the full documentation of the project, follow the link -[https://clinicadl.readthedocs.io/](https://clinicadl.readthedocs.io/). +To access the full documentation of the project, follow the link [https://clinicadl.readthedocs.io/](https://clinicadl.readthedocs.io/). If you find a problem when using it or if you want to provide us feedback, please [open an issue](https://github.com/aramis-lab/ad-dl/issues) or write on the [forum](https://groups.google.com/forum/#!forum/clinica-user). ## Getting started + ClinicaDL currently supports macOS and Linux. We recommend to use `conda` or `virtualenv` for the installation of ClinicaDL -as it guarantees the correct management of libraries depending on common -packages: +as it guarantees the correct management of libraries depending on common packages: ```{.sourceCode .bash} -conda create --name ClinicaDL python=3.8 +conda create --name ClinicaDL python=3.10 conda activate ClinicaDL pip install clinicadl ``` -## Tutorial -Visit our [hands-on tutorial web -site](https://aramislab.paris.inria.fr/clinicadl/tuto) to start -using **ClinicaDL** directly in a Google Colab instance! +## Tutorial + +Visit our [hands-on tutorial web site](https://aramislab.paris.inria.fr/clinicadl/tuto) +to start using **ClinicaDL** directly in a Google Colab instance! ## Related Repositories