diff --git a/.DEBIAN/requirements-bookworm-12.txt b/.DEBIAN/requirements-bookworm-12.txt new file mode 100644 index 0000000..223c64c --- /dev/null +++ b/.DEBIAN/requirements-bookworm-12.txt @@ -0,0 +1,11 @@ +# https://packages.debian.org/hu/ +fastapi==0.92.0 +uvicorn[standard]==0.17.6 +python-jose[pycryptodome]==3.3.0 +pycryptodome==3.11.0 +python-dateutil==2.8.2 +sqlalchemy==1.4.46 +markdown==3.4.1 +python-dotenv==0.21.0 +jinja2==3.1.2 +httpx==0.23.3 diff --git a/.DEBIAN/requirements-ubuntu-23.04.txt b/.DEBIAN/requirements-ubuntu-23.04.txt new file mode 100644 index 0000000..f2d4b05 --- /dev/null +++ b/.DEBIAN/requirements-ubuntu-23.04.txt @@ -0,0 +1,10 @@ +# https://packages.ubuntu.com +fastapi==0.91.0 +uvicorn[standard]==0.15.0 +python-jose[pycryptodome]==3.3.0 +pycryptodome==3.11.0 +python-dateutil==2.8.2 +sqlalchemy==1.4.46 +markdown==3.4.3 +python-dotenv==0.21.0 +jinja2==3.1.2 diff --git a/.DEBIAN/requirements-ubuntu-23.10.txt b/.DEBIAN/requirements-ubuntu-23.10.txt new file mode 100644 index 0000000..4cab03f --- /dev/null +++ b/.DEBIAN/requirements-ubuntu-23.10.txt @@ -0,0 +1,10 @@ +# https://packages.ubuntu.com +fastapi==0.101.0 +uvicorn[standard]==0.23.2 +python-jose[pycryptodome]==3.3.0 +pycryptodome==3.11.0 +python-dateutil==2.8.2 +sqlalchemy==1.4.47 +markdown==3.4.4 +python-dotenv==1.0.0 +jinja2==3.1.2 diff --git a/.PKGBUILD/PKGBUILD b/.PKGBUILD/PKGBUILD index 3913360..09f606b 100644 --- a/.PKGBUILD/PKGBUILD +++ b/.PKGBUILD/PKGBUILD @@ -12,7 +12,7 @@ depends=('python' 'python-jose' 'python-starlette' 'python-httpx' 'python-fastap provider=("$pkgname") install="$pkgname.install" backup=('etc/default/fastapi-dls') -source=('git+file:///builds/oscar.krause/fastapi-dls' # https://gitea.publichub.eu/oscar.krause/fastapi-dls.git +source=("git+file://${CI_PROJECT_DIR}" "$pkgname.default" "$pkgname.service" "$pkgname.tmpfiles") diff --git a/.codeclimate.yml b/.codeclimate.yml index 09c810c..fd7ed1f 100644 --- a/.codeclimate.yml +++ b/.codeclimate.yml @@ -1,7 +1,9 @@ +version: "2" plugins: bandit: enabled: true sonar-python: enabled: true - pylint: - enabled: true + config: + tests_patterns: + - test/** diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index f065e6d..95debb0 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -126,16 +126,28 @@ build:pacman: - "*.pkg.tar.zst" test: - image: python:3.11-slim-bullseye + image: python:3.11-slim-bookworm stage: test + interruptible: true rules: - - if: $CI_COMMIT_BRANCH + - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH - if: $CI_COMMIT_TAG - if: $CI_PIPELINE_SOURCE == "merge_request_event" + - if: $CI_COMMIT_BRANCH && $CI_COMMIT_BRANCH != $CI_DEFAULT_BRANCH + changes: + - app/**/* + - test/**/* variables: DATABASE: sqlite:///../app/db.sqlite + parallel: + matrix: + - REQUIREMENTS: + - requirements.txt + - .DEBIAN/requirements-bookworm-12.txt + - .DEBIAN/requirements-ubuntu-23.10.txt before_script: - - pip install -r requirements.txt + - apt-get update && apt-get install -y python3-dev gcc + - pip install -r $REQUIREMENTS - pip install pytest httpx - mkdir -p app/cert - openssl genrsa -out app/cert/instance.private.pem 2048 @@ -193,7 +205,7 @@ test:debian: test:ubuntu: extends: .test:linux - image: ubuntu:23.04 + image: ubuntu:23.10 test:archlinux: image: archlinux:base @@ -211,10 +223,13 @@ test:archlinux: - pacman -U --noconfirm *.pkg.tar.zst code_quality: + variables: + SOURCE_CODE: app rules: - if: $CODE_QUALITY_DISABLED when: never - if: $CI_PIPELINE_SOURCE == "merge_request_event" + - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH secret_detection: rules: @@ -229,12 +244,25 @@ semgrep-sast: - if: $SAST_DISABLED when: never - if: $CI_PIPELINE_SOURCE == "merge_request_event" + - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH test_coverage: - extends: test +# extends: test + image: python:3.11-slim-bookworm allow_failure: true + stage: test rules: - if: $CI_PIPELINE_SOURCE == "merge_request_event" + variables: + DATABASE: sqlite:///../app/db.sqlite + before_script: + - apt-get update && apt-get install -y python3-dev gcc + - pip install -r requirements.txt + - pip install pytest httpx + - mkdir -p app/cert + - openssl genrsa -out app/cert/instance.private.pem 2048 + - openssl rsa -in app/cert/instance.private.pem -outform PEM -pubout -out app/cert/instance.public.pem + - cd test script: - pip install pytest pytest-cov - coverage run -m pytest main.py @@ -259,6 +287,7 @@ gemnasium-python-dependency_scanning: - if: $DEPENDENCY_SCANNING_DISABLED when: never - if: $CI_PIPELINE_SOURCE == "merge_request_event" + - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH .deploy: rules: diff --git a/README.md b/README.md index 34b02fc..8f7ffea 100644 --- a/README.md +++ b/README.md @@ -104,8 +104,8 @@ volumes: ## Debian/Ubuntu/macOS (manual method using `git clone` and python virtual environment) -Tested on `Debian 11 (bullseye)` and `macOS Ventura (13.6)`, Ubuntu may also work. **Please note that setup on macOS -differs from Debian based systems.** +Tested on `Debian 11 (bullseye)`, `Debian 12 (bookworm)` and `macOS Ventura (13.6)`, Ubuntu may also work. +**Please note that setup on macOS differs from Debian based systems.** **Make sure you are logged in as root.** @@ -318,8 +318,9 @@ Packages are available here: Successful tested with: - Debian 12 (Bookworm) -- Ubuntu 22.10 (Kinetic Kudu) (EOL!) -- Ubuntu 23.04 (Lunar) +- Ubuntu 22.10 (Kinetic Kudu) (EOL: July 20, 2023) +- Ubuntu 23.04 (Lunar Lobster) (EOL: January 2024) +- Ubuntu 23.10 (Mantic Minotaur) (EOL: July 2024) Not working with: @@ -427,8 +428,10 @@ Successfully tested with this package versions: | vGPU Suftware | Linux vGPU Manager | Linux Driver | Windows Driver | Release Date | |---------------|--------------------|--------------|----------------|---------------| -| `16.1` | `535.54.06` | `535.54.03` | `536.25` | August 2023 | -| `16.0` | `535.104.06` | `535.104.05` | `537.13` | July 2023 | +| `16.3` | `535.154.02` | `535.154.05` | `538.15` | January 2024 | +| `16.2` | `535.129.03` | `535.129.03` | `537.70` | October 2023 | +| `16.1` | `535.104.06` | `535.104.05` | `537.13` | August 2023 | +| `16.0` | `535.54.06` | `535.54.03` | `536.22` | July 2023 | | `15.3` | `525.125.03` | `525.125.06` | `529.11` | June 2023 | | `15.2` | `525.105.14` | `525.105.17` | `528.89` | March 2023 | | `15.1` | `525.85.07` | `525.85.05` | `528.24` | January 2023 | @@ -438,6 +441,11 @@ Successfully tested with this package versions: - https://docs.nvidia.com/grid/index.html +*To get the latest drivers, visit Nvidia or search in Discord-Channel `GPU Unlocking` (Server-ID: `829786927829745685`) on channel `licensing` `biggerthanshit` + + +https://archive.biggerthanshit.com/NVIDIA/ (nvidia / b1gg3rth4nsh1t) + ## Linux Download *client-token* and place it into `/etc/nvidia/ClientConfigToken`: diff --git a/requirements.txt b/requirements.txt index 4178b56..6eea61c 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,8 +1,8 @@ -fastapi==0.103.1 -uvicorn[standard]==0.23.2 +fastapi==0.110.0 +uvicorn[standard]==0.27.1 python-jose==3.3.0 -pycryptodome==3.19.0 +pycryptodome==3.20.0 python-dateutil==2.8.2 -sqlalchemy==2.0.21 -markdown==3.4.4 -python-dotenv==1.0.0 +sqlalchemy==2.0.27 +markdown==3.5.2 +python-dotenv==1.0.1