mirror of
https://github.com/Pythagora-io/gpt-pilot.git
synced 2026-01-09 21:27:53 -05:00
Add git branch and extension version logging
This commit is contained in:
@@ -344,6 +344,7 @@ async def async_main(
|
||||
sentry_sdk.set_user({"email": args.email})
|
||||
|
||||
if args.extension_version:
|
||||
log.debug(f"Extension version: {args.extension_version}")
|
||||
telemetry.set("is_extension", True)
|
||||
telemetry.set("extension_version", args.extension_version)
|
||||
|
||||
|
||||
@@ -39,6 +39,30 @@ def get_git_commit() -> Optional[str]:
|
||||
return f.read().strip()
|
||||
|
||||
|
||||
def get_git_branch() -> Optional[str]:
|
||||
"""
|
||||
Return the current git branch name (if running from a repo).
|
||||
|
||||
:return: branch name or None if not on a branch or not a git repo
|
||||
"""
|
||||
if not isdir(GIT_DIR_PATH):
|
||||
return None
|
||||
|
||||
git_head = join(GIT_DIR_PATH, "HEAD")
|
||||
if not isfile(git_head):
|
||||
return None
|
||||
|
||||
with open(git_head, "r", encoding="utf-8") as f:
|
||||
ref = f.read().strip()
|
||||
|
||||
if ref.startswith("ref: "):
|
||||
# Example: ref: refs/heads/main
|
||||
ref_path = ref[5:]
|
||||
if ref_path.startswith("refs/heads/"):
|
||||
return ref_path[len("refs/heads/") :]
|
||||
return None
|
||||
|
||||
|
||||
def get_package_version() -> str:
|
||||
"""
|
||||
Get package version as defined pyproject.toml.
|
||||
@@ -83,4 +107,4 @@ def get_version() -> str:
|
||||
return version
|
||||
|
||||
|
||||
__all__ = ["get_version"]
|
||||
__all__ = ["get_version", "get_git_branch"]
|
||||
|
||||
@@ -2,17 +2,18 @@ import asyncio
|
||||
import os.path
|
||||
import re
|
||||
import traceback
|
||||
import httpx
|
||||
from urllib.parse import urljoin
|
||||
from contextlib import asynccontextmanager
|
||||
from typing import TYPE_CHECKING, Optional
|
||||
from urllib.parse import urljoin
|
||||
from uuid import UUID, uuid4
|
||||
|
||||
import httpx
|
||||
from sqlalchemy import Row, inspect, select
|
||||
from sqlalchemy.exc import PendingRollbackError
|
||||
from tenacity import retry, stop_after_attempt, wait_fixed
|
||||
|
||||
from core.config import FileSystemType, get_config, PYTHAGORA_API
|
||||
from core.config import PYTHAGORA_API, FileSystemType, get_config
|
||||
from core.config.version import get_git_branch, get_git_commit, get_version
|
||||
from core.db.models import (
|
||||
Branch,
|
||||
ChatConvo,
|
||||
@@ -187,9 +188,12 @@ class StateManager:
|
||||
await state.awaitable_attrs.files
|
||||
|
||||
log.info(
|
||||
f'Created new project "{name}" (id={project.id}) '
|
||||
f'with default branch "{branch.name}" (id={branch.id}) '
|
||||
f"and initial state id={state.id} (step_index={state.step_index})"
|
||||
f'Created new project "{name}" (id={project.id})\n'
|
||||
f'with default branch "{branch.name}" (id={branch.id})\n'
|
||||
f"and initial state id={state.id} (step_index={state.step_index})\n"
|
||||
f"Core version {get_version() if not None else "unknown"}\n"
|
||||
f"Git hash {get_git_commit() if not None else "unknown"}\n"
|
||||
f"Git branch {get_git_branch() if not None else "unknown"}\n"
|
||||
)
|
||||
await telemetry.trace_code_event("create-project", {"name": name})
|
||||
|
||||
@@ -229,9 +233,7 @@ class StateManager:
|
||||
except Exception as e:
|
||||
error = e
|
||||
log.warning(f"Failed to upload new project: {error}")
|
||||
await self.send_message(
|
||||
f"Failed to upload new project. Retrying... \nError: {error}"
|
||||
)
|
||||
await self.send_message(f"Failed to upload new project. Retrying... \nError: {error}")
|
||||
|
||||
except Exception as e:
|
||||
error = e
|
||||
@@ -350,9 +352,12 @@ class StateManager:
|
||||
self.next_state = await state.create_next_state()
|
||||
self.file_system = await self.init_file_system(load_existing=True)
|
||||
log.debug(
|
||||
f"Loaded project {self.project} ({self.project.id}) "
|
||||
f"branch {self.branch} ({self.branch.id}"
|
||||
f"step {state.step_index} (state id={state.id})"
|
||||
f"Loaded project {self.project} ({self.project.id})\n"
|
||||
f"Branch {self.branch} ({self.branch.id}\n"
|
||||
f"Step {state.step_index} (state id={state.id})\n"
|
||||
f"Core version {get_version() if not None else "unknown"}\n"
|
||||
f"Git hash {get_git_commit() if not None else "unknown"}\n"
|
||||
f"Git branch {get_git_branch() if not None else "unknown"}\n"
|
||||
)
|
||||
|
||||
if self.current_state.current_epic and self.current_state.current_task and self.ui:
|
||||
|
||||
Reference in New Issue
Block a user