Description
Describe the feature
This is part question, part feature request.
Request
I'd like to be able to specify the files to compare between manifests, rather than comparing everything.
Context
As part of our deployment process the dbt project is compiled and the artefacts are stored in GCS. Our deployment process is phased, so we have a 'release PR' for the global changelog and multiple dbt models can change in the main
branch relative to the deployed code. For CI, we run a deferred dbt run (slim CI) based on changed files in each PR individually. When branched from main
prior to deployment a given PR might technically have other un-deployed changes relative to the production manifest but those files are changed in different PRs. For example, consider a scenario where branch A is merged to main
but not yet released and then branch B
is subsequently branched from main
. Relative to the deployed manifest, branch B
will be seen as containing all of the the changed files from A
despite branch B
not changing any of the same files
When running Recce in this scheme - i.e., where the PR manifest(s) has a partial set of model only, but the 'prod' manifest is lagged behind the main
branch - the Recce diff determines that all of the files in a given PR are changed.
is there a way to compare only the changed models in a given PR with those same models in the base manifest? - when changing a specific model in a PR I only care about the changes incurred by the model I have changed, and not by other unrelated changes in the repository.
Describe alternatives you've considered
I haven't considered any other options, but this has stopped me adopting Recce in our release process.
Who will this benefit?
The benefit will be more streamlined PR annotations for phased deployment processes, related to only those files changed in the PR and not all changes.
Are you interested in contributing this feature?
No response
Anything else?
No response