-
Notifications
You must be signed in to change notification settings - Fork 72
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
2 changed files
with
79 additions
and
8 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,75 @@ | ||
# Contributing Guidelines | ||
|
||
This project would not be here without its community, so contributions have and will always be welcome! | ||
|
||
## Questions | ||
|
||
If you have a **question** or an **idea**, please ensure it has not been raised by using search first and then create a [discussion](https://github.com/gouline/dbt-metabase/discussions) under the appropriate category. This makes accepted answers and conversations available for others in the same situation. | ||
|
||
## Issues | ||
|
||
When reporting a bug, please create an [issue](https://github.com/gouline/issues) and provide as much content as humanly possible: | ||
|
||
* Package version (`dbt-metabase --version` or `pip show dbt-metabase`) | ||
* Environment details, e.g. operating system, cloud provider, database | ||
* Steps to reproduce | ||
* Expected vs actual results | ||
* Sample code, logs, screenshots | ||
|
||
## Pull Requests | ||
|
||
Code contributions must be reviewed by the maintainer, please create a [pull request][https://github.com/gouline/pulls] and wait patiently. This project only has one maintainer, so this may take days or weeks. | ||
|
||
Unless your change is a bug fix or an incremental addition, consider creating a discussion or an issue to propose your approach first. While your contributions are welcome, not everything is suitable for this project and discussing your idea ahead of time avoids wasting your time implementing something that ultimately gets rejected. | ||
|
||
### Validation | ||
|
||
While checks and tests are run automatically on pull requests, GitHub Actions requires maintainers to manually approve new contributors. This means you could spend days waiting for a code review only to be immediately rejected because checks and/or tests failed. To avoid this, please **run checks locally before you commit**! | ||
|
||
To execute only checks (you can also run each check separately, e.g. `check-fmt`): | ||
|
||
``` | ||
make check | ||
``` | ||
|
||
To execute only tests: | ||
|
||
``` | ||
make test | ||
``` | ||
|
||
The most convenient way to fix formatting and imports, and run checks and tests, with one command: | ||
|
||
``` | ||
make pre | ||
``` | ||
|
||
### Tests | ||
|
||
Any code you contribute **must have unit tests**. Bug fixes in particular require at least one test case that fails before your fix and succeeds afterwards. This helps communicate how your contribution works and ensures no future changes inadvertently break it. | ||
|
||
### Sandbox | ||
|
||
While developing, it can be useful to have a sandbox with Metabase, dbt and PostgreSQL running locally to execute your changes against. To start Docker Compose containers, run the following (see [.env](./sandbox/.env) for ports and credentials): | ||
|
||
``` | ||
make sandbox-up | ||
``` | ||
|
||
To execute dbt-metabase commands against it: | ||
|
||
``` | ||
make sandbox-models | ||
make sandbox-exposures | ||
``` | ||
|
||
Once you are finished, stop the sandbox: | ||
|
||
``` | ||
make sandbox-down | ||
``` | ||
|
||
## Code of Conduct | ||
|
||
All contributors are expected to follow the [PSF Code of Conduct](https://www.python.org/psf/conduct/). | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters