Skip to content

Conversation

@kirill-stepanishin
Copy link
Contributor

@kirill-stepanishin kirill-stepanishin commented Oct 3, 2025

Summary

Integrates Python Gremlin examples into CI to ensure they remain functional in future releases. Examples now execute automatically after integration tests and fail the build if broken.

Changes Made

  • Added example execution to gremlin-python-integration-tests container in docker-compose.yml
  • Made server URLs configurable via environment variables (replaces hardcoded localhost:8182)
  • Added configurable vertex labels and targeted cleanup using has_label()
  • Added graph binding detection - uses gmodern in CI, g locally for proper environment handling

@codecov-commenter
Copy link

codecov-commenter commented Oct 3, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 76.45%. Comparing base (9b46b67) to head (673395f).
⚠️ Report is 398 commits behind head on 3.7-dev.

Additional details and impacted files
@@              Coverage Diff              @@
##             3.7-dev    #3231      +/-   ##
=============================================
+ Coverage      76.14%   76.45%   +0.31%     
- Complexity     13152    13303     +151     
=============================================
  Files           1084     1092       +8     
  Lines          65160    67041    +1881     
  Branches        7285     7378      +93     
=============================================
+ Hits           49616    51257    +1641     
- Misses         12839    13039     +200     
- Partials        2705     2745      +40     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@kirill-stepanishin kirill-stepanishin marked this pull request as ready for review October 3, 2025 21:38
@kirill-stepanishin kirill-stepanishin force-pushed the python-examples-integration branch 2 times, most recently from 048955a to 523ac1b Compare October 14, 2025 15:55
@andreachild
Copy link
Contributor

VOTE +1 thanks!

@Cole-Greer
Copy link
Contributor

VOTE +1

1 similar comment
@kenhuuu
Copy link
Contributor

kenhuuu commented Oct 15, 2025

VOTE +1

@andreachild
Copy link
Contributor

Hoping to merge this today, I also forgot to ask for a changelog entry

@kirill-stepanishin
Copy link
Contributor Author

Hoping to merge this today, I also forgot to ask for a changelog entry

Added a generic changelog entry for all GLV examples in 7c3bc33

@andreachild
Copy link
Contributor

Unfortunately I need to ask you to make a separate PR to target these same changes but against master branch. It seems there are a few non-trivial changes that are needed to get the dev-level examples to work against master code. Once the master PR is approved I will merge both together.

- Add Python example files to automated testing in docker-compose.yml
- Extract environment variables for better configuration management
- Improve consistency between root-level and GLV-level examples
- Fix environment detection between connections.py and modern_traversals.py
@kirill-stepanishin kirill-stepanishin force-pushed the python-examples-integration branch from 7c3bc33 to 673395f Compare November 20, 2025 23:00
@andreachild andreachild merged commit 2cd2748 into apache:3.7-dev Nov 21, 2025
24 checks passed
andreachild pushed a commit that referenced this pull request Nov 21, 2025
#3280)

This is a follow-up to #3231 and includes the integration of Python driver examples into the automated build process, as well as the updates needed to make the examples work against the master code.

Changes Made:
- Added example execution to gremlin-python-integration-tests container in docker-compose.yml
- Made server URLs configurable via environment variables
- Added configurable vertex labels via VERTEX_LABEL environment variable
- Update root-level examples to be consistent with dev-level examples

Updates for master:
- Updated protocol from WebSocket (ws://) to HTTP
- Updated serializer from GraphBinarySerializersV1 to GraphBinarySerializersV4
- Fixed edge creation syntax using __.V() wrapper for TinkerPop 4 from()/to() compatibility
- Migrated example authentication from parameters to auth functions
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.

5 participants