Skip to content

implementation of itk service for setting up the tests within particular SDKs#463

Open
kdziedzic70 wants to merge 1 commit intomainfrom
implement-itk-service
Open

implementation of itk service for setting up the tests within particular SDKs#463
kdziedzic70 wants to merge 1 commit intomainfrom
implement-itk-service

Conversation

@kdziedzic70
Copy link
Contributor

@kdziedzic70 kdziedzic70 commented Mar 18, 2026

Description

PR contains implementation of dockerized itk service that will be helpful in running itk tests across different SDKs: it enables user to mount the "current" branch to container. Assuming that implementation of itk-tailored testing agent is rooted in the repository - user than may execute the tests of "current" version - against the "stable" sdks that are included in the docker.

Fixes #<issue_number_goes_here> 🦕

@gemini-code-assist
Copy link
Contributor

Summary of Changes

Hello, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request introduces a foundational ITK test orchestration service designed to streamline the execution of integration tests across multiple SDKs. It provides a robust, containerized environment for running concurrent test scenarios, enhancing the efficiency and reliability of cross-SDK compatibility testing. The service leverages FastAPI for its API and integrates with existing test utilities to manage agent clusters and report test outcomes.

Highlights

  • New ITK Test Orchestration Service: A new FastAPI service (itk_service.py) has been introduced to orchestrate and execute ITK test scenarios concurrently across various SDKs. This service manages the lifecycle of test clusters and reports results.
  • Dockerization of the Service: A Dockerfile and .dockerignore have been added to containerize the ITK test orchestration service, simplifying its deployment and ensuring a consistent testing environment with pre-installed dependencies like Go and Node.js.
  • Support for 'Current' Agent: The test suite now includes support for a 'current' agent, allowing the service to dynamically detect and spawn either Go or Python agents based on the presence of main.go or main.py in a dedicated 'current' agent directory.
  • Dependency Updates: The uv.lock file for the Python v10 agent has been updated, specifically bumping the a2a-sdk and sse-starlette package versions.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for GitHub and other Google products, sign up here.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request introduces a new FastAPI service (itk_service.py) designed to orchestrate and concurrently execute ITK test scenarios against a shared cluster, complete with API models for test cases and results. A new Dockerfile is added to build the service's Docker image, which includes installations for Go, Node.js, and Python dependencies managed by uv. Supporting files like .dockerignore, test_service.py, and test_service.sh are also added for environment setup and service testing. Additionally, the itk/test_suite is extended to support a 'current' agent type, with test_suite/current.py dynamically spawning either a Go or Python agent. A review comment suggests improving the RuntimeError message in test_suite/current.py to be more informative or to add a check for Docker environment usage.

Comment on lines +21 to +24
if not current_dir.exists():
raise RuntimeError(
'testing of current agent is available only in docker environment'
)
Copy link
Contributor

Choose a reason for hiding this comment

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

medium

The RuntimeError message suggests this code is specifically for a Docker environment. Consider adding a check to ensure this module isn't accidentally used outside of Docker, or provide a more informative error message that guides users on how to set up the correct environment.

@kdziedzic70 kdziedzic70 force-pushed the implement-itk-service branch 8 times, most recently from 2fb6b79 to b403121 Compare March 18, 2026 15:24
@kdziedzic70 kdziedzic70 changed the title [WIP] implementation of itk service for testing across multiple sdks implementation of itk service for testing across multiple sdks Mar 18, 2026
@kdziedzic70 kdziedzic70 requested review from a team and herczyn March 18, 2026 15:30
@kdziedzic70 kdziedzic70 changed the title implementation of itk service for testing across multiple sdks implementation of itk service for setting up the tests within particular SDKs Mar 18, 2026
@kdziedzic70 kdziedzic70 force-pushed the implement-itk-service branch 8 times, most recently from 1b52c0b to 96cbdf2 Compare March 24, 2026 22:27
@kdziedzic70 kdziedzic70 force-pushed the implement-itk-service branch from 96cbdf2 to 6b452a1 Compare March 25, 2026 17:06
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.

1 participant