Skip to content

ci: allow manual coverage test workflow runs - #1038

Merged
Aaron ("AJ") Steers (aaronsteers) merged 2 commits into
mainfrom
devin/1779900001-coverage-workflow-dispatch-pyairbyte
May 27, 2026
Merged

ci: allow manual coverage test workflow runs#1038
Aaron ("AJ") Steers (aaronsteers) merged 2 commits into
mainfrom
devin/1779900001-coverage-workflow-dispatch-pyairbyte

Conversation

@aaronsteers

@aaronsteers Aaron ("AJ") Steers (aaronsteers) commented May 27, 2026

Copy link
Copy Markdown
Member

Summary

  • Adds workflow_dispatch to the PyAirbyte Run Tests workflow.
  • Ensures the coverage-producing full pytest job also runs on manual dispatch, not only on pushes to main or non-fork PRs.
  • This lets maintainainers manually rerun coverage-producing tests from GitHub Actions when main coverage data is missing/stale or when a PR needs a coverage refresh after unrelated main changes.

Review & Testing Checklist for Human

  • Confirm the Run Tests workflow shows a manual "Run workflow" option after merge.
  • If needed, manually dispatch the workflow on main and confirm GitHub Code Quality receives the coverage upload.

Notes

  • Requested by AJ Steers while validating GitHub Code Quality coverage uploads.
  • Local validation: yq e parsed the workflow, yq e '.on.workflow_dispatch' returns {}, and git diff --check passed.
  • actionlint is not installed in this VM, so I could not run it locally.

Devin session

Requested by: Aaron ("AJ") Steers (@aaronsteers)

Summary by CodeRabbit

  • Chores
    • Updated testing workflow to allow manual triggering of test runs.
    • Ensured the test job now runs when workflows are manually triggered in addition to existing triggers.

Review Change Stack

@devin-ai-integration

Copy link
Copy Markdown
Contributor

🤖 Devin AI Engineer

I'll be helping with this pull request! Here's what you should know:

✅ I will automatically:

  • Address comments on this PR. Add '(aside)' to your comment to have me ignore it.
  • Look at CI failures and help fix them

Note: I can only respond to comments from users who have write access to this repository.

⚙️ Control Options:

  • Disable automatic comment and CI monitoring

@github-actions

Copy link
Copy Markdown

👋 Greetings, Airbyte Team Member!

Here are some helpful tips and reminders for your convenience.

💡 Show Tips and Tricks

Testing This PyAirbyte Version

You can test this version of PyAirbyte using the following:

# Run PyAirbyte CLI from this branch:
uvx --from 'git+https://github.com/airbytehq/PyAirbyte.git@devin/1779900001-coverage-workflow-dispatch-pyairbyte' pyairbyte --help

# Install PyAirbyte from this branch for development:
pip install 'git+https://github.com/airbytehq/PyAirbyte.git@devin/1779900001-coverage-workflow-dispatch-pyairbyte'

PR Slash Commands

Airbyte Maintainers can execute the following slash commands on your PR:

  • /fix-pr - Fixes most formatting and linting issues
  • /uv-lock - Updates uv.lock file
  • /test-pr - Runs tests with the updated PyAirbyte
  • /prerelease - Builds and publishes a prerelease version to PyPI
📚 Show Repo Guidance

Helpful Resources

Community Support

Questions? Join the #pyairbyte channel in our Slack workspace.

📝 Edit this welcome message.

@coderabbitai

coderabbitai Bot commented May 27, 2026

Copy link
Copy Markdown
Contributor
📝 Walkthrough

Walkthrough

The pytest workflow now supports manual runs via workflow_dispatch, and the full pytest job's if: condition was extended to allow execution when github.event_name is workflow_dispatch.

Changes

Workflow Configuration

Layer / File(s) Summary
Add manual workflow dispatch trigger
.github/workflows/python_pytest.yml
Adds workflow_dispatch: {} under on:, enabling manual workflow runs from the GitHub Actions UI.
Allow pytest job on manual dispatch
.github/workflows/python_pytest.yml
Extends the pytest job if: conditional to include github.event_name == 'workflow_dispatch', so the full pytest job runs for manual triggers.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

  • airbytehq/PyAirbyte#1036: Also modifies .github/workflows/python_pytest.yml around pytest job condition and coverage upload configuration; likely related to conditional execution changes.
🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title directly and clearly describes the main change: enabling manual workflow runs for the coverage test workflow by adding workflow_dispatch support.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch devin/1779900001-coverage-workflow-dispatch-pyairbyte

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
.github/workflows/python_pytest.yml (1)

172-174: ⚠️ Potential issue | 🟠 Major | ⚡ Quick win

The pytest job won't run on manual dispatch - should we include workflow_dispatch in the condition?

The conditional here only allows the job to run on pushes to main or PRs from non-fork repos. When you manually trigger the workflow via workflow_dispatch, github.event_name will be 'workflow_dispatch', which doesn't match either condition, so this job will be skipped.

Since the PR's goal is to allow manual coverage refreshes and this job produces the main coverage upload (lines 252-259), this seems like it might not work as intended. Wdyt about updating the condition to include workflow_dispatch events?

🔧 Proposed fix
     if: >
       (github.event_name == 'push' && github.ref == 'refs/heads/main') ||
-      (github.event.pull_request.head.repo.fork == false)
+      (github.event.pull_request.head.repo.fork == false) ||
+      (github.event_name == 'workflow_dispatch')
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In @.github/workflows/python_pytest.yml around lines 172 - 174, The job's if
condition currently checks only for pushes to main and PRs from non-fork repos,
so it will skip when manually triggered; update the conditional expression used
for the pytest job to also allow github.event_name == 'workflow_dispatch' (or
otherwise include workflow_dispatch in the allowed events) so manual runs will
execute the pytest job and produce the coverage upload; modify the existing
conditional that references github.event_name and
github.event.pull_request.head.repo.fork to include the workflow_dispatch case.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Outside diff comments:
In @.github/workflows/python_pytest.yml:
- Around line 172-174: The job's if condition currently checks only for pushes
to main and PRs from non-fork repos, so it will skip when manually triggered;
update the conditional expression used for the pytest job to also allow
github.event_name == 'workflow_dispatch' (or otherwise include workflow_dispatch
in the allowed events) so manual runs will execute the pytest job and produce
the coverage upload; modify the existing conditional that references
github.event_name and github.event.pull_request.head.repo.fork to include the
workflow_dispatch case.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: 23aebcb2-ad1d-4b88-a53d-d9ef630789ee

📥 Commits

Reviewing files that changed from the base of the PR and between 2047741 and 3b1905d.

📒 Files selected for processing (1)
  • .github/workflows/python_pytest.yml

@aaronsteers
Aaron ("AJ") Steers (aaronsteers) marked this pull request as ready for review May 27, 2026 15:53
Copilot AI review requested due to automatic review settings May 27, 2026 15:53
@aaronsteers
Aaron ("AJ") Steers (aaronsteers) merged commit d9f652f into main May 27, 2026
21 of 24 checks passed
@aaronsteers
Aaron ("AJ") Steers (aaronsteers) deleted the devin/1779900001-coverage-workflow-dispatch-pyairbyte branch May 27, 2026 15:54

@devin-ai-integration devin-ai-integration Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

✅ Devin Review: No Issues Found

Devin Review analyzed this PR and found no bugs or issues to report.

Open in Devin Review

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Adds workflow_dispatch trigger to the Run Tests workflow and updates the full pytest job's gating condition to also run on manual dispatch, enabling maintainers to manually refresh coverage uploads.

Changes:

  • Add workflow_dispatch: {} to workflow triggers.
  • Include github.event_name == 'workflow_dispatch' in the pytest job's if condition.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

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