mirror of
https://github.com/FlipsideCrypto/fsc-evm.git
synced 2026-02-06 15:26:44 +00:00
| .github/workflows | ||
| macros | ||
| models | ||
| .gitignore | ||
| dbt_project.yml | ||
| LICENSE | ||
| makefile | ||
| packages.yml | ||
| profiles.yml | ||
| README.md | ||
| requirements.txt | ||
README for EVM dbt macros, models and documentation
Adding the fsc_evm dbt package
The fsc_evm dbt package is a centralized repository consisting of various dbt macros and snowflake functions that can be utilized across other repos.
- Navigate to
packages.ymlin your respective repo. - Add the following (reference the latest version from here):
- git: https://github.com/FlipsideCrypto/fsc-evm.git
revision: "v1.1.0"
- Run
dbt clean && dbt depsto install the package
Troubleshooting:
If package_lock.yml is present, you may need to remove it and re-run dbt deps. This is a known issue when installing dbt packages with the same version or revision tag.
Recommended Development Flow
The recommended development flow for making changes to fsc-evm is as follows:
- Create a new branch in
fsc-evmwith your changes (e.g.AN-1234/dummy-branch). When ready to test in another project, push your branch to the repository. - In your project (e.g.
swell-models), update the version inpackages.ymlto your branchrevision: AN-1234/dummy-branch. - Run
make cleanup_timeto pull in the current remote version of your branch.- This will delete
package-lock.ymland rundbt clean && dbt deps.
- This will delete
- Begin testing changes in project repository.
- If more changes are needed to the
fsc-evmbranch:- Make sure to push them up and re-run
make cleanup_timein the project. - Note: If you do not delete
package-lock.yml, you likely won't pull in your latest changes, even if you rundbt clean && dbt deps.
- Make sure to push them up and re-run
- Once the
fsc-evmPR is ready, proceed to the Adding Release Versions section.
Adding Release Versions
- First get PR approval/review before proceeding with version tagging.
- Make the necessary changes to your code in your dbt package repository (e.g., fsc-utils).
- Commit your changes with
git add .andgit commit -m "Your commit message". - Push your commits to the remote repository with
git push .... - Tag your commit with a version number using
git tag -a v1.1.0 -m "version 1.1.0". - Push your tags to the remote repository with
git push origin --tags. - Add official
Releasenotes to the repo with the new tag.
- Each
Releaseshould be formatted with the following template:Release Title: <vx.y.z release title> - Description of changes - ... **Full Changelog**: <link to the commits included in this new version> (hint: click the "Generate Release Notes" button on the release page to automatically generate this link)
- In the
packages.ymlfile of your other dbt project, specify the new version of the package with:
Alternatively, you can use the makefile to create a new tag and push it to the remote repository:
make new_repo_tag
Last 3 tags:
v1.11.0
v1.10.0
v1.9.0
Enter new tag name (e.g., v1.1.0) or 'q' to quit:
vx.y.z # where x, y, and z are the new version numbers (or q to quit)
packages:
- git: "https://github.com/FlipsideCrypto/fsc-evm.git" revision: "v1.1.0"
Regarding Semantic Versioning;
1. Semantic versioning is a versioning scheme for software that aims to convey meaning about the underlying changes with each new release.
2. It's typically formatted as MAJOR.MINOR.PATCH (e.g. v1.2.3), where:
- MAJOR version (first number) should increment when there are potential breaking or incompatible changes.
- MINOR version (second number) should increment when functionality or features are added in a backwards-compatible manner.
- PATCH version (third number) should increment when bug fixes are made without adding new features.
1. Semantic versioning helps package users understand the degree of changes in a new release, and decide when to adopt new versions. With dbt packages, when you tag a release with a semantic version, users can specify the exact version they want to use in their projects.
---
### DBT Resources:
- Learn more about dbt [in the docs](https://docs.getdbt.com/docs/introduction)
- Check out [Discourse](https://discourse.getdbt.com/) for commonly asked questions and answers
- Join the [chat](https://community.getdbt.com/) on Slack for live discussions and support
- Find [dbt events](https://events.getdbt.com) near you
- Check out [the blog](https://blog.getdbt.com/) for the latest news on dbt's development and best practices