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

Enable range of database hosts to empower CI for maintainers of community packages #103

Open
dbeatty10 opened this issue Apr 5, 2022 · 1 comment

Comments

@dbeatty10
Copy link
Contributor

Goal

As a maintainer of a community package for dbt, I want to run automated testing through a CI service so that quality assurance is automatically included in the workflow for a wide range of databases.

Solved

✅ Both GitHub Actions (GHA) and Circle CI have free plans available to cover the continuous integration (CI) piece.

Problem

❌ Compute costs. Lack of free hosts for the full range of dbt database adapters (Postgres, BigQuery, Snowflake, etc).

Options discussed thus far

  1. Reimburse compute costs through an expense reporting mechanism or stipend
  2. Clone these repos on instances internal to dbt Labs and execute tests
  3. Enable access to database instances internal to dbt Labs for community maintainers

Primary negative trade-off for each option

  1. Complicated on the finance side of things
  2. Disempowering for community maintainers and asynchronous delays not conducive to typical development workflows
  3. Complicated on the security side of things
@dbeatty10
Copy link
Contributor Author

My gut sense is that we'll want to do the work to unlock solution #3.

Cons

  • Time and effort to iron out all the security details
  • Each different database may require a bespoke solution

Pros

  • We can also prioritize the most impactful databases adapters
  • We have the advantage of assuming N>2 from the get-go -- the solution should assume many different community maintainers

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

No branches or pull requests

1 participant