diff --git a/.DEBIAN/requirements-ubuntu-24.10.txt b/.DEBIAN/requirements-ubuntu-24.10.txt new file mode 100644 index 0000000..7a65314 --- /dev/null +++ b/.DEBIAN/requirements-ubuntu-24.10.txt @@ -0,0 +1,10 @@ +# https://packages.ubuntu.com +fastapi==0.110.3 +uvicorn[standard]==0.30.3 +python-jose[pycryptodome]==3.3.0 +pycryptodome==3.20.0 +python-dateutil==2.9.0 +sqlalchemy==2.0.32 +markdown==3.6 +python-dotenv==1.0.1 +jinja2==3.1.3 diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index ab9af20..e78a956 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -141,14 +141,21 @@ test: DATABASE: sqlite:///../app/db.sqlite parallel: matrix: - - IMAGE: [ 'python:3.11-slim-bookworm', 'python:3.12-slim-bullseye' ] - REQUIREMENTS: - - requirements.txt - - .DEBIAN/requirements-bookworm-12.txt - - .DEBIAN/requirements-ubuntu-23.10.txt - - .DEBIAN/requirements-ubuntu-24.04.txt + - IMAGE: [ 'python:3.12-slim-bookworm' ] + REQUIREMENTS: [ 'requirements.txt' ] + - IMAGE: [ 'debian:bookworm' ] + REQUIREMENTS: [ '.DEBIAN/requirements-bookworm-12.txt' ] + - IMAGE: [ 'ubuntu:23.10' ] + REQUIREMENTS: [ '.DEBIAN/requirements-ubuntu-23.10.txt' ] + - IMAGE: [ 'ubuntu:24.04' ] + REQUIREMENTS: [ '.DEBIAN/requirements-ubuntu-24.04.txt' ] + - IMAGE: [ 'ubuntu:24.10' ] + REQUIREMENTS: [ '.DEBIAN/requirements-ubuntu-24.10.txt' ] before_script: - - apt-get update && apt-get install -y python3-dev gcc + - apt-get update && apt-get install -y python3-dev python3-pip python3-venv gcc + - python3 -m venv venv + - source venv/bin/activate + - pip install --upgrade pip - pip install -r $REQUIREMENTS - pip install pytest httpx - mkdir -p app/cert @@ -162,7 +169,7 @@ test: dotenv: version.env junit: ['**/report.xml'] -.test:linux: +.test:apt: stage: test rules: - if: $CI_COMMIT_BRANCH && $CI_COMMIT_BRANCH != $CI_DEFAULT_BRANCH @@ -201,15 +208,15 @@ test: - apt-get purge -qq -y fastapi-dls - apt-get autoremove -qq -y && apt-get clean -qq -test:debian: - extends: .test:linux +test:apt:debian: + extends: .test:apt image: debian:bookworm-slim -test:ubuntu: - extends: .test:linux +test:apt:ubuntu: + extends: .test:apt image: ubuntu:24.04 -test:archlinux: +test:pacman:archlinux: image: archlinux:base rules: - if: $CI_COMMIT_BRANCH && $CI_COMMIT_BRANCH != $CI_DEFAULT_BRANCH @@ -250,7 +257,7 @@ semgrep-sast: test_coverage: # extends: test - image: python:3.11-slim-bookworm + image: python:3.12-slim-bookworm allow_failure: true stage: test rules: diff --git a/Dockerfile b/Dockerfile index 7d2e448..4f1b1d0 100644 --- a/Dockerfile +++ b/Dockerfile @@ -10,7 +10,7 @@ RUN apk update \ && apk add --no-cache --virtual build-deps gcc g++ python3-dev musl-dev pkgconfig \ && apk add --no-cache curl postgresql postgresql-dev mariadb-dev sqlite-dev \ && pip install --no-cache-dir --upgrade uvicorn \ - && pip install --no-cache-dir psycopg2==2.9.9 mysqlclient==2.2.4 pysqlite3==0.5.2 \ + && pip install --no-cache-dir psycopg2==2.9.10 mysqlclient==2.2.6 pysqlite3==0.5.4 \ && pip install --no-cache-dir -r /tmp/requirements.txt \ && apk del build-deps diff --git a/requirements.txt b/requirements.txt index ca92baf..1fb4868 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,4 +1,4 @@ -fastapi==0.115.3 +fastapi==0.115.5 uvicorn[standard]==0.32.0 python-jose==3.3.0 pycryptodome==3.21.0