Replies: 1 comment
-
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
dbt Labs has begun the process of testing compatibility of popular dbt packages while testing & releasing changes to dbt in dbt Cloud.
Our goal is to ensure that dbt Cloud customers can confidently receive continuous dbt updates (”Versionless”), while also enabling us to proactively catch any incompatibilities or functional regressions before they are released in final versions of dbt Core OSS. Our focus to start is on packages that are used by a large number of projects, including packages maintained by dbt Labs and external maintainers. To that end, we are asking package maintainers to standardize a few details of their integration testing setup.
Target packages
We will start by testing the packages in the Package hub with the greatest usage. Currently, this includes:
dbt Labs maintained packages:
Externally maintained packages, in alphabetical order:
To support this testing, package maintainers — the experts on the package functionality — will be the ones to maintain their suite of tests. (Most popular packages already do; thank you!) To ensure those tests will run during our automated CI/CD process, dbt Labs will expect a few standard elements of the testing setup. Note that the specific tests which run — whether dbt commands, pytest, or something else — are ultimately up to the package maintainer.
Requirements for package maintainers
/integration_tests
supported_adapters.env
in the project root.Example
The variable will be called
SUPPORTED_ADAPTERS
and the supported adapters will be listed after it, comma separated. Note that we will only support adapters running in dbt Cloud.tox.ini
file.Example
The naming pattern is
testenv:dbt_integration_<ADAPTER>
.profiles.yml
used for integration tests will use specific naming conventions for the target, as well as environment variables, so that we can fill the values in our testing process.Example
Examples
We've already implemented this setup for
dbt-utils
and are running these tests regularly. To see the setup in action, check out the merged PR #919.For specific requirements, explore our sample package set up for all supported adapters: dbt-package-testing.
Good to Know
We recommend running your own CI using these same tox commands. This way, you can monitor that changes will pass reliably in your CI to be more confident they will also pass in our CI.
Beta Was this translation helpful? Give feedback.
All reactions