spack style: automatically bootstrap dependencies

This uses our bootstrapping logic to automatically install dependencies for
`spack style`. Users should no longer have to pre-install all of the tools
(`isort`, `mypy`, `black`, `flake8`). The command will do it for them.

- [x] add logic to bootstrap specs with specific version requirements in `spack style`
- [x] remove style tools from CI requirements (to ensure we test bootstrapping)
- [x] rework dependencies for `mypy` and `py-typed-ast`
      - `py-typed-ast` needs to be a link dependency
      - it needs to be at 1.4.1 or higher to work with python 3.9

Signed-off-by: vsoch <vsoch@users.noreply.github.com>
This commit is contained in:
vsoch
2021-07-09 21:32:38 -06:00
committed by Todd Gamblin
parent a30e6c6158
commit 4208cf66be
6 changed files with 52 additions and 15 deletions

View File

@@ -39,7 +39,7 @@ jobs:
python-version: 3.9
- name: Install Python packages
run: |
pip install --upgrade pip six setuptools flake8 isort>=4.3.5 mypy>=0.900 black types-six
pip install --upgrade pip six setuptools types-six
- name: Setup git configuration
run: |
# Need this for the git tests to succeed.
@@ -370,7 +370,6 @@ jobs:
run: |
pip install --upgrade pip six setuptools
pip install --upgrade codecov coverage[toml]
pip install --upgrade flake8 isort>=4.3.5 mypy>=0.900
- name: Setup Homebrew packages
run: |
brew install dash fish gcc gnupg2 kcov