Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion pyproject.toml

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tests to Run

The following tests should be run to verify this PR:

Critical (directly affected)

  • webhook_server/tests/test_app.py β€” Python 3.13β†’3.14 version bump; app startup/import test verifies all modules load correctly under new Python version, catching any syntax or import incompatibilities (High confidence)
  • webhook_server/tests/test_github_retry.py β€” Python 3.14 may have changes to asyncio internals; this tests github_api_call() which uses asyncio.to_thread() β€” a critical async pattern throughout the codebase (High confidence)
  • webhook_server/tests/test_config.py β€” Config parsing uses YAML and pydantic which received new wheels for cp314; verifies core config system works under Python 3.14 (High confidence)
  • webhook_server/tests/test_config_schema.py β€” Schema validation depends on pyyaml (new cp314 wheels in lock file); verifies YAML schema validation works correctly under Python 3.14 (High confidence)
  • webhook_server/tests/test_helpers.py β€” Utility functions may use stdlib features that changed in Python 3.14; broad coverage of helper functions catches general compatibility issues (High confidence)
  • webhook_server/tests/test_github_api.py β€” Core GitHub API integration uses PyGithub and async patterns; Python 3.14 asyncio changes could affect event loop behavior (High confidence)

Standard (regression safety)

  • webhook_server/tests/test_context.py β€” Uses ContextVar which is a stdlib threading/async primitive; Python 3.14 may have changes to contextvars behavior (Medium confidence)
  • webhook_server/tests/test_tool_server.py β€” Tool server uses aiohttp (new cp314 wheels) and runs in a dedicated thread with its own event loop; tests async/threading interaction under Python 3.14 (Medium confidence)
  • webhook_server/tests/test_log_viewer.py β€” Log viewer uses WebSocket streaming via aiohttp (rebuilt for cp314); verifies async streaming works under Python 3.14 (Medium confidence)
  • webhook_server/tests/test_pull_request_handler.py β€” Most complex handler with extensive async PyGithub operations; exercises the largest surface area of async patterns that could be affected by Python 3.14 (Medium confidence)
  • webhook_server/tests/test_structured_logger.py β€” JSON logging uses stdlib json and logging modules; Python 3.14 may have changes to logging internals (Medium confidence)
  • webhook_server/tests/test_ai_cli.py β€” AI CLI integration uses aiohttp client (new cp314 build); verifies HTTP client operations work under Python 3.14 (Medium confidence)

Summary

  • 12 test files recommended (6 critical, 6 standard)
  • AI Provider: Claude (claude-opus-4-6[1m])

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tests to Run

The following tests should be run to verify this PR:

Critical (directly affected)

  • webhook_server/tests/test_webhook.py β€” Core webhook processing test β€” Python 3.14 may change async behavior, import mechanics, or stdlib APIs used in the main app entry point (Medium confidence)
  • webhook_server/tests/test_github_retry.py β€” Tests asyncio.to_thread and retry logic β€” asyncio internals may change between Python 3.13 and 3.14 (Medium confidence)
  • webhook_server/tests/test_config_schema.py β€” YAML schema validation relies on pydantic/pyyaml β€” updated dependencies for Python 3.14 could introduce subtle behavioral differences (Medium confidence)

Standard (regression safety)

  • webhook_server/tests/test_helpers.py β€” Tests utility functions that may use stdlib features with behavioral changes in Python 3.14 (Medium confidence)
  • webhook_server/tests/test_tool_server.py β€” Tests aiohttp-based tool server β€” aiohttp wheels changed from cp313 to cp314 which could surface compatibility issues (Medium confidence)
  • webhook_server/tests/test_log_viewer.py β€” Tests WebSocket streaming which depends on aiohttp and asyncio β€” both affected by the Python version and dependency updates (Medium confidence)
  • webhook_server/tests/test_pull_request_handler.py β€” Major handler exercising PyGithub, async patterns, and multiple stdlib features β€” good coverage for Python 3.14 compatibility (Medium confidence)
  • webhook_server/tests/test_check_run_handler.py β€” Tests async handler with git operations and GitHub API calls β€” exercises multiple dependency chains updated for Python 3.14 (Medium confidence)
  • webhook_server/tests/test_app_utils.py β€” Tests application utility functions that may rely on Python internals changed in 3.14 (Low confidence)
  • webhook_server/tests/test_security_checks.py β€” Security tests exercise cryptography/bcrypt/pynacl β€” all have new cp314 wheels in the updated lock file (Medium confidence)

Summary

  • 10 test files recommended (3 critical, 7 standard)
  • AI Provider: Claude (claude-opus-4-6[1m])

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tests to Run

The following tests should be run to verify this PR:

