-
Notifications
You must be signed in to change notification settings - Fork 4.5k
airbyte-ci: Add pypi publishing logic #34111
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
Conversation
The latest updates on your projects. Learn more about Vercel for Git ↗︎ 1 Ignored Deployment
|
I addressed your comments, it's ready for another look. During testing I think I noticed a weird error with the caching. To test the connector publish, I added the remoteRegistries section for pokeapi and ran the workflow
The only thing I changed was the airbyte-ci code, because of this I think there is something cached that shouldn't be cached. It's possible this is only an issue during development because it's running airbyte-ci in dev mode, but I wanted to highlight it - could you take a look at this please to make sure it will work correctly in production? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nothing blocking but additional feedback following your latest changes.
I'm wondering to what extent we could remove pypi
occurences from the code and replace them by python_registry
. I'd love to understand which logic is pypi specific. If we have some pypi specific logic I'd appreciate clearly isolating them so that supporting private / other python registry is easy.
I'll check your caching issue now.
airbyte-ci/connectors/pipelines/pipelines/airbyte_ci/steps/python_registry/context.py
Outdated
Show resolved
Hide resolved
airbyte-ci/connectors/pipelines/pipelines/airbyte_ci/steps/python_registry/pipeline.py
Outdated
Show resolved
Hide resolved
airbyte-ci/connectors/pipelines/pipelines/airbyte_ci/steps/python_registry/pipeline.py
Outdated
Show resolved
Hide resolved
airbyte-ci/connectors/pipelines/pipelines/airbyte_ci/steps/python_registry/pipeline.py
Outdated
Show resolved
Hide resolved
airbyte-ci/connectors/pipelines/pipelines/airbyte_ci/steps/python_registry/pipeline.py
Outdated
Show resolved
Hide resolved
airbyte-ci/connectors/pipelines/pipelines/airbyte_ci/steps/python_registry/pipeline.py
Outdated
Show resolved
Hide resolved
airbyte-ci/connectors/pipelines/pipelines/airbyte_ci/steps/python_registry/utils.py
Outdated
Show resolved
Hide resolved
airbyte-ci/connectors/pipelines/pipelines/airbyte_ci/connectors/publish/pipeline.py
Outdated
Show resolved
Hide resolved
I'm pretty sure this problems comes from an issue on this switch. |
@flash1293 I successfully tested a source-pokeapi pre-release with both Pypi disabled and enabled. |
Add pypi publish functionality as a standalone command and as step within connector publish:
Standalone command is in a group
poetry
:This is how to publish a poetry project like airbyte lib:
It can also publish legacy projects (this is the functionality used by the connector publish pipeline):
During connector publish, it checks whether the pypi remote registry is enabled - if yes, it checks whether the current version is published already. If no, it will run the same logic as the
poetry publish
command from above, with the package name set toairbyte-{connector-name}
and version set to the docker image tag.Internally, the package name and version provided to the step will override whatever is defined in the setup.py or pyproject.toml file of the package.
Open questions:
Test connector publish pipeline via https://github.com/airbytehq/airbyte/actions/workflows/publish_connectors.yml