From 07c890a92603ee9cafae1c8220c93f4f5bdb5929 Mon Sep 17 00:00:00 2001 From: Jan-David Wiederstein Date: Wed, 11 Jun 2025 16:52:35 +0000 Subject: [PATCH 01/28] fix readme --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 984e2f9..9a6b68e 100644 --- a/README.md +++ b/README.md @@ -1,2 +1 @@ # python-demo -# python-demo From b3a3906be95d129cb7300ffb9503b852030e41ab Mon Sep 17 00:00:00 2001 From: Jan-David Wiederstein Date: Wed, 11 Jun 2025 17:23:04 +0000 Subject: [PATCH 02/28] fix readme --- README.md | 2 +- ci.yml | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 9a6b68e..67f1d82 100644 --- a/README.md +++ b/README.md @@ -1 +1 @@ -# python-demo +# python-demo test diff --git a/ci.yml b/ci.yml index 0c5dac3..60d3a45 100644 --- a/ci.yml +++ b/ci.yml @@ -12,8 +12,8 @@ prepare: - name: copy template .env file command: cp -n .env.sample .env - name: "set ev vars " - command: . .env && export $CS_TOKEN && cs set-env -w $CODESPHERE_APP_ID -t - $TEAM_ID --env-var UV_CACHE_DIR=$PWD/.codesphere-internal/.uv --env-var + command: . .env && cs set-env -w $WORKSPACE_ID -t $TEAM_ID --env-var + UV_CACHE_DIR=$PWD/.codesphere-internal/.uv --env-var UV_PYTHON_CACHE_DIR=$PWD/.codesphere-internal/.uv-python - name: install frontend environment command: cd frontend && uv sync From 4228588d79723aa5a689a3c0fe179c6d7cc9b206 Mon Sep 17 00:00:00 2001 From: Jan-David Wiederstein <141321444+Datata1@users.noreply.github.com> Date: Wed, 11 Jun 2025 19:26:34 +0200 Subject: [PATCH 03/28] Update preview-deployment.yml --- .github/workflows/preview-deployment.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/preview-deployment.yml b/.github/workflows/preview-deployment.yml index 0d539ad..57e9c45 100644 --- a/.github/workflows/preview-deployment.yml +++ b/.github/workflows/preview-deployment.yml @@ -13,8 +13,8 @@ permissions: deployments: write env: - ON_DEMAND='true' - WORKSPACE_PLAN='Boost' + ON_DEMAND: 'true' + WORKSPACE_PLAN=: 'Boost' jobs: deploy: From 41f5b167dab74165ef3d52c32ee469fe94e1f5ef Mon Sep 17 00:00:00 2001 From: Jan-David Wiederstein <141321444+Datata1@users.noreply.github.com> Date: Wed, 11 Jun 2025 19:26:48 +0200 Subject: [PATCH 04/28] Update backend-app.yml --- .github/workflows/backend-app.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/backend-app.yml b/.github/workflows/backend-app.yml index 7415192..e2c8b8e 100644 --- a/.github/workflows/backend-app.yml +++ b/.github/workflows/backend-app.yml @@ -1,4 +1,4 @@ -name: Python server tests +name: Python backend server tests on: pull_request: From 136cc2430595abd5d8d7b5a81a7f72128780907b Mon Sep 17 00:00:00 2001 From: Jan-David Wiederstein <141321444+Datata1@users.noreply.github.com> Date: Wed, 11 Jun 2025 19:27:00 +0200 Subject: [PATCH 05/28] Update frontend-app.yml --- .github/workflows/frontend-app.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/frontend-app.yml b/.github/workflows/frontend-app.yml index dea33f5..6a75ef9 100644 --- a/.github/workflows/frontend-app.yml +++ b/.github/workflows/frontend-app.yml @@ -1,4 +1,4 @@ -name: Python server tests +name: Python frontend server tests on: pull_request: From 318a22518d4e3dd12cf47031216425ef0956909e Mon Sep 17 00:00:00 2001 From: Jan-David Wiederstein <141321444+Datata1@users.noreply.github.com> Date: Wed, 11 Jun 2025 19:36:23 +0200 Subject: [PATCH 06/28] Update preview-deployment.yml --- .github/workflows/preview-deployment.yml | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/.github/workflows/preview-deployment.yml b/.github/workflows/preview-deployment.yml index 57e9c45..a098db0 100644 --- a/.github/workflows/preview-deployment.yml +++ b/.github/workflows/preview-deployment.yml @@ -12,10 +12,6 @@ permissions: pull-requests: read deployments: write -env: - ON_DEMAND: 'true' - WORKSPACE_PLAN=: 'Boost' - jobs: deploy: concurrency: codesphere @@ -32,5 +28,5 @@ jobs: email: ${{ secrets.CODESPHERE_EMAIL }} password: ${{ secrets.CODESPHERE_PASSWORD }} team: ${{ secrets.CODESPHERE_TEAM }} - plan: $WORKSPACE_PLAN - onDemand: $ON_DEMAND + plan: 'Boost' + onDemand: 'true' From 8524637c88471fedb2767b13566e1213d1114bf1 Mon Sep 17 00:00:00 2001 From: Jan-David Wiederstein <141321444+Datata1@users.noreply.github.com> Date: Thu, 12 Jun 2025 11:44:11 +0200 Subject: [PATCH 07/28] Update backend-app.yml --- .github/workflows/backend-app.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/backend-app.yml b/.github/workflows/backend-app.yml index e2c8b8e..7182d74 100644 --- a/.github/workflows/backend-app.yml +++ b/.github/workflows/backend-app.yml @@ -5,7 +5,7 @@ on: types: [opened, synchronize, reopened, ready_for_review, draft] paths: - 'server/**' - - '.github/workflows/python-app.yml' + - '.github/workflows/backend-app.yml' permissions: contents: write From 689709dc188eb014d3c9d08aa561da0f75d5e286 Mon Sep 17 00:00:00 2001 From: Jan-David Wiederstein <141321444+Datata1@users.noreply.github.com> Date: Thu, 12 Jun 2025 11:44:23 +0200 Subject: [PATCH 08/28] Update frontend-app.yml --- .github/workflows/frontend-app.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/frontend-app.yml b/.github/workflows/frontend-app.yml index 6a75ef9..024ee6f 100644 --- a/.github/workflows/frontend-app.yml +++ b/.github/workflows/frontend-app.yml @@ -5,7 +5,7 @@ on: types: [opened, synchronize, reopened, ready_for_review, draft] paths: - 'server/**' - - '.github/workflows/python-app.yml' + - '.github/workflows/frontend-app.yml' permissions: contents: write From 2bf476ed7dce34f4734d31d96964352b057f945e Mon Sep 17 00:00:00 2001 From: Jan-David Wiederstein <141321444+Datata1@users.noreply.github.com> Date: Thu, 12 Jun 2025 11:48:20 +0200 Subject: [PATCH 09/28] Update backend-app.yml --- .github/workflows/backend-app.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/backend-app.yml b/.github/workflows/backend-app.yml index 550d01b..dab373b 100644 --- a/.github/workflows/backend-app.yml +++ b/.github/workflows/backend-app.yml @@ -4,7 +4,7 @@ on: pull_request: types: [opened, synchronize, reopened, ready_for_review, draft] paths: - - 'server/**' + - 'backend/**' - '.github/workflows/backend-app.yml' permissions: @@ -37,10 +37,10 @@ jobs: - name: Install dependencies using uv run: | - cd server && uv sync + cd backend && uv sync shell: bash - - name: Run Bandit security check on server code + - name: Run Bandit security check on backend code id: bandit_check run: | echo "Running Bandit security check..." @@ -104,9 +104,9 @@ jobs: if: github.event_name == 'pull_request' && always() uses: MishaKav/pytest-coverage-comment@main with: - pytest-xml-coverage-path: server/coverage.xml - pytest-coverage-path: server/pytest-coverage.txt - junitxml-path: server/junit/test-results.xml + pytest-xml-coverage-path: backend/coverage.xml + pytest-coverage-path: backend/pytest-coverage.txt + junitxml-path: backend/junit/test-results.xml title: Pytest Coverage Report junitxml-title: Test Execution Summary From bd9666d5b3e2f31e39a6e8a3ffc18ee437ae522c Mon Sep 17 00:00:00 2001 From: Jan-David Wiederstein <141321444+Datata1@users.noreply.github.com> Date: Thu, 12 Jun 2025 11:49:05 +0200 Subject: [PATCH 10/28] Update frontend-app.yml --- .github/workflows/frontend-app.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/frontend-app.yml b/.github/workflows/frontend-app.yml index 1abb1c2..0497270 100644 --- a/.github/workflows/frontend-app.yml +++ b/.github/workflows/frontend-app.yml @@ -4,7 +4,7 @@ on: pull_request: types: [opened, synchronize, reopened, ready_for_review, draft] paths: - - 'server/**' + - 'frontend/**' - '.github/workflows/frontend-app.yml' permissions: @@ -37,7 +37,7 @@ jobs: - name: Install dependencies using uv run: | - cd server && uv sync + cd frontend && uv sync shell: bash - name: Run Bandit security check on server code @@ -104,9 +104,9 @@ jobs: if: github.event_name == 'pull_request' && always() uses: MishaKav/pytest-coverage-comment@main with: - pytest-xml-coverage-path: server/coverage.xml - pytest-coverage-path: server/pytest-coverage.txt - junitxml-path: server/junit/test-results.xml + pytest-xml-coverage-path: frontend/coverage.xml + pytest-coverage-path: frontend/pytest-coverage.txt + junitxml-path: frontend/junit/test-results.xml title: Pytest Coverage Report junitxml-title: Test Execution Summary From 181085b8fb98a5024047067428101306078fe0b6 Mon Sep 17 00:00:00 2001 From: Jan-David Wiederstein <141321444+Datata1@users.noreply.github.com> Date: Thu, 12 Jun 2025 11:52:29 +0200 Subject: [PATCH 11/28] Update backend-app.yml --- .github/workflows/backend-app.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/backend-app.yml b/.github/workflows/backend-app.yml index dab373b..faed809 100644 --- a/.github/workflows/backend-app.yml +++ b/.github/workflows/backend-app.yml @@ -61,7 +61,7 @@ jobs: COMMENT_BODY_FILE="bandit-comment-body.md" echo "COMMENT_BODY_FILE=${COMMENT_BODY_FILE}" >> $GITHUB_ENV - echo "### 🛡️ Bandit Security Scan Results" > $COMMENT_BODY_FILE + echo "### 🛡️ Bandit Backend Security Scan Results" > $COMMENT_BODY_FILE echo "" >> $COMMENT_BODY_FILE echo "" >> $COMMENT_BODY_FILE echo "" >> $COMMENT_BODY_FILE @@ -81,7 +81,7 @@ jobs: with: issue-number: ${{ github.event.pull_request.number }} comment-author: 'github-actions[bot]' - body-includes: Bandit Security Scan Results + body-includes: Bandit Backend Security Scan Results - name: Post Bandit results as PR comment if: github.event_name == 'pull_request' && always() @@ -107,7 +107,7 @@ jobs: pytest-xml-coverage-path: backend/coverage.xml pytest-coverage-path: backend/pytest-coverage.txt junitxml-path: backend/junit/test-results.xml - title: Pytest Coverage Report + title: Pytest Coverage Report - Backend junitxml-title: Test Execution Summary - name: Minimize uv cache From b7782fba308e96d9336af6d88c17c819bb8aac98 Mon Sep 17 00:00:00 2001 From: Jan-David Wiederstein <141321444+Datata1@users.noreply.github.com> Date: Thu, 12 Jun 2025 11:53:12 +0200 Subject: [PATCH 12/28] Update frontend-app.yml --- .github/workflows/frontend-app.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/frontend-app.yml b/.github/workflows/frontend-app.yml index 0497270..33fc8f5 100644 --- a/.github/workflows/frontend-app.yml +++ b/.github/workflows/frontend-app.yml @@ -61,7 +61,7 @@ jobs: COMMENT_BODY_FILE="bandit-comment-body.md" echo "COMMENT_BODY_FILE=${COMMENT_BODY_FILE}" >> $GITHUB_ENV - echo "### 🛡️ Bandit Security Scan Results" > $COMMENT_BODY_FILE + echo "### 🛡️ Bandit Frontend Security Scan Results" > $COMMENT_BODY_FILE echo "" >> $COMMENT_BODY_FILE echo "" >> $COMMENT_BODY_FILE echo "" >> $COMMENT_BODY_FILE @@ -81,7 +81,7 @@ jobs: with: issue-number: ${{ github.event.pull_request.number }} comment-author: 'github-actions[bot]' - body-includes: Bandit Security Scan Results + body-includes: Bandit Frontend Security Scan Results - name: Post Bandit results as PR comment if: github.event_name == 'pull_request' && always() @@ -107,7 +107,7 @@ jobs: pytest-xml-coverage-path: frontend/coverage.xml pytest-coverage-path: frontend/pytest-coverage.txt junitxml-path: frontend/junit/test-results.xml - title: Pytest Coverage Report + title: Pytest Coverage Report - Frontend junitxml-title: Test Execution Summary - name: Minimize uv cache From a5229c3e3e0554291eb2aa3c24786db50b7aa360 Mon Sep 17 00:00:00 2001 From: Jan-David Wiederstein Date: Thu, 12 Jun 2025 09:41:21 +0000 Subject: [PATCH 13/28] change uv installation method --- ci.yml | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/ci.yml b/ci.yml index 60d3a45..6495a2a 100644 --- a/ci.yml +++ b/ci.yml @@ -1,14 +1,16 @@ schemaVersion: v0.2 prepare: steps: - - name: install nix dependencies - command: nix-env -iA nixpkgs.uv - name: install Codesphere cli tool command: mkdir -p $HOME/.local/bin && wget -qO- 'https://api.github.com/repos/codesphere-cloud/cs-go/releases/latest' | grep linux_amd64 | grep browser_download_url | sed s/.*https/https/ | sed s/\".*$// | xargs wget -O $HOME/.local/bin/cs && chmod +x $HOME/.local/bin/cs + - name: install uv standalone version + command: curl -LsSf https://astral.sh/uv/install.sh | env + UV_INSTALL_DIR="$HOME/.local/bin/uv" sh && chmod +x $HOME/.local/bin/uv + && chmod +x $HOME/.local/bin/uvx - name: copy template .env file command: cp -n .env.sample .env - name: "set ev vars " @@ -16,9 +18,9 @@ prepare: UV_CACHE_DIR=$PWD/.codesphere-internal/.uv --env-var UV_PYTHON_CACHE_DIR=$PWD/.codesphere-internal/.uv-python - name: install frontend environment - command: cd frontend && uv sync + command: cd frontend && uv venv && uv sync - name: install backend environment - command: "cd backend && uv sync " + command: "cd backend && uv venv && uv sync " test: steps: - name: test frontend From 6780ca2d359fd35d7c342d43b3b62fe260cb59cf Mon Sep 17 00:00:00 2001 From: Jan-David Wiederstein Date: Thu, 12 Jun 2025 10:01:27 +0000 Subject: [PATCH 14/28] ci.yml --- ci.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/ci.yml b/ci.yml index 6495a2a..836a96f 100644 --- a/ci.yml +++ b/ci.yml @@ -10,7 +10,6 @@ prepare: - name: install uv standalone version command: curl -LsSf https://astral.sh/uv/install.sh | env UV_INSTALL_DIR="$HOME/.local/bin/uv" sh && chmod +x $HOME/.local/bin/uv - && chmod +x $HOME/.local/bin/uvx - name: copy template .env file command: cp -n .env.sample .env - name: "set ev vars " From 38e2a4563987db2d60b353451e2cd386eba48b22 Mon Sep 17 00:00:00 2001 From: Jan-David Wiederstein <141321444+Datata1@users.noreply.github.com> Date: Thu, 12 Jun 2025 12:08:59 +0200 Subject: [PATCH 15/28] Update preview-deployment.yml --- .github/workflows/preview-deployment.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/preview-deployment.yml b/.github/workflows/preview-deployment.yml index a098db0..c955972 100644 --- a/.github/workflows/preview-deployment.yml +++ b/.github/workflows/preview-deployment.yml @@ -29,4 +29,7 @@ jobs: password: ${{ secrets.CODESPHERE_PASSWORD }} team: ${{ secrets.CODESPHERE_TEAM }} plan: 'Boost' - onDemand: 'true' + onDemand: 'true' + env: | + TEAM_ID=${{ secrets.CODESPHERE_TEAM_ID }} + CS_TOKEN=${{ secrets.CODESPHERE_TOKEN }} From 7b4d337c411ebe862c16f5ec9e80050a68a280c5 Mon Sep 17 00:00:00 2001 From: Jan-David Wiederstein Date: Thu, 12 Jun 2025 11:14:51 +0000 Subject: [PATCH 16/28] changes to ci.yml --- .env.sample | 4 +- .gitignore | 5 +++ backend/.gitignore | 5 ++- backend/pyproject.toml | 1 + .../test_app.cpython-312-pytest-8.4.0.pyc | Bin 8122 -> 0 bytes backend/tests/conftest.py | 0 backend/uv.lock | 25 +++++++++++++ ci.yml | 35 ++++++++++-------- frontend/.gitignore | 5 ++- frontend/main.py | 2 +- frontend/pyproject.toml | 1 + .../conftest.cpython-310-pytest-8.4.0.pyc | Bin 134 -> 0 bytes .../test_main.cpython-310-pytest-8.4.0.pyc | Bin 2287 -> 0 bytes frontend/tests/conftest.py | 0 frontend/uv.lock | 25 +++++++++++++ 15 files changed, 87 insertions(+), 21 deletions(-) delete mode 100644 backend/tests/__pycache__/test_app.cpython-312-pytest-8.4.0.pyc delete mode 100644 backend/tests/conftest.py delete mode 100644 frontend/tests/__pycache__/conftest.cpython-310-pytest-8.4.0.pyc delete mode 100644 frontend/tests/__pycache__/test_main.cpython-310-pytest-8.4.0.pyc delete mode 100644 frontend/tests/conftest.py diff --git a/.env.sample b/.env.sample index dc3b2fe..9dc3da9 100644 --- a/.env.sample +++ b/.env.sample @@ -1,3 +1,3 @@ # set API TOKEN so that the cli is authorized to use the public api -CS_TOKEN= -TEAM_ID= \ No newline at end of file +export CS_TOKEN= +export TEAM_ID= \ No newline at end of file diff --git a/.gitignore b/.gitignore index 34e3c93..6c76b6d 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,8 @@ .env +env +env.fish .github/* + +uv +uvx \ No newline at end of file diff --git a/backend/.gitignore b/backend/.gitignore index f77e0d5..0de087e 100644 --- a/backend/.gitignore +++ b/backend/.gitignore @@ -3,4 +3,7 @@ coverage.xml pytest-coverage.txt .coverage -__pycache__/* \ No newline at end of file +__pycache__/* +tests/__pycache__/* + +bandit-results.txt \ No newline at end of file diff --git a/backend/pyproject.toml b/backend/pyproject.toml index a5fac2c..b8ab3f4 100644 --- a/backend/pyproject.toml +++ b/backend/pyproject.toml @@ -9,6 +9,7 @@ dependencies = [ "numpy>=2.3.0", "pandas>=2.3.0", "pytest-cov>=6.1.1", + "pytest-profiling>=1.8.1", ] [dependency-groups] diff --git a/backend/tests/__pycache__/test_app.cpython-312-pytest-8.4.0.pyc b/backend/tests/__pycache__/test_app.cpython-312-pytest-8.4.0.pyc deleted file mode 100644 index 77488fd9c7bce8910d0434dbca198ba00ef77300..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8122 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 N_xby9{FyVse*vfk>y`ij diff --git a/backend/tests/conftest.py b/backend/tests/conftest.py deleted file mode 100644 index e69de29..0000000 diff --git a/backend/uv.lock b/backend/uv.lock index a622367..7a3940b 100644 --- a/backend/uv.lock +++ b/backend/uv.lock @@ -34,6 +34,7 @@ dependencies = [ { name = "numpy" }, { name = "pandas" }, { name = "pytest-cov" }, + { name = "pytest-profiling" }, ] [package.dev-dependencies] @@ -48,6 +49,7 @@ requires-dist = [ { name = "numpy", specifier = ">=2.3.0" }, { name = "pandas", specifier = ">=2.3.0" }, { name = "pytest-cov", specifier = ">=6.1.1" }, + { name = "pytest-profiling", specifier = ">=1.8.1" }, ] [package.metadata.requires-dev] @@ -214,6 +216,15 @@ standard = [ { name = "uvicorn", extra = ["standard"] }, ] +[[package]] +name = "gprof2dot" +version = "2025.4.14" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/bb/fd/cad13fa1f7a463a607176432c4affa33ea162f02f58cc36de1d40d3e6b48/gprof2dot-2025.4.14.tar.gz", hash = "sha256:35743e2d2ca027bf48fa7cba37021aaf4a27beeae1ae8e05a50b55f1f921a6ce", size = 39536, upload-time = "2025-04-14T07:21:45.76Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/71/ed/89d760cb25279109b89eb52975a7b5479700d3114a2421ce735bfb2e7513/gprof2dot-2025.4.14-py3-none-any.whl", hash = "sha256:0742e4c0b4409a5e8777e739388a11e1ed3750be86895655312ea7c20bd0090e", size = 37555, upload-time = "2025-04-14T07:21:43.319Z" }, +] + [[package]] name = "h11" version = "0.16.0" @@ -636,6 +647,20 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/28/d0/def53b4a790cfb21483016430ed828f64830dd981ebe1089971cd10cab25/pytest_cov-6.1.1-py3-none-any.whl", hash = "sha256:bddf29ed2d0ab6f4df17b4c55b0a657287db8684af9c42ea546b21b1041b3dde", size = 23841, upload-time = "2025-04-05T14:07:49.641Z" }, ] +[[package]] +name = "pytest-profiling" +version = "1.8.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "gprof2dot" }, + { name = "pytest" }, + { name = "six" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/44/74/806cafd6f2108d37979ec71e73b2ff7f7db88eabd19d3b79c5d6cc229c36/pytest-profiling-1.8.1.tar.gz", hash = "sha256:3f171fa69d5c82fa9aab76d66abd5f59da69135c37d6ae5bf7557f1b154cb08d", size = 33135, upload-time = "2024-11-29T19:34:13.85Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e3/ac/c428c66241a144617a8af7a28e2e055e1438d23b949b62ac4b401a69fb79/pytest_profiling-1.8.1-py3-none-any.whl", hash = "sha256:3dd8713a96298b42d83de8f5951df3ada3e61b3e5d2a06956684175529e17aea", size = 9929, upload-time = "2024-11-29T19:33:02.111Z" }, +] + [[package]] name = "python-dateutil" version = "2.9.0.post0" diff --git a/ci.yml b/ci.yml index 836a96f..b2cca65 100644 --- a/ci.yml +++ b/ci.yml @@ -9,36 +9,38 @@ prepare: $HOME/.local/bin/cs - name: install uv standalone version command: curl -LsSf https://astral.sh/uv/install.sh | env - UV_INSTALL_DIR="$HOME/.local/bin/uv" sh && chmod +x $HOME/.local/bin/uv + UV_INSTALL_DIR="$HOME/app" sh && chmod +x $HOME/app/uv - name: copy template .env file command: cp -n .env.sample .env - name: "set ev vars " command: . .env && cs set-env -w $WORKSPACE_ID -t $TEAM_ID --env-var - UV_CACHE_DIR=$PWD/.codesphere-internal/.uv --env-var + UV_PYTHON_INSTALL_DIR=$PWD/.codesphere-internal/.uv-python-install + --env-var UV_PYTHON_BIN_DIR=$PWD/.codesphere-internal/.uv-python-bin + --env-var UV_CACHE_DIR=$PWD/.codesphere-internal/.uv --env-var UV_PYTHON_CACHE_DIR=$PWD/.codesphere-internal/.uv-python - name: install frontend environment - command: cd frontend && uv venv && uv sync + command: cd frontend && { [ ! -d ".venv" ] && uv venv; uv sync; } - name: install backend environment - command: "cd backend && uv venv && uv sync " + command: cd backend && { [ ! -d ".venv" ] && uv venv; uv sync; } test: steps: - name: test frontend - command: cd frontend && uv run pytest --junitxml=junit/test-results.xml - --cov-report=xml --cov-report=html --cov=. | tee pytest-coverage.txt + command: cd frontend && uv run pytest - name: test backend - command: cd backend && uv run pytest --junitxml=junit/test-results.xml - --cov-report=xml --cov-report=html --cov=. | tee pytest-coverage.txt + command: "cd backend && uv run pytest " - name: security check frontend - command: 'bandit -r . -c pyproject.toml --format=custom --msg-template - "{abspath}:{line}: {test_id}[{severity}]: {msg}" -o bandit-results.txt' + command: 'cd frontend && uv run bandit -r . -c pyproject.toml --format=custom + --msg-template "{abspath}:{line}: {test_id}[{severity}]: {msg}" -o + bandit-results.txt' - name: security check backend - command: 'bandit -r . -c pyproject.toml --format=custom --msg-template - "{abspath}:{line}: {test_id}[{severity}]: {msg}" -o bandit-results.txt' + command: 'cd backend && uv run bandit -r . -c pyproject.toml --format=custom + --msg-template "{abspath}:{line}: {test_id}[{severity}]: {msg}" -o + bandit-results.txt' run: frontend: steps: - name: start frontend application - command: cd frontend && uv run streamlit run --server.address 0.0.0.0 + command: . ./env && cd frontend && uv run streamlit run --server.address 0.0.0.0 --server.port 3000 main.py plan: 8 replicas: 1 @@ -49,15 +51,16 @@ run: backend: steps: - name: start backend application - command: cd backend && uv run uvicorn app:app --reload --port 3000 --host - 0.0.0.0 + command: . ./env && cd backend && uv run uvicorn app:app --reload --port 3000 + --host 0.0.0.0 plan: 8 replicas: 1 isPublic: false api-docs: steps: - name: deploy docs - command: cd backend && uv run uvicorn doc:app_docs --host 0.0.0.0 --port 3000 + command: . ./env && cd backend && uv run uvicorn doc:app_docs --host 0.0.0.0 + --port 3000 plan: 8 replicas: 1 isPublic: true diff --git a/frontend/.gitignore b/frontend/.gitignore index f77e0d5..0de087e 100644 --- a/frontend/.gitignore +++ b/frontend/.gitignore @@ -3,4 +3,7 @@ coverage.xml pytest-coverage.txt .coverage -__pycache__/* \ No newline at end of file +__pycache__/* +tests/__pycache__/* + +bandit-results.txt \ No newline at end of file diff --git a/frontend/main.py b/frontend/main.py index d3fce37..fdceefc 100644 --- a/frontend/main.py +++ b/frontend/main.py @@ -31,7 +31,7 @@ @st.cache_data def fetch_data(url: str, points: int): try: - response = requests.get(url, params={"points": points}) + response = requests.get(url, params={"points": points}, timeout=3) response.raise_for_status() data = response.json() diff --git a/frontend/pyproject.toml b/frontend/pyproject.toml index ddcfb0b..4794001 100644 --- a/frontend/pyproject.toml +++ b/frontend/pyproject.toml @@ -9,6 +9,7 @@ dependencies = [ "pandas>=2.3.0", "plotly>=6.1.2", "pytest-cov>=6.1.1", + "pytest-profiling>=1.8.1", "requests>=2.32.4", "streamlit>=1.45.1", ] diff --git a/frontend/tests/__pycache__/conftest.cpython-310-pytest-8.4.0.pyc b/frontend/tests/__pycache__/conftest.cpython-310-pytest-8.4.0.pyc deleted file mode 100644 index 606eb9fd15becfbf2e8822779ee69dc489dfadb2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 134 zcmd1j<>g`kf)_JAGeGoX5P=LBfgA@QE@lA|DGb33nv8xc8Hzx{2;!Hfenx(7s(xv4 zYLR|oL4kf+QGQ-YYF>(dNosLPv3_!XUK)s{S5SG2!zMRBr8Fni4rD|z6OdqG001c8 B9OM81 diff --git a/frontend/tests/__pycache__/test_main.cpython-310-pytest-8.4.0.pyc b/frontend/tests/__pycache__/test_main.cpython-310-pytest-8.4.0.pyc deleted file mode 100644 index 0f007d78042858b957cc7b3103a07f061d6cbb4c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2287 zcmZuy&2JM&6rY)0uh$#rJA^=i8VV9it9;N=@n?-V|iBYDS9^CSyYN0&&hp8 zG!mD+ay;sd#$(=CZZo6tc*2{YL^z)jUf|Xf!mVw#O}$Am$&12%Hq{{9eojG_o>T7Z zuwBYWc$ts#u^oetKQ#b1(Z>O%??)zN$UixVGnL1gK8Q2JkMP+c+)>2wxd!FOVD)1i z=Wp>7`x`e_?>sRf zo1>hr6ZdQn>w3$jy2OJls6~NNuA$A(LzQXsdRWV}v6i&Kf3y}vwN?~l!dI<04rJR` zS&*q31{l5!*i>PuMGzuC7LVN}!Vo5>K(MfBfyO{9g3Ycopl)(wg>VxH6|{LRP(qtY z5DRUGNwbytyspQ^&2g*u8C7Zx_sSS+-ZkPAVxxlosBl8J;b zWI|;smwp_C$$Yadi|~LAOQCRx%^W&IbL-Zrdyr41hT>6}ZB&}63bXK`s5}g!mQb$Q zgO8Z>7z(Ui&jJBf{K$Jqsy72dqHvj}Ynp!2039y7I#8CYJxswhJS!GK;;(syIC$)T z;*~QAb6*Xz ztbSX~i=fBu+*rTkuV1@yYwgRMU#x3e)kG4=Fs&h({R``f<-7(<;dwSlhkRY=(hl7u z-?Im7y?@Lu&8q^XW%G-gs>2UJPQz2$S&5(*YH8fOI**|+?i7*d;09e`gj~JyTC6Y@ zIDhS*pk(mcO}b6HG-I1am%+~L8XeX#z-D%6$Gp$Fg-$`GS>c(*X{S)9oT0tWcA+n_ z;xl`fJS6G@_)8tSOXUJ+4r&SI1~(57A0r}zaU`pVKn)OPj>aKXI6&S;WQPFqZtevQ zkcC_~c4>Y$;R$QUnk8L}7rEWBLJE2@8v$>*Q{07|zJrl#l5PPOgJpD0PN0WNFi&2v z)m4{nJvev1*J?Wx-wc#W-?Y4M0%c&j=&E_>IGH|ny5|vnc^?DH0CNd2 zugwIf>pER+NugR%rmbch8&#gcld?PmcxVt8QCmiF3B_d;SGLAs?g^RY9G8|{<(bVk z+(#ugW4~iu(6rU3mA8*}s{L2^fz*>e%*V)=qABrP38c_vaQpXKVU&f5(pHoLLg_hQ zZKSP;=TN^9rT3sg^I=!=RZtfgL65EFbYNQDkTR8e+OMZF4l*Ayj)EkgW3HX2CeH&e zZv@}f&*A;y%?HDq4~I8PUe2!{cWLpJ-No0N-~?6@GyK1QfOmm_!ujJ^zfrjiiaV$6 z{lq19jXvi0OEur;2#L*0@koZ5(4_;DE)Hz+J$Oc9!9A-PBs@@Z0;7x^{6`5Tu@SYE zwVPqmkl5*mV_cg!m-}Z|M9(CO( Date: Thu, 12 Jun 2025 11:22:12 +0000 Subject: [PATCH 17/28] debug ci --- .env.sample | 2 +- ci.yml | 20 ++++++++++---------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/.env.sample b/.env.sample index 9dc3da9..d42f61f 100644 --- a/.env.sample +++ b/.env.sample @@ -1,3 +1,3 @@ # set API TOKEN so that the cli is authorized to use the public api export CS_TOKEN= -export TEAM_ID= \ No newline at end of file +export TEAM_ID=$(cs list workspaces | grep $WORKSPACE_ID | awk '{print $2}') \ No newline at end of file diff --git a/ci.yml b/ci.yml index b2cca65..5b96d5e 100644 --- a/ci.yml +++ b/ci.yml @@ -19,23 +19,23 @@ prepare: --env-var UV_CACHE_DIR=$PWD/.codesphere-internal/.uv --env-var UV_PYTHON_CACHE_DIR=$PWD/.codesphere-internal/.uv-python - name: install frontend environment - command: cd frontend && { [ ! -d ".venv" ] && uv venv; uv sync; } + command: . ./env && cd frontend && { [ ! -d ".venv" ] && uv venv; uv sync; } - name: install backend environment - command: cd backend && { [ ! -d ".venv" ] && uv venv; uv sync; } + command: . ./env && cd backend && { [ ! -d ".venv" ] && uv venv; uv sync; } test: steps: - name: test frontend - command: cd frontend && uv run pytest + command: . ./env && cd frontend && uv run pytest - name: test backend - command: "cd backend && uv run pytest " + command: ". ./env && cd backend && uv run pytest " - name: security check frontend - command: 'cd frontend && uv run bandit -r . -c pyproject.toml --format=custom - --msg-template "{abspath}:{line}: {test_id}[{severity}]: {msg}" -o - bandit-results.txt' + command: '. ./env && cd frontend && uv run bandit -r . -c pyproject.toml + --format=custom --msg-template "{abspath}:{line}: {test_id}[{severity}]: + {msg}" -o bandit-results.txt' - name: security check backend - command: 'cd backend && uv run bandit -r . -c pyproject.toml --format=custom - --msg-template "{abspath}:{line}: {test_id}[{severity}]: {msg}" -o - bandit-results.txt' + command: '. ./env && cd backend && uv run bandit -r . -c pyproject.toml + --format=custom --msg-template "{abspath}:{line}: {test_id}[{severity}]: + {msg}" -o bandit-results.txt' run: frontend: steps: From 5ebff0455a7813c755c4fd99499db9883381b923 Mon Sep 17 00:00:00 2001 From: Jan-David Wiederstein Date: Thu, 12 Jun 2025 11:24:51 +0000 Subject: [PATCH 18/28] change .env sample --- .env.sample | 2 -- 1 file changed, 2 deletions(-) diff --git a/.env.sample b/.env.sample index d42f61f..acb8230 100644 --- a/.env.sample +++ b/.env.sample @@ -1,3 +1 @@ -# set API TOKEN so that the cli is authorized to use the public api -export CS_TOKEN= export TEAM_ID=$(cs list workspaces | grep $WORKSPACE_ID | awk '{print $2}') \ No newline at end of file From 8f088e0cc609352757bbfb474ec2936bd344273d Mon Sep 17 00:00:00 2001 From: Jan-David Wiederstein <141321444+Datata1@users.noreply.github.com> Date: Thu, 12 Jun 2025 13:49:40 +0200 Subject: [PATCH 19/28] Update backend-app.yml --- .github/workflows/backend-app.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/backend-app.yml b/.github/workflows/backend-app.yml index faed809..69d7fe9 100644 --- a/.github/workflows/backend-app.yml +++ b/.github/workflows/backend-app.yml @@ -97,14 +97,13 @@ jobs: - name: Run tests with pytest using uv run: | cd backend - pytest --junitxml=junit/test-results.xml --cov-report=xml --cov-report=html --cov=. | tee pytest-coverage.txt + pytest --junitxml=junit/test-results.xml --cov=. | tee pytest-coverage.txt shell: bash - name: Pytest coverage comment if: github.event_name == 'pull_request' && always() uses: MishaKav/pytest-coverage-comment@main with: - pytest-xml-coverage-path: backend/coverage.xml pytest-coverage-path: backend/pytest-coverage.txt junitxml-path: backend/junit/test-results.xml title: Pytest Coverage Report - Backend From 14e3a2f06c0f971d5c0883643bf721e75555adf3 Mon Sep 17 00:00:00 2001 From: Jan-David Wiederstein <141321444+Datata1@users.noreply.github.com> Date: Thu, 12 Jun 2025 13:52:54 +0200 Subject: [PATCH 20/28] Update backend-app.yml --- .github/workflows/backend-app.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/.github/workflows/backend-app.yml b/.github/workflows/backend-app.yml index 69d7fe9..86c50d1 100644 --- a/.github/workflows/backend-app.yml +++ b/.github/workflows/backend-app.yml @@ -29,11 +29,8 @@ jobs: - name: Install uv package manager uses: astral-sh/setup-uv@v6 with: - enable-cache: true - cache-dependency-glob: backend/uv.lock activate-environment: true working-directory: backend - cache-local-path: ${{ github.workspace }}/backend/.uv_cache - name: Install dependencies using uv run: | From 08b86fe36e6622404029dc147e80664d532f8c3b Mon Sep 17 00:00:00 2001 From: Jan-David Wiederstein <141321444+Datata1@users.noreply.github.com> Date: Thu, 12 Jun 2025 13:54:58 +0200 Subject: [PATCH 21/28] Update frontend-app.yml --- .github/workflows/frontend-app.yml | 6 ------ 1 file changed, 6 deletions(-) diff --git a/.github/workflows/frontend-app.yml b/.github/workflows/frontend-app.yml index 33fc8f5..e6b69b1 100644 --- a/.github/workflows/frontend-app.yml +++ b/.github/workflows/frontend-app.yml @@ -15,9 +15,6 @@ jobs: pytest: runs-on: ubuntu-latest - env: - UV_CACHE_DIR: ${{ github.workspace }}/frontend/.uv_cache - permissions: contents: read pull-requests: write @@ -29,11 +26,8 @@ jobs: - name: Install uv package manager uses: astral-sh/setup-uv@v6 with: - enable-cache: true - cache-dependency-glob: frontend/uv.lock activate-environment: true working-directory: frontend - cache-local-path: ${{ github.workspace }}/frontend/.uv_cache - name: Install dependencies using uv run: | From 7eef90d4aa0675036f5347ea42d7cd20dfa16c66 Mon Sep 17 00:00:00 2001 From: Jan-David Wiederstein <141321444+Datata1@users.noreply.github.com> Date: Thu, 12 Jun 2025 13:56:12 +0200 Subject: [PATCH 22/28] Update backend-app.yml --- .github/workflows/backend-app.yml | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/.github/workflows/backend-app.yml b/.github/workflows/backend-app.yml index 86c50d1..d87cd23 100644 --- a/.github/workflows/backend-app.yml +++ b/.github/workflows/backend-app.yml @@ -15,9 +15,6 @@ jobs: pytest: runs-on: ubuntu-latest - env: - UV_CACHE_DIR: ${{ github.workspace }}/backend/.uv_cache - permissions: contents: read pull-requests: write @@ -94,13 +91,14 @@ jobs: - name: Run tests with pytest using uv run: | cd backend - pytest --junitxml=junit/test-results.xml --cov=. | tee pytest-coverage.txt + pytest --junitxml=junit/test-results.xml --cov-report=xml --cov-report=html --cov=. | tee pytest-coverage.txt shell: bash - name: Pytest coverage comment if: github.event_name == 'pull_request' && always() uses: MishaKav/pytest-coverage-comment@main with: + pytest-xml-coverage-path: backend/coverage.xml pytest-coverage-path: backend/pytest-coverage.txt junitxml-path: backend/junit/test-results.xml title: Pytest Coverage Report - Backend From b26e00a49d5246e9b094cd1cb483a14a3b15896e Mon Sep 17 00:00:00 2001 From: Jan-David Wiederstein <141321444+Datata1@users.noreply.github.com> Date: Thu, 12 Jun 2025 14:01:33 +0200 Subject: [PATCH 23/28] Update backend-app.yml --- .github/workflows/backend-app.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/backend-app.yml b/.github/workflows/backend-app.yml index d87cd23..b8abab6 100644 --- a/.github/workflows/backend-app.yml +++ b/.github/workflows/backend-app.yml @@ -102,7 +102,7 @@ jobs: pytest-coverage-path: backend/pytest-coverage.txt junitxml-path: backend/junit/test-results.xml title: Pytest Coverage Report - Backend - junitxml-title: Test Execution Summary + junitxml-title: Test Execution Summary - Backend - name: Minimize uv cache run: uv cache prune --ci From e95995fb631e894c896233e7169ae75b0b4baf3a Mon Sep 17 00:00:00 2001 From: Jan-David Wiederstein <141321444+Datata1@users.noreply.github.com> Date: Thu, 12 Jun 2025 14:01:47 +0200 Subject: [PATCH 24/28] Update frontend-app.yml --- .github/workflows/frontend-app.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/frontend-app.yml b/.github/workflows/frontend-app.yml index e6b69b1..59806b9 100644 --- a/.github/workflows/frontend-app.yml +++ b/.github/workflows/frontend-app.yml @@ -102,7 +102,7 @@ jobs: pytest-coverage-path: frontend/pytest-coverage.txt junitxml-path: frontend/junit/test-results.xml title: Pytest Coverage Report - Frontend - junitxml-title: Test Execution Summary + junitxml-title: Test Execution Summary - Frontend - name: Minimize uv cache run: uv cache prune --ci From d785667e4f08aa3b900d7ae5480e17d7296146cb Mon Sep 17 00:00:00 2001 From: Jan-David Wiederstein <141321444+Datata1@users.noreply.github.com> Date: Thu, 12 Jun 2025 14:04:09 +0200 Subject: [PATCH 25/28] Update backend-app.yml --- .github/workflows/backend-app.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/backend-app.yml b/.github/workflows/backend-app.yml index b8abab6..6b36c87 100644 --- a/.github/workflows/backend-app.yml +++ b/.github/workflows/backend-app.yml @@ -98,6 +98,7 @@ jobs: if: github.event_name == 'pull_request' && always() uses: MishaKav/pytest-coverage-comment@main with: + identifier: backend-coverage-report pytest-xml-coverage-path: backend/coverage.xml pytest-coverage-path: backend/pytest-coverage.txt junitxml-path: backend/junit/test-results.xml From f95ef4ee41144dd35ced3ff79906a486662fa680 Mon Sep 17 00:00:00 2001 From: Jan-David Wiederstein <141321444+Datata1@users.noreply.github.com> Date: Thu, 12 Jun 2025 14:04:27 +0200 Subject: [PATCH 26/28] Update frontend-app.yml --- .github/workflows/frontend-app.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/frontend-app.yml b/.github/workflows/frontend-app.yml index 59806b9..4453262 100644 --- a/.github/workflows/frontend-app.yml +++ b/.github/workflows/frontend-app.yml @@ -98,6 +98,7 @@ jobs: if: github.event_name == 'pull_request' && always() uses: MishaKav/pytest-coverage-comment@main with: + identifier: frontend-coverage-report pytest-xml-coverage-path: frontend/coverage.xml pytest-coverage-path: frontend/pytest-coverage.txt junitxml-path: frontend/junit/test-results.xml From f19c94ca97f7194fa97b9d72a0c30d7c3a495a16 Mon Sep 17 00:00:00 2001 From: Jan-David Wiederstein <141321444+Datata1@users.noreply.github.com> Date: Thu, 12 Jun 2025 14:05:34 +0200 Subject: [PATCH 27/28] Update backend-app.yml --- .github/workflows/backend-app.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/backend-app.yml b/.github/workflows/backend-app.yml index 6b36c87..50c6a6c 100644 --- a/.github/workflows/backend-app.yml +++ b/.github/workflows/backend-app.yml @@ -98,7 +98,7 @@ jobs: if: github.event_name == 'pull_request' && always() uses: MishaKav/pytest-coverage-comment@main with: - identifier: backend-coverage-report + unique-id-for-comment: backend-coverage-report pytest-xml-coverage-path: backend/coverage.xml pytest-coverage-path: backend/pytest-coverage.txt junitxml-path: backend/junit/test-results.xml From 555babd5ad1e542a0c0b4c2839ddbaddb4f92010 Mon Sep 17 00:00:00 2001 From: Jan-David Wiederstein <141321444+Datata1@users.noreply.github.com> Date: Thu, 12 Jun 2025 14:05:44 +0200 Subject: [PATCH 28/28] Update frontend-app.yml --- .github/workflows/frontend-app.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/frontend-app.yml b/.github/workflows/frontend-app.yml index 4453262..c3e5f3f 100644 --- a/.github/workflows/frontend-app.yml +++ b/.github/workflows/frontend-app.yml @@ -98,7 +98,7 @@ jobs: if: github.event_name == 'pull_request' && always() uses: MishaKav/pytest-coverage-comment@main with: - identifier: frontend-coverage-report + unique-id-for-comment: frontend-coverage-report pytest-xml-coverage-path: frontend/coverage.xml pytest-coverage-path: frontend/pytest-coverage.txt junitxml-path: frontend/junit/test-results.xml