Critical (directly affected)

  • webhook_server/tests/test_app.py β€” Core application tests - Python 3.14 upgrade may affect async behavior, FastAPI compatibility, or import resolution (Medium confidence)
  • webhook_server/tests/test_github_api.py β€” Core GitHub API module using PyGithub with asyncio.to_thread - Python 3.14 may change threading/async internals (Medium confidence)
  • webhook_server/tests/test_github_retry.py β€” Tests github_api_call() which wraps asyncio.to_thread with retry logic - async internals may change in Python 3.14 (Medium confidence)
  • webhook_server/tests/test_config.py β€” Configuration loading uses YAML parsing and schema validation - Python 3.14 may affect type handling or stdlib behavior (Medium confidence)

Standard (regression safety)

  • webhook_server/tests/test_config_schema.py β€” Schema validation tests - verifies YAML schema parsing which may be affected by Python version changes (Medium confidence)
  • webhook_server/tests/test_helpers.py β€” Utility functions including logging setup - Python 3.14 may change logging module internals (Medium confidence)
  • webhook_server/tests/test_context.py β€” Tests ContextVar-based structured logging - Python 3.14 may change contextvars behavior (Medium confidence)
  • webhook_server/tests/test_tool_server.py β€” Tests aiohttp tool server with dedicated thread/event loop - Python 3.14 async and threading changes could affect this (Medium confidence)
  • webhook_server/tests/test_pull_request_handler.py β€” Major handler with extensive async code and PyGithub usage - key integration point for Python version compatibility (Medium confidence)
  • webhook_server/tests/test_exceptions.py β€” Exception handling patterns may be affected by Python 3.14 exception group changes or other stdlib modifications (Low confidence)

Summary

  • 10 test files recommended (4 critical, 6 standard)
  • AI Provider: Claude (claude-opus-4-6[1m])

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tests to Run

The following tests should be run to verify this PR:

Critical (directly affected)

  • webhook_server/tests/test_config_schema.py β€” Schema validation uses YAML parsing (pyyaml) which was updated to cp314 wheels; validates core config loading works under Python 3.14 (High confidence)
  • webhook_server/tests/test_github_retry.py β€” Tests asyncio.to_thread-based retry logic; asyncio internals may change between Python 3.13 and 3.14 (High confidence)
  • webhook_server/tests/test_app_utils.py β€” Tests core application utilities; exercises FastAPI/Pydantic integration which received major wheel updates for cp314 (High confidence)
  • webhook_server/tests/test_pull_request_handler.py β€” Tests the main PR handler which uses PyGithub, asyncio, and aiohttp β€” all updated to cp314 wheels; exercises core async patterns (High confidence)

Standard (regression safety)

  • webhook_server/tests/test_helpers.py β€” Tests utility helpers that may use stdlib features with behavioral changes in Python 3.14 (Medium confidence)
  • webhook_server/tests/test_push_handler.py β€” Tests async event handler; validates asyncio compatibility under Python 3.14 (Medium confidence)
  • webhook_server/tests/test_schema_validator.py β€” Tests schema validation which depends on pydantic_core (updated to cp314); validates data validation works correctly (Medium confidence)
  • webhook_server/tests/test_log_api.py β€” Tests WebSocket log streaming using aiohttp (updated to cp314 wheels); validates async I/O compatibility (Medium confidence)

Summary

  • 8 test files recommended (4 critical, 4 standard)
  • AI Provider: Claude (claude-opus-4-6[1m])

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tests to Run

The following tests should be run to verify this PR:

Critical (directly affected)

  • webhook_server/tests/test_app.py β€” Core application tests verify the FastAPI app initializes and handles requests correctly under the new Python 3.14 runtime β€” catches any import or runtime incompatibilities (Medium confidence)
  • webhook_server/tests/test_github_retry.py β€” Tests asyncio.to_thread usage in github_api_call β€” asyncio internals may change between Python versions (Medium confidence)

Standard (regression safety)

  • webhook_server/tests/test_config.py β€” Config module uses YAML parsing and type annotations; verifies these work correctly under Python 3.14 (Medium confidence)
  • webhook_server/tests/test_config_schema.py β€” Schema validation tests verify YAML schema processing works under the new Python version (Medium confidence)
  • webhook_server/tests/test_github_api.py β€” GitHub API module heavily uses async patterns and PyGithub; verifies compatibility with Python 3.14 async runtime (Medium confidence)
  • webhook_server/tests/test_webhook.py β€” Webhook processing tests exercise the full request handling pipeline β€” catches any Python 3.14 incompatibilities in core flow (Medium confidence)
  • webhook_server/tests/test_pull_request_handler.py β€” Major handler with complex async logic; smoke test for Python 3.14 compatibility across async patterns (Medium confidence)
  • webhook_server/tests/test_context.py β€” Context tracking uses contextvars which had changes in recent Python versions; verifies compatibility (Low confidence)

Summary

  • 8 test files recommended (2 critical, 6 standard)
  • AI Provider: Claude (claude-opus-4-6[1m])

Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ packages = ["webhook_server"]
[project]
name = "github-webhook-server"
version = "4.0.1"
requires-python = "==3.13.*"
requires-python = "==3.14.*"
description = "A webhook server to manage Github repositories and pull requests."
readme = "README.md"
license = "Apache-2.0"
Expand Down
Loading