Refactor environment and configuration management

- Updated the project structure to store configuration files (.env, models.yaml, extensions.yaml) in the project root instead of the user's home directory.
- Enhanced the setup process to automatically copy example files to the project root on first run.
- Implemented a migration function to transfer legacy configuration files from the user's home directory to the new project structure.
- Revised documentation to reflect changes in file locations and setup instructions.
- Improved code readability and maintainability by refactoring path management functions.
This commit is contained in:
Leonid Pershin
2026-08-21 03:20:18 +03:00
parent c2ca39a4a7
commit 343f741baa
22 changed files with 202 additions and 90 deletions
+11
View File
@@ -17,3 +17,14 @@ def test_launchers_require_python_311():
sh = (ROOT / "gpu-rent.sh").read_text(encoding="utf-8")
assert "3, 11" in ps1 or "3.11" in ps1
assert "3, 11" in sh
def test_launchers_seed_project_local_files():
ps1 = (ROOT / "gpu-rent.ps1").read_text(encoding="utf-8")
sh = (ROOT / "gpu-rent.sh").read_text(encoding="utf-8")
assert 'Join-Path $env:USERPROFILE ".gpu-rent"' not in ps1
assert "${HOME}/.gpu-rent" not in sh
assert "models.yaml" in ps1 and "models.yaml" in sh
assert "extensions.yaml" in ps1 and "extensions.yaml" in sh
assert 'Join-Path $Root ".env"' in ps1
assert "$ROOT/.env" in sh