Skip to content

Conversation

@yankovs
Copy link
Contributor

@yankovs yankovs commented Dec 19, 2025

Your checklist for this pull request

  • I've read the contributing guideline.
  • [~] I've tested my changes by building and running the project, and testing changed functionality (if applicable)
  • I've added automated tests for my change (if applicable, optional)
  • I've updated documentation to reflect my change (if applicable)

This pr introduces the following changes:

  • switches to uv based package management (which results in much better build times)
  • converts main Dockerfile to use uv
  • moves package versioning management to the pyproject.toml file
  • adds a bootstrap-dev-env.sh script to download uv, install it, install pre-commit and install mwdb dependencies locally
  • adds pre-commit hook to generate requirements.txt automatically from the pyproject.toml file. Essentially, this means that the requirements.txt file will never be touched manually again
  • pin postgres image to 17, it's currently unpinned and caused issues for me because of changes in postgres 18+

@yankovs yankovs changed the title Use uv Use UV for package management Dec 19, 2025
@yankovs
Copy link
Contributor Author

yankovs commented Dec 19, 2025

not sure why the frontend e2e tests fail here, it passes for me locally with docker compose -f docker-compose-e2e.yml up -d web-tests

@psrok1
Copy link
Member

psrok1 commented Dec 19, 2025

Thanks! I'll try to debug that pipeline because the error is quite odd:

 mwdb_core_e2e_web_tests  | 2025-12-19T13:58:48.609153653Z -----------------------------------------------------------
mwdb_core_e2e_web_tests  | 2025-12-19T13:58:48.609157080Z 
mwdb_core_e2e_web_tests  | 2025-12-19T13:58:48.609751419Z The request we sent was:
mwdb_core_e2e_web_tests  | 2025-12-19T13:58:48.609760917Z 
mwdb_core_e2e_web_tests  | 2025-12-19T13:58:48.609764543Z Method: POST
mwdb_core_e2e_web_tests  | 2025-12-19T13:58:48.609767589Z URL: http://mwdb-web/api/auth/login
mwdb_core_e2e_web_tests  | 2025-12-19T13:58:48.609770515Z Headers: {
mwdb_core_e2e_web_tests  | 2025-12-19T13:58:48.609773470Z   "Connection": "keep-alive",
mwdb_core_e2e_web_tests  | 2025-12-19T13:58:48.609777127Z   "user-agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Cypress/13.13.0 Chrome/118.0.5993.159 Electron/27.3.10 Safari/537.36",
mwdb_core_e2e_web_tests  | 2025-12-19T13:58:48.609781215Z   "accept": "*/*",
mwdb_core_e2e_web_tests  | 2025-12-19T13:58:48.609785011Z   "accept-encoding": "gzip, deflate",
mwdb_core_e2e_web_tests  | 2025-12-19T13:58:48.609788749Z   "content-type": "application/json",
mwdb_core_e2e_web_tests  | 2025-12-19T13:58:48.609792195Z   "content-length": 54
mwdb_core_e2e_web_tests  | 2025-12-19T13:58:48.609795631Z }
mwdb_core_e2e_web_tests  | 2025-12-19T13:58:48.609798868Z Body: {"login":"admin","password":"e2e-mwdb-admin-password"}
mwdb_core_e2e_web_tests  | 2025-12-19T13:58:48.609802624Z 
mwdb_core_e2e_web_tests  | 2025-12-19T13:58:48.609805931Z -----------------------------------------------------------
mwdb_core_e2e_web_tests  | 2025-12-19T13:58:48.609809487Z 
mwdb_core_e2e_web_tests  | 2025-12-19T13:58:48.609825838Z The response we got was:
mwdb_core_e2e_web_tests  | 2025-12-19T13:58:48.609829405Z 
mwdb_core_e2e_web_tests  | 2025-12-19T13:58:48.609832731Z Status: 502 - Bad Gateway
mwdb_core_e2e_web_tests  | 2025-12-19T13:58:48.609836087Z Headers: {
mwdb_core_e2e_web_tests  | 2025-12-19T13:58:48.609839203Z   "server": "nginx/1.28.0",
mwdb_core_e2e_web_tests  | 2025-12-19T13:58:48.609842830Z   "date": "Fri, 19 Dec 2025 13:58:48 GMT",
mwdb_core_e2e_web_tests  | 2025-12-19T13:58:48.609846586Z   "content-type": "text/html",
mwdb_core_e2e_web_tests  | 2025-12-19T13:58:48.609849883Z   "content-length": "559",
mwdb_core_e2e_web_tests  | 2025-12-19T13:58:48.609853409Z   "connection": "keep-alive"
mwdb_core_e2e_web_tests  | 2025-12-19T13:58:48.609856876Z }

@yankovs
Copy link
Contributor Author

yankovs commented Dec 19, 2025

Thanks! I wonder if Windows will work with this configuration, probably will using WSL but I don't have a windows machine to test 🪟

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants