Skip to content

docs: add testing and CI notes to CONTRIBUTING.md - #1420

Closed
Aaron ("AJ") Steers (aaronsteers) wants to merge 1 commit into
release-candidate/v1from
devin/1792820577-contributing-testing-ci
Closed

Aaron ("AJ") Steers (aaronsteers) wants to merge 1 commit into
release-candidate/v1from
devin/1792820577-contributing-testing-ci

Conversation

@aaronsteers

Copy link
Copy Markdown
Member

Summary

Adds a "Testing and CI" section to CONTRIBUTING.md. It moves the one PyAirbyte-only rule out of ai-skills; ai-skills#1092 deletes that rule, since repo-specific facts belong in the repo itself.

  • .github/workflows/python_pytest.yml is the source of truth for the OS and Python matrix.
  • The no-credentials job skips the requires_creds, linting, super_slow and flaky markers, blanks GCP credentials and also runs on forks. A green run there therefore doesn't mean the credential tests passed.
  • Mark tests that need credentials with @pytest.mark.requires_creds, and never print secrets while debugging integrations.

This PR changes docs only.

Link to Devin session: https://app.devin.ai/sessions/a144cb0b3f5447118290844c4cb27c80
Open in Devin Desktop: https://app.devin.ai/desktop/session/a144cb0b3f5447118290844c4cb27c80?variant=devin
Requested by: Aaron ("AJ") Steers (@aaronsteers)

Co-Authored-By: AJ Steers <aj@airbyte.io>
@devin-ai-integration

Copy link
Copy Markdown
Contributor

I'll fix CI failures and address comments from users with write access. I'll skip comments containing "(aside)".

  • Disable automatic comment, CI, and merge conflict 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/1792820577-contributing-testing-ci' pyairbyte --help

# Install PyAirbyte from this branch for development:
pip install 'git+https://github.com/airbytehq/PyAirbyte.git@devin/1792820577-contributing-testing-ci'

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.

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.

🟢 Approval recommended

The documentation matches the existing CI behavior and introduces no runtime changes or unresolved issues.

No open issues 🎉

What changed in this PR

Adds repository-specific testing and CI guidance to CONTRIBUTING.md, moving this guidance out of the shared ai-skills repository.

Changes:

  • Identifies the pytest workflow as the source of truth for the OS and Python matrix.
  • Clarifies no-credentials job exclusions, credential handling, and fork behavior.
  • Documents credential-test marking and safe integration debugging.
File Description
CONTRIBUTING.md Adds a “Testing and CI” section covering CI interpretation and credential safety.

Review effort: Balanced

@github-code-quality

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

Copy link
Copy Markdown
Contributor

Code coverage overview

Languages: Python

Python / code-coverage/pytest-no-creds

release-candidate/v1 d9f652f devin/1792820577-con... 18f6895 +/-
65% 80% +15%
View coverage of the 10 most impacted files.
File release-candidate/v1 d9f652f devin/1792820577-con... 18f6895 +/-
airbyte/_util/api_util.py 36% 67% +31%
airbyte/mcp/cloud.py 52% 85% +33%
airbyte/cloud/connectors.py 34% 79% +45%
airbyte/mcp/_datadog.py 0% 50% +50%
airbyte/mcp/_telemetry.py 0% 94% +94%
airbyte/cloud/c...lder/project.py 0% 94% +94%
airbyte/_direct...ctors/models.py 0% 95% +95%
airbyte/mcp/_sso_auth.py 0% 96% +96%
airbyte/cloud/models.py 0% 97% +97%
airbyte/mcp/int...nc_status_ui.py 0% 97% +97%

Python / code-coverage/pytest

release-candidate/v1 d9f652f devin/1792820577-con... 18f6895 +/-
71% 82% +11%
View coverage of the 10 most impacted files.
File release-candidate/v1 d9f652f devin/1792820577-con... 18f6895 +/-
airbyte/cloud/connectors.py 51% 82% +31%
airbyte/mcp/cloud.py 52% 85% +33%
airbyte/mcp/_datadog.py 0% 50% +50%
airbyte/mcp/_user_identity.py 0% 93% +93%
airbyte/mcp/_telemetry.py 0% 94% +94%
airbyte/cloud/c...lder/project.py 0% 94% +94%
airbyte/_direct...ctors/models.py 0% 95% +95%
airbyte/mcp/_sso_auth.py 0% 96% +96%
airbyte/cloud/models.py 0% 97% +97%
airbyte/mcp/int...nc_status_ui.py 0% 97% +97%

Python / code-coverage/pytest-unit

release-candidate/v1 devin/1792820577-con... 18f6895 +/-
— 77% —

Line coverage data for the release-candidate/v1 branch is not yet available.

View coverage of the 10 most covered files.
File release-candidate/v1 devin/1792820577-con... 18f6895 +/-
airbyte/cloud/models.py — 97% —
airbyte/mcp/_sso_auth.py — 96% —
airbyte/_direct...ctors/models.py — 95% —
airbyte/cloud/client.py — 90% —
airbyte/exceptions.py — 90% —
airbyte/mcp/cloud.py — 85% —
airbyte/progress.py — 80% —
airbyte/cloud/connectors.py — 79% —
airbyte/shared/...ql_processor.py — 68% —
airbyte/_util/api_util.py — 67% —

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


Updated October 24, 2026 05:54 UTC

@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.

Devin Review

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