Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ci_connector_ops: POC rewriting airbyte-python.gradle and airbyte-connector-acceptance.gradle in Python #23504

Closed
alafanechere opened this issue Feb 27, 2023 · 0 comments · Fixed by #23487
Assignees
Labels

Comments

@alafanechere
Copy link
Contributor

alafanechere commented Feb 27, 2023

Tell us about the problem you're trying to solve

I believe we could take back the ownership of the connector test pipeline by rewriting them with Python code.
I'd like to tackle this by rewriting airbyte-python.gradle and airbyte-connector-acceptance-test.gradle in Python.

Describe the solution you’d like

Declaring test pipelines in Python has the following advantages:

It’s easily readable and understandable by the Airbyte engineering team.
Enhances the code discoverability and debugging experience: we’ll no longer rely on a combination of shell scripts, GitHub workflows, Gradle/Python code to get the full picture of our test pipeline. We’ll have a centralized Python project to look at.
The workflow can be unit tested.
We can benefit from abstractions to declare reusable pipeline components and grow them with scale and flexibility.
The test pipelines can be executed locally in the same way they’ll be run in the CI.
A significant portion of the existing test tooling is already written in Python: ci-credentials to manage connector test secrets, ci-connector-ops which bundle multiple checks (QA, allowed host, test strictness level etc.), connector acceptance tests. It means we could directly load and reuse these packages.
We can use Dagger’s SDK to benefit from free incremental builds and isolation by design and continue to consider containers Airbyte’s first class citizens.

We’ll need to pay extra care at building reusable components (a.k.a actions) to populate the workflow. This is the key to have a lean test pipeline and make sure this project can grow with new use cases in the future.

@alafanechere alafanechere self-assigned this Feb 27, 2023
@alafanechere alafanechere changed the title connector_ops_ci: POC rewriting airbyte-python.gradle and airbyte-connector-acceptance.gradle in Python ci_connector_ops: POC rewriting airbyte-python.gradle and airbyte-connector-acceptance.gradle in Python Feb 27, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants