Skip to content

Conversation

@jfriedri-ni
Copy link
Collaborator

@jfriedri-ni jfriedri-ni commented Sep 10, 2025

What does this Pull Request accomplish?

The CI can detect and run tests for each package in packages.json

  • Add new workflow test_package.yml, with similar mechanics as check_package.yml
    • Call it from CI.yml for each package name in packages.json
    • Use get_package_info.yml to determine whether there are tests to run for each package
    • Allow it to run in parallel with the jobs in check_package.yml
    • Allow runs on-demand with workflow_dispatch
  • Add inputs to run_unit_tests.yml for package information, Python version, and OS
    • Remove the explicit list of jobs that test each package
  • Change the matrix values to inputs for run_and_upload_unit_tests
  • Upgrade grpc_generator to Poetry 2
  • Update grpc_generator to run with Python 3.9 and 3.10 to remove special test treatment

Why should this Pull Request be merged?

  • Contributors can add new packages without needing to edit workflow files

What testing has been done?

  • PR checks
  • Confirmed poetry run generate-stubs still succeeds for grpc_generator

Signed-off-by: Joe Friedrichsen <114173023+jfriedri-ni@users.noreply.github.com>
@github-actions
Copy link
Contributor

github-actions bot commented Sep 10, 2025

Test Results

   80 files  + 4     80 suites  +4   2m 20s ⏱️ +24s
  187 tests ± 0    185 ✅ ± 0   2 💤 ±0  0 ❌ ±0 
1 870 runs  +20  1 840 ✅ +20  30 💤 ±0  0 ❌ ±0 

Results for commit a613d0d. ± Comparison against base commit d64b2d0.

♻️ This comment has been updated with latest results.

Signed-off-by: Joe Friedrichsen <114173023+jfriedri-ni@users.noreply.github.com>
- the matrix value is not longer available because it is too far up the call tree

Signed-off-by: Joe Friedrichsen <114173023+jfriedri-ni@users.noreply.github.com>
Signed-off-by: Joe Friedrichsen <114173023+jfriedri-ni@users.noreply.github.com>
Signed-off-by: Joe Friedrichsen <114173023+jfriedri-ni@users.noreply.github.com>
Signed-off-by: Joe Friedrichsen <114173023+jfriedri-ni@users.noreply.github.com>
Signed-off-by: Joe Friedrichsen <114173023+jfriedri-ni@users.noreply.github.com>
Signed-off-by: Joe Friedrichsen <114173023+jfriedri-ni@users.noreply.github.com>
Signed-off-by: Joe Friedrichsen <114173023+jfriedri-ni@users.noreply.github.com>
Signed-off-by: Joe Friedrichsen <114173023+jfriedri-ni@users.noreply.github.com>
Signed-off-by: Joe Friedrichsen <114173023+jfriedri-ni@users.noreply.github.com>
Signed-off-by: Joe Friedrichsen <114173023+jfriedri-ni@users.noreply.github.com>
- This makes get_package_info run for every os-python combo rather than once

This reverts commit 17b5808.
Signed-off-by: Joe Friedrichsen <114173023+jfriedri-ni@users.noreply.github.com>
Signed-off-by: Joe Friedrichsen <114173023+jfriedri-ni@users.noreply.github.com>
@jfriedri-ni jfriedri-ni marked this pull request as ready for review September 11, 2025 15:36
Copilot AI review requested due to automatic review settings September 11, 2025 15:36
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

This PR implements automatic test detection and execution for packages in the CI pipeline, eliminating the need for manual workflow file updates when adding new packages.

  • Replaces hardcoded package testing with dynamic package discovery and dispatch
  • Upgrades grpc_generator to Poetry 2 and extends Python version support
  • Refactors CI workflows to use reusable components with package-specific inputs

Reviewed Changes

Copilot reviewed 6 out of 7 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
.github/workflows/test_package.yml New workflow for testing individual packages with matrix strategy
.github/workflows/run_unit_tests.yml Refactored to accept package inputs instead of hardcoded matrix
.github/workflows/CI.yml Updated to use new test_package workflow
.github/actions/run_and_upload_unit_tests/action.yml Modified to use input parameters instead of matrix variables
tools/grpc_generator/pyproject.toml Upgraded to Poetry 2 with Python 3.9+ support
tools/grpc_generator/src/grpc_generator/generator.py Replaced StrEnum with standard enum for Python 3.9 compatibility

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Signed-off-by: Joe Friedrichsen <114173023+jfriedri-ni@users.noreply.github.com>
Use runner information rather than an input

Signed-off-by: Joe Friedrichsen <114173023+jfriedri-ni@users.noreply.github.com>
Signed-off-by: Joe Friedrichsen <114173023+jfriedri-ni@users.noreply.github.com>
@jfriedri-ni jfriedri-ni requested a review from bkeryan September 11, 2025 18:14
@jfriedri-ni jfriedri-ni merged commit 9a43753 into main Sep 11, 2025
193 checks passed
@jfriedri-ni jfriedri-ni deleted the users/jfriedri/autoexecute-package-tests branch September 11, 2025 20:29
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.

3 participants