ci: drop python/3.9

This commit is contained in:
usov_i 2024-02-27 15:47:54 +01:00 committed by wakonig_k
parent a4adb64f5f
commit d16268ce81
25 changed files with 77 additions and 92 deletions

View File

@ -1,7 +1,7 @@
# This file is a template, and might need editing before it works on your project.
# Official language image. Look for the different tagged releases at:
# https://hub.docker.com/r/library/python/tags/
image: $CI_DOCKER_REGISTRY/python:3.9
image: $CI_DOCKER_REGISTRY/python:3.10
#commands to run in the Docker container before starting each job.
variables:
DOCKER_TLS_CERTDIR: ""
@ -130,9 +130,9 @@ tests:
coverage_format: cobertura
path: coverage.xml
tests-3.10:
tests-3.11:
stage: AdditionalTests
image: $CI_DOCKER_REGISTRY/python:3.10
image: $CI_DOCKER_REGISTRY/python:3.11
needs: ["tests"]
allow_failure: true
script:
@ -145,14 +145,8 @@ tests-3.10:
- *install-bec-services-dev
- pytest -v --junitxml=report.xml --random-order ./data_processing/tests ./bec_lib/tests ./scan_server/tests ./device_server/tests ./scan_bundler/tests ./bec_client/tests/client_tests ./file_writer/tests ./scihub/tests
tests-3.11:
extends: "tests-3.10"
stage: AdditionalTests
image: $CI_DOCKER_REGISTRY/python:3.11
allow_failure: true
tests-3.12:
extends: "tests-3.10"
extends: "tests-3.11"
stage: AdditionalTests
image: $CI_DOCKER_REGISTRY/python:3.12
allow_failure: true
@ -185,17 +179,17 @@ end-2-end:
- git clone --branch $OPHYD_DEVICES_BRANCH https://oauth2:$CI_OPHYD_DEVICES_KEY@gitlab.psi.ch/bec/ophyd_devices.git
# initialize the database with the test config
- docker build -t init_config:test -f ./ci/config_init_dockerfile --build-arg PY_VERSION=3.9 .
- docker build -t init_config:test -f ./ci/config_init_dockerfile --build-arg PY_VERSION=3.10 .
- docker run --network=host --name init_config init_config:test
- docker build -t scihub:test -f ./scihub/Dockerfile --build-arg PY_VERSION=3.9 .
- docker build -t scihub:test -f ./scihub/Dockerfile --build-arg PY_VERSION=3.10 .
- docker run --network=host -d --name scihub scihub:test
# build scan_bundler, scan_server, device_server and file_writer
- docker build -t scan_bundler:test -f ./scan_bundler/Dockerfile --build-arg PY_VERSION=3.9 .
- docker build -t scan_server:test -f ./scan_server/Dockerfile --build-arg PY_VERSION=3.9 .
- docker build -t device_server:test -f ./device_server/Dockerfile --build-arg PY_VERSION=3.9 .
- docker build -t file_writer:test -f ./file_writer/Dockerfile --build-arg PY_VERSION=3.9 .
- docker build -t data_processing:test -f ./data_processing/Dockerfile --build-arg PY_VERSION=3.9 .
- docker build -t scan_bundler:test -f ./scan_bundler/Dockerfile --build-arg PY_VERSION=3.10 .
- docker build -t scan_server:test -f ./scan_server/Dockerfile --build-arg PY_VERSION=3.10 .
- docker build -t device_server:test -f ./device_server/Dockerfile --build-arg PY_VERSION=3.10 .
- docker build -t file_writer:test -f ./file_writer/Dockerfile --build-arg PY_VERSION=3.10 .
- docker build -t data_processing:test -f ./data_processing/Dockerfile --build-arg PY_VERSION=3.10 .
# run scan_bundler, scan_server, device_server and file_writer
- docker run --network=host -d --name device_server device_server:test
@ -205,7 +199,7 @@ end-2-end:
- docker run --network=host -d --name data_processing data_processing:test
# build and run the tests
- docker build -t en2end_client:test -f ./bec_client/tests/Dockerfile --build-arg PY_VERSION=3.9 .
- docker build -t en2end_client:test -f ./bec_client/tests/Dockerfile --build-arg PY_VERSION=3.10 .
- docker run --network=host --name end2end_client en2end_client:test
after_script:
@ -265,7 +259,7 @@ end-2-end-conda:
- apt-get update
- apt-get install -y tmux
- conda config --set always_yes yes --set changeps1 no
- conda create -q -n test-environment python=3.9
- conda create -q -n test-environment python=3.10
- conda init bash
- source ~/.bashrc
- conda activate test-environment
@ -304,13 +298,13 @@ end-2-end-conda:
- if: '$CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "master"'
- if: '$CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "production"'
end-2-end-conda-39:
end-2-end-conda-310:
stage: End2End
needs: []
image: continuumio/miniconda3
allow_failure: false
variables:
PYTHON_VERSION: "3.9"
PYTHON_VERSION: "3.10"
script:
- apt-get update
- apt-get install -y tmux
@ -352,30 +346,23 @@ end-2-end-conda-39:
rules:
- if: '$E2E_FULL == "1"'
end-2-end-conda-310:
stage: End2End
extends: "end-2-end-conda-39"
allow_failure: false
variables:
PYTHON_VERSION: "3.10"
end-2-end-conda-311:
stage: End2End
extends: "end-2-end-conda-39"
extends: "end-2-end-conda-310"
allow_failure: false
variables:
PYTHON_VERSION: "3.11"
end-2-end-conda-312:
stage: End2End
extends: "end-2-end-conda-39"
extends: "end-2-end-conda-310"
allow_failure: false
variables:
PYTHON_VERSION: "3.12"
end-2-end-conda-313:
stage: End2End
extends: "end-2-end-conda-39"
extends: "end-2-end-conda-310"
allow_failure: true
variables:
PYTHON_VERSION: "3.13"
@ -454,4 +441,3 @@ pages:
script:
- curl -X POST -d "branches=$CI_COMMIT_REF_NAME" -d "token=$RTD_TOKEN" https://readthedocs.org/api/v2/webhook/beamline-experiment-control/221870/
- curl -X POST -d "branches=$CI_COMMIT_REF_NAME" -d "token=$RTD_TOKEN_BEC" https://readthedocs.org/api/v2/webhook/bec/246899/

View File

@ -52,7 +52,7 @@ persistent=yes
# Minimum Python version to use for version dependent checks. Will default to
# the version used to run pylint.
py-version=3.9
py-version=3.10
# When enabled, pylint would attempt to guess common misconfiguration and emit
# user-friendly hints instead of false-positive error messages.

View File

@ -9,7 +9,7 @@ version: 2
build:
os: ubuntu-20.04
tools:
python: "3.9"
python: "3.10"
# Build documentation in the docs/ directory with Sphinx
sphinx:

View File

@ -15,7 +15,7 @@ classifiers =
package_dir =
= .
packages = find:
python_requires = >=3.9
python_requires = >=3.10
[options.packages.find]
where = .

View File

@ -1,5 +1,5 @@
# set base image (host OS)
ARG PY_VERSION=3.9
ARG PY_VERSION=3.10
FROM morgana-harbor.psi.ch/bec/python:${PY_VERSION}
# set the working directory in the container

View File

@ -15,7 +15,7 @@ classifiers =
package_dir =
= .
packages = find:
python_requires = >=3.9
python_requires = >=3.10
[options.packages.find]
where = .

View File

@ -15,7 +15,7 @@ classifiers =
package_dir =
= .
packages = find:
python_requires = >=3.9
python_requires = >=3.10
[options.packages.find]
where = .

View File

@ -15,7 +15,7 @@ classifiers =
package_dir =
= .
packages = find:
python_requires = >=3.9
python_requires = >=3.10
[options.packages.find]
where = .

View File

@ -48,7 +48,7 @@ while getopts "hsc:rt" o; do
esac
done
conda_deps=(python=3.9)
conda_deps=(python=3.10)
# check if tmux should be installed
if [ "$skip_tmux" = false ]; then

View File

@ -1,5 +1,5 @@
# set base image (host OS)
ARG PY_VERSION=3.9
ARG PY_VERSION=3.10
FROM morgana-harbor.psi.ch/bec/python:${PY_VERSION}
# set the working directory in the container

View File

@ -1,5 +1,5 @@
# set base image (host OS)
ARG PY_VERSION=3.9
ARG PY_VERSION=3.10
FROM morgana-harbor.psi.ch/bec/python:${PY_VERSION}
# set the working directory in the container

View File

@ -15,7 +15,7 @@ classifiers =
package_dir =
= .
packages = find:
python_requires = >=3.9
python_requires = >=3.10
[options.packages.find]
where = .

View File

@ -1,5 +1,5 @@
# set base image (host OS)
ARG PY_VERSION=3.9
ARG PY_VERSION=3.10
FROM morgana-harbor.psi.ch/bec/python:${PY_VERSION}
# set the working directory in the container

View File

@ -15,7 +15,7 @@ classifiers =
package_dir =
= .
packages = find:
python_requires = >=3.9
python_requires = >=3.10
[options.packages.find]
where = .

View File

@ -146,7 +146,7 @@ classifiers =
package_dir =
= .
packages = find:
python_requires = >=3.9
python_requires = >=3.10
[options.packages.find]
where = .
@ -157,6 +157,3 @@ where = .
``` {note}
While the `setup.py` file can (and probably should) be modified to fit your needs, the `setup.cfg` file and especially the name of the package ("bec_plugins") should not be changed. This is because the BEC services and clients look for plugins in a package called "bec_plugins".
```

View File

@ -12,7 +12,7 @@ In that sense, installing BEC in _[dev]_ mode, is the right choice in case you l
**Requirements:**
---
- [python](https://www.python.org) (>=3.9)
- [python](https://www.python.org) (>=3.10)
- [redis](https://redis.io)
- [tmux](https://github.com/tmux/tmux/wiki) (=3.2)
---
@ -37,10 +37,11 @@ cd bec
2. Satisfy requirements
On PSI-maintained systems with pmodules, you can simply load psi-python39/2021.11 and tmux/3.2 via
On PSI-maintained systems with pmodules, you can simply load psi-python311/2024.02 and tmux/3.2 via
```{code-block} bash
module add psi-python39/2021.11
module use unstable
module add psi-python311/2024.02
module add tmux/3.2
```

View File

@ -8,14 +8,15 @@ If you need to install BEC yourself, the following section will guide you throug
**Requirements:**
---
- [python](https://www.python.org) (>=3.9)
- [python](https://www.python.org) (>=3.10)
- [redis](https://redis.io)
- [tmux](https://github.com/tmux/tmux/wiki) (=3.2)
---
On a PSI-system, requirements are available via pmodules. If you run BEC on your own system, make sure to install the required packages.
```{code-block} bash
module add psi-python39/2021.11
module use unstable
module add psi-python311/2024.02
module add redis/7.0.12
module add tmux/3.2
```

View File

@ -1,5 +1,5 @@
# set base image (host OS)
ARG PY_VERSION=3.9
ARG PY_VERSION=3.10
FROM morgana-harbor.psi.ch/bec/python:${PY_VERSION}
# set the working directory in the container

View File

@ -15,7 +15,7 @@ classifiers =
package_dir =
= .
packages = find:
python_requires = >=3.9
python_requires = >=3.10
[options.packages.find]
where = .

View File

@ -1,5 +1,5 @@
# set base image (host OS)
ARG PY_VERSION=3.9
ARG PY_VERSION=3.10
FROM morgana-harbor.psi.ch/bec/python:${PY_VERSION}
# set the working directory in the container

View File

@ -15,7 +15,7 @@ classifiers =
package_dir =
= .
packages = find:
python_requires = >=3.9
python_requires = >=3.10
[options.packages.find]
where = .

View File

@ -1,5 +1,5 @@
# set base image (host OS)
ARG PY_VERSION=3.9
ARG PY_VERSION=3.10
FROM morgana-harbor.psi.ch/bec/python:${PY_VERSION}
# set the working directory in the container

View File

@ -15,7 +15,7 @@ classifiers =
package_dir =
= .
packages = find:
python_requires = >=3.9
python_requires = >=3.10
[options.packages.find]
where = .

View File

@ -1,5 +1,5 @@
# set base image (host OS)
ARG PY_VERSION=3.9
ARG PY_VERSION=3.10
FROM morgana-harbor.psi.ch/bec/python:${PY_VERSION}
# set the working directory in the container

View File

@ -15,7 +15,7 @@ classifiers =
package_dir =
= .
packages = find:
python_requires = >=3.9
python_requires = >=3.10
[options.packages.find]
where = .