In our repo, we have main and develop as protected branches so no one can push directly to them, only open PRs to merge into them.
I’d like to set up a workflow based not on the branch the code is on (which I think pipeline.git.branch resolves to) but rather the branch the PR is trying to merge into. That way I can have cheap tests when merging to develop, but more expensive tests when merging into main.
But I just can’t figure out how or if CircleCI can do this.
That said, note that when a build is triggered upon a pull-request merge (as opposed to a pull-request creation), the CIRCLE_BRANCH built-in environment variable will contain the name of the destination branch.
However, keep in mind that a pull-request merge will only trigger a build if you merge into a default branch.
I wrote a default branch (rather than the default branch) because we have the ability to mark additional branches to be considered as default in the related CircleCI project.