Skip to content

Comments

Updated GitHub action for manual integration tests#4147

Open
dmytrostruk wants to merge 12 commits intomainfrom
feature-integration-tests
Open

Updated GitHub action for manual integration tests#4147
dmytrostruk wants to merge 12 commits intomainfrom
feature-integration-tests

Conversation

@dmytrostruk
Copy link
Member

Motivation and Context

  • Created dedicated dotnet-integration-tests.yml and python-integration-tests.yml workflows for integration-only runs - Updated the manual orchestrator to use them with automatic dotnet/python change detection
  • Cleaned up orphaned workflow_call/checkout-ref from existing workflows
  • Fixed contents: write → contents: read in python-merge-tests.yml

Contribution Checklist

  • The code builds clean without any errors or warnings
  • The PR follows the Contribution Guidelines
  • All unit tests pass, and I have added new tests where possible
  • Is this a breaking change? If yes, add "[BREAKING]" prefix to the title of the PR.

@dmytrostruk dmytrostruk self-assigned this Feb 21, 2026
Copilot AI review requested due to automatic review settings February 21, 2026 19:40
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 restructures the GitHub Actions workflow for manual integration testing by creating dedicated integration-only workflows and adding automatic change detection to run only relevant test suites.

Changes:

  • Created dedicated dotnet-integration-tests.yml and python-integration-tests.yml workflows for integration-only test runs
  • Updated integration-tests-manual.yml to use the new dedicated workflows with automatic dotnet/python change detection
  • Cleaned up orphaned workflow_call triggers and checkout-ref parameters from python-merge-tests.yml and dotnet-build-and-test.yml
  • Fixed permissions in python-merge-tests.yml from contents: write to contents: read

Reviewed changes

Copilot reviewed 5 out of 5 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
.github/workflows/integration-tests-manual.yml Added change detection logic to conditionally run dotnet/python tests; removed fork protection check; updated to call dedicated integration test workflows
.github/workflows/python-integration-tests.yml New dedicated workflow for Python integration tests (called from manual orchestrator)
.github/workflows/dotnet-integration-tests.yml New dedicated workflow for .NET integration tests (called from manual orchestrator)
.github/workflows/python-merge-tests.yml Removed orphaned workflow_call trigger, checkout-ref parameter, and corrected permissions to read-only; fixed spacing in output reference
.github/workflows/dotnet-build-and-test.yml Removed orphaned workflow_call trigger and checkout-ref parameter
Comments suppressed due to low confidence (1)

.github/workflows/integration-tests-manual.yml:101

  • The change detection logic for branches doesn't handle errors from the GitHub API call. If the branch doesn't exist, if there's an API error, or if the comparison cannot be performed, CHANGED_FILES will be empty and grep will fail silently, causing both DOTNET_CHANGES and PYTHON_CHANGES to remain false. Consider adding error handling to detect API failures and either fail the workflow or default to running all tests when the comparison cannot be performed.
          if [ -n "$PR_NUMBER" ]; then
            CHANGED_FILES=$(gh pr diff "$PR_NUMBER" --repo "$REPO" --name-only)
          else
            # For branches, compare against main using the GitHub API
            CHANGED_FILES=$(gh api "repos/$REPO/compare/main...$BRANCH" --jq '.files[].filename')
          fi

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.

2 participants