InfuseAI / piperider

Code review for data in dbt
https://www.piperider.io/
Apache License 2.0
479 stars 23 forks source link

"Invalid git branch: main" when using piperider compare #866

Open DaveFlynn opened 1 year ago

DaveFlynn commented 1 year ago

When using the piperider compare function, you may come across the following error message:

Error: Invalid git branch: main

This is caused because PipeRider expects the name of the default/base branch to be main. This may not always be the case, and another common alternative is master.

To workaround this issue, you should create a default compare 'recipe' and specify the actual name of your default/base branch.

For instance, if your default branch is called master, you should create the following file in .piperider/compare/default.yml

base:
  branch: master
  dbt:
    commands:
    - dbt deps
    - dbt build
  piperider:
    command: piperider run
target:
  dbt:
    commands:
    - dbt deps
    - dbt build --select state:modified+ --state <DBT_STATE_PATH>
  piperider:
    command: piperider run

After creating this file, specifying the correct base branch name, you should be able run piperider compare

DaveFlynn commented 1 year ago

Another solution, that may be more desirable, is to use the --base-branch option when running compare:

piperider compare --base-branch master

The reason is that the --select option that specifies resources actually supersedes recipes, so the following command would still default to using main branch as the base:

piperider compare --select models/marts

Instead, add the --base-branch option:

piperider compare --select models/marts --base-branch master