Describe the feature
Remove the --pre flag for installing PyPI packages via pip so that only latest PyPI releases are installed instead.
Additional context
Currently, the CI testing for codegen installs prereleases of the Python packages for dbt in places like this:
|
- run: pip install --pre dbt-core dbt-postgres |
This has the benefit of trying out codegen against release candidates of dbt, but it has the downside of increased chance of CI breaking due do something completely unrelated to the code and logic within codegen.
This is because using the --pre flag in pip does not provide a way to differentiate between the main package and its dependencies; it applies the prerelease rule to both. This means if you specify --pre, pip will consider prereleases for all packages involved in the installation process, including dependencies.
So if protobuf has a prerelease with a breaking change, then it can break the CI for codegen 🤯
Who will this benefit?
This will benefit the maintainers of the dbt-codegen repo by reducing the surface area of things that can break CI.