build: goimports check relative to PR base branch

At the risk of a little bit of hidden spooky action at a distance, this
will slightly change the behavior of the "goimports check" to compare
against the base branch of a PR rather than to origin/main if we happen
to find one of the environment variables that GitHub Actions sets
automatically in its runners. This is targeting our "checks.yml" workflow
in particular.

The intention here is to avoid misreporting files that haven't actually
changed when a PR is targeting a branch other than the main branch, such
as directly targeting a historical release branch.

We'll still run against origin/main when we're not running in GitHub
Actions, since that's _typically_ the correct branch to use for new
work, even if it will eventually get backported to a release branch.
This commit is contained in:
Martin Atkins 2022-08-25 15:43:15 -07:00
parent 246686813d
commit c2ec25e359

View File

@ -16,6 +16,13 @@ declare -a target_files
target_files[0]=""
base_branch="origin/main"
# HACK: If we seem to be running inside a GitHub Actions pull request check
# then we'll use the PR's target branch from this variable instead.
if [[ -n "${GITHUB_BASE_REF:-}" ]]; then
base_branch="origin/$GITHUB_BASE_REF"
fi
readarray -t target_files < <(git diff --name-only ${base_branch} --diff-filter=MA | grep "\.go")
if [[ "${#target_files[@]}" -eq 0 ]]; then