Skip to content

ci: let Devin run /evals on PRs from this repo - #1400

Closed
Caleb Evans (calebevans-ab) wants to merge 1 commit into
mainfrom
calebevans/agentic-2355-devin-evals
Closed

Caleb Evans (calebevans-ab) wants to merge 1 commit into
mainfrom
calebevans/agentic-2355-devin-evals

Conversation

@calebevans-ab

Copy link
Copy Markdown
Contributor

Devin's /evals comment on #1399 did nothing. The dispatcher logged:

Command 'evals' is not configured for the user's permission level 'none'.

Devin comments as a GitHub App (devin-ai-integration[bot]). Apps can't be repo collaborators, so the dispatcher's permission: write check always sees "none" for them.

Change

slash_command_dispatch.yml gets a second job, devinEvals. It runs only when the commenter is exactly devin-ai-integration[bot] and the comment's first line is /evals or /evals full=true. It then:

  • Refuses fork PRs. It checks that the PR's branch is in airbytehq/PyAirbyte. Pushing a branch here already requires write access, so the code under test has the same trust as a maintainer's /evals. Fork PRs still need a maintainer to run it.
  • Starts the run. It dispatches evals-command.yml with the same pr, comment-id and full inputs the regular dispatcher passes, so progress and results land on Devin's comment exactly as they do for a person.

The generic dispatcher job now skips Devin's comments, so it no longer posts the permission error. Nothing else about the other commands changes; Devin still can't run /fix-pr, /prerelease and the rest.

Testing

Part of AGENTIC-2355.

🤖 Generated with Claude Code

Devin comments as a GitHub App, which has no repository permission level, so the
slash command dispatcher rejected its /evals with permission 'none'. A separate
job now dispatches evals-command.yml for Devin's /evals comments on PRs whose
branch is in airbytehq/PyAirbyte. Fork PRs still need a maintainer.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@linear-code

linear-code Bot commented Oct 16, 2026

Copy link
Copy Markdown

AGENTIC-2355

@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@calebevans/agentic-2355-devin-evals' pyairbyte --help

# Install PyAirbyte from this branch for development:
pip install 'git+https://github.com/airbytehq/PyAirbyte.git@calebevans/agentic-2355-devin-evals'

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
  • /evals - Runs the Cloud MCP evals that use the MCP tools this PR changed (/evals full=true runs the full suite)
📚 Show Repo Guidance

Helpful Resources

Community Support

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

📝 Edit this welcome message.

@github-code-quality

github-code-quality Bot commented Oct 16, 2026 •

Copy link
Copy Markdown
Contributor

Code coverage overview

Languages: Python

Python / code-coverage/pytest-no-creds

main d9f652f calebevans/agentic-2... da664c9 +/-
65% 77% +12%
View coverage of the 10 most impacted files.
File main d9f652f calebevans/agentic-2... da664c9 +/-
airbyte/mcp/cloud.py 52% 71% +19%
airbyte/_util/api_util.py 36% 56% +20%
airbyte/mcp/_otel.py 0% 89% +89%
airbyte/mcp/int..._registry_ui.py 0% 92% +92%
airbyte/cloud/models.py 0% 95% +95%
airbyte/mcp/_sso_auth.py 0% 96% +96%
airbyte/mcp/int...nc_status_ui.py 0% 97% +97%
airbyte/_direct...nnector_docs.py 0% 97% +97%
airbyte/mcp/agents.py 0% 98% +98%
airbyte/_direct...ctors/models.py 0% 99% +99%

Python / code-coverage/pytest

main d9f652f calebevans/agentic-2... da664c9 +/-
71% 80% +9%
View coverage of the 10 most impacted files.
File main d9f652f calebevans/agentic-2... da664c9 +/-
airbyte/mcp/cloud.py 52% 71% +19%
airbyte/mcp/_otel.py 0% 89% +89%
airbyte/mcp/int..._registry_ui.py 0% 92% +92%
airbyte/_direct...ors/api_util.py 0% 92% +92%
airbyte/mcp/_sso_auth.py 0% 96% +96%
airbyte/cloud/models.py 0% 96% +96%
airbyte/mcp/int...nc_status_ui.py 0% 97% +97%
airbyte/_direct...nnector_docs.py 0% 97% +97%
airbyte/mcp/agents.py 0% 98% +98%
airbyte/_direct...ctors/models.py 0% 99% +99%

Python / code-coverage/pytest-unit

main calebevans/agentic-2... da664c9 +/-
— 73% —

Line coverage data for the main branch is not yet available.

View coverage of the 10 most covered files.
File main calebevans/agentic-2... da664c9 +/-
airbyte/mcp/agents.py — 98% —
airbyte/mcp/_sso_auth.py — 96% —
airbyte/cloud/models.py — 95% —
airbyte/cloud/client.py — 91% —
airbyte/mcp/_otel.py — 89% —
airbyte/exceptions.py — 84% —
airbyte/progress.py — 80% —
airbyte/mcp/cloud.py — 71% —
airbyte/shared/...ql_processor.py — 68% —
airbyte/_util/api_util.py — 56% —

ℹ️ Calculations represent line coverage. Results may change as calculations are updated.


Updated October 16, 2026 23:34 UTC

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