diff --git a/.cursor/rules/pre-commit-checks.mdc b/.cursor/rules/pre-commit-checks.mdc new file mode 100644 index 000000000..63b9626ec --- /dev/null +++ b/.cursor/rules/pre-commit-checks.mdc @@ -0,0 +1,17 @@ +--- +description: Run pre-commit checks (ruff lint + format) before creating PRs or commits +alwaysApply: true +--- + +# Pre-commit Checks + +Before creating a PR or making a commit, always run the project's pre-commit hooks to catch lint and formatting issues: + +```bash +ruff check --fix . +ruff format . +``` + +If either command produces changes, stage the fixes and include them in the commit. + +This project uses `ruff` for both linting (`ruff check`) and formatting (`ruff format`), configured in `pyproject.toml` and enforced via `.pre-commit-config.yaml`. diff --git a/apps/worker/database/enums.py b/apps/worker/database/enums.py index 60db83e71..ef4e0fe2d 100644 --- a/apps/worker/database/enums.py +++ b/apps/worker/database/enums.py @@ -9,6 +9,6 @@ Notification, NotificationState, ReportType, - TrialStatus, notification_type_status_or_checks, ) +from shared.plan.constants import TrialStatus # noqa: F401 diff --git a/apps/worker/services/tests/test_decoration.py b/apps/worker/services/tests/test_decoration.py index 0c4a50a2c..e6c85cf25 100644 --- a/apps/worker/services/tests/test_decoration.py +++ b/apps/worker/services/tests/test_decoration.py @@ -25,13 +25,12 @@ from shared.django_apps.core.tests.factories import ( RepositoryFactory as DjangoRepositoryFactory, ) -from shared.django_apps.enums import TrialStatus from shared.django_apps.reports.models import ReportSession, ReportType from shared.django_apps.reports.tests.factories import CommitReportFactory from shared.django_apps.reports.tests.factories import ( UploadFactory as DjangoUploadFactory, ) -from shared.plan.constants import DEFAULT_FREE_PLAN +from shared.plan.constants import DEFAULT_FREE_PLAN, TrialStatus from shared.plan.service import PlanService from shared.upload.types import UploaderType from shared.upload.utils import insert_coverage_measurement diff --git a/apps/worker/tasks/tests/unit/test_trial_expiration.py b/apps/worker/tasks/tests/unit/test_trial_expiration.py index f8e27d641..acb86674a 100644 --- a/apps/worker/tasks/tests/unit/test_trial_expiration.py +++ b/apps/worker/tasks/tests/unit/test_trial_expiration.py @@ -5,8 +5,7 @@ PlanFactory, TierFactory, ) -from shared.django_apps.enums import TrialStatus -from shared.plan.constants import DEFAULT_FREE_PLAN, PlanName, TierName +from shared.plan.constants import DEFAULT_FREE_PLAN, PlanName, TierName, TrialStatus from tasks.trial_expiration import TrialExpirationTask diff --git a/apps/worker/tasks/tests/unit/test_trial_expiration_cron.py b/apps/worker/tasks/tests/unit/test_trial_expiration_cron.py index 5d87f6a03..007f95603 100644 --- a/apps/worker/tasks/tests/unit/test_trial_expiration_cron.py +++ b/apps/worker/tasks/tests/unit/test_trial_expiration_cron.py @@ -3,8 +3,7 @@ from celery_config import trial_expiration_task_name from database.tests.factories.core import OwnerFactory -from shared.django_apps.enums import TrialStatus -from shared.plan.constants import DEFAULT_FREE_PLAN, PlanName +from shared.plan.constants import DEFAULT_FREE_PLAN, PlanName, TrialStatus from tasks.trial_expiration_cron import TrialExpirationCronTask diff --git a/apps/worker/tasks/trial_expiration_cron.py b/apps/worker/tasks/trial_expiration_cron.py index 712ed44cd..2b5ff0a65 100644 --- a/apps/worker/tasks/trial_expiration_cron.py +++ b/apps/worker/tasks/trial_expiration_cron.py @@ -4,8 +4,7 @@ from celery_config import trial_expiration_cron_task_name, trial_expiration_task_name from database.models.core import Owner from helpers.clock import get_utc_now -from shared.django_apps.enums import TrialStatus -from shared.plan.constants import PlanName +from shared.plan.constants import PlanName, TrialStatus from tasks.crontasks import CodecovCronTask log = logging.getLogger(__name__) diff --git a/libs/shared/shared/django_apps/enums.py b/libs/shared/shared/django_apps/enums.py index 42b0b9260..586d17685 100644 --- a/libs/shared/shared/django_apps/enums.py +++ b/libs/shared/shared/django_apps/enums.py @@ -61,13 +61,6 @@ class CommitErrorTypes(Enum): REPO_BOT_INVALID = "repo_bot_invalid" -class TrialStatus(Enum): - NOT_STARTED = "not_started" - ONGOING = "ongoing" - EXPIRED = "expired" - CANNOT_TRIAL = "cannot_trial" - - class ReportType(Enum): COVERAGE = "coverage" TEST_RESULTS = "test_results"