This is a template repo for new dbt packages within Snowplow. To use this template, follow the instructions for Creating a repository from a template then follow these steps:
- Update this
README.md
with relevant information, deleting these instructions and replacing all text including in badge links - Update the
.github/workflows/release.yml
with your package name - Update the
.github/workflows/publish-gh-pages.yml
to have it run on main, selecting the appropriate warehouse for you - Update the
.github/pull_request_template.md
with your package name - Update the
CHANGELOG
with your package name - Update the
CONTRIBUTING.md
with your package name - Name your package in the
dbt_project.yml
- Included in this template are the base models that should be used across all Snowplow packages. These models take advantage of the incremental framework built in the Utils base macros so you won't have to do the initial heavy lifting yourself. You will need to update the following:
- Update all model file names, replacing all
- Update all reference inside the models, replacing text
- Update any of the base macro variables in the
dbt_project.yml
if needed
- Update all ./docs/markdown file names and replace references of text
- Update the template Integration test suite found in ./integration_tests replacing all
- Commit these changes
- Add the relevant users/teams to your repo
- Update the repo settings to the following:
- Features:
- Wikis
- Issues
- Allow forking
- Sponsorships
- Preserve this repository
- Discussions
- Projects 2. Pull Requests:
- Allow merge commits
- Allow squash merging (Default to pull request title)
- Allow rebase merging
- Always suggest updating pull request branches
- Allow auto-merge
- Automatically delete head branches
- Add branch protection on
main
andrelease/**/*
with the following settings:- Require a pull request before merging (unticked for release branch)
- Require approvals
- Require status checks to pass before merging (pick specific status checks once they are added)
- Require branches to be up to date before merging
- Require conversation resolution before merging
- Require signed commits
- Require linear history
- Require deployments to succeed before merging
- Lock branch
- Do not allow bypassing the above setting (unticked for release branch)
- Restrict who can push to matching branches
- Allow force pushes (ticked for release branch)
- Allow deletions (ticked for release branch)
- Require a pull request before merging (unticked for release branch)
- Add the relevant warehouse connection secrets required for in the ./integration_tests
We welcome all ideas, questions and contributions!
For support requests, please use our community support Discourse forum.
If you find a bug, please report an issue on GitHub.
The package is Copyright 2023-present Snowplow Analytics Ltd.
This distribution is all licensed under the Snowplow Personal and Academic License . (If you are uncertain how it applies to your use case, check our answers to frequently asked questions.)