summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorTodd Gamblin <tgamblin@llnl.gov>2021-07-27 15:09:19 -0700
committerTodd Gamblin <tgamblin@llnl.gov>2021-07-27 17:57:17 -0700
commit6104c315564a4be840a9704b0002bdbe004d3e07 (patch)
tree2958ceb991549e97ba87ad8ad3912b23adc7e8e4 /lib
parentaf468235e2e3d53b5cd47064e1c9e20ca13eebfc (diff)
downloadspack-6104c315564a4be840a9704b0002bdbe004d3e07.tar.gz
spack-6104c315564a4be840a9704b0002bdbe004d3e07.tar.bz2
spack-6104c315564a4be840a9704b0002bdbe004d3e07.tar.xz
spack-6104c315564a4be840a9704b0002bdbe004d3e07.zip
bugfix: be careful about GITHUB_BASE_REF in `spack style`
`spack style` previously used a Travis CI variable to figure out what the base branch of a PR was, and this was apparently also set on `develop`. We switched to `GITHUB_BASE_REF` to support GitHub Actions, but it looks like this is set to `""` in pushes to develop, so `spack style` breaks there. This PR does two things: - [x] Remove `GITHUB_BASE_REF` knowledge from `spack style` entirely - [x] Handle `GITHUB_BASE_REF` in style scripts instead, and explicitly pass the base ref if it is present, but don't otherwise. This makes `spack style` *not* dependent on the environment and fixes handling of the base branch in the right place.
Diffstat (limited to 'lib')
-rw-r--r--lib/spack/spack/cmd/style.py19
1 files changed, 11 insertions, 8 deletions
diff --git a/lib/spack/spack/cmd/style.py b/lib/spack/spack/cmd/style.py
index 473827366b..b296126116 100644
--- a/lib/spack/spack/cmd/style.py
+++ b/lib/spack/spack/cmd/style.py
@@ -79,17 +79,20 @@ class tool(object):
return fun
-def changed_files(base=None, untracked=True, all_files=False, root=None):
- """Get list of changed files in the Spack repository."""
+def changed_files(base="develop", untracked=True, all_files=False, root=None):
+ """Get list of changed files in the Spack repository.
+
+ Arguments:
+ base (str): name of base branch to evaluate differences with.
+ untracked (bool): include untracked files in the list.
+ all_files (bool): list all files in the repository.
+ root (str): use this directory instead of the Spack prefix.
+ """
if root is None:
root = spack.paths.prefix
git = which("git", required=True)
- # GITHUB_BASE_REF is set to the base branch for pull request actions
- if base is None:
- base = os.environ.get("GITHUB_BASE_REF", "develop")
-
# ensure base is in the repo
git("show-ref", "--verify", "--quiet", "refs/heads/%s" % base,
fail_on_error=False)
@@ -147,8 +150,8 @@ def setup_parser(subparser):
"-b",
"--base",
action="store",
- default=None,
- help="select base branch for collecting list of modified files",
+ default="develop",
+ help="branch to compare against to determine changed files (default: develop)",
)
subparser.add_argument(
"-a",