diff options
Diffstat (limited to '.github/workflows/valid-style.yml')
-rw-r--r-- | .github/workflows/valid-style.yml | 82 |
1 files changed, 82 insertions, 0 deletions
diff --git a/.github/workflows/valid-style.yml b/.github/workflows/valid-style.yml new file mode 100644 index 0000000000..73c8dc76f1 --- /dev/null +++ b/.github/workflows/valid-style.yml @@ -0,0 +1,82 @@ +name: style + +on: + workflow_call: + inputs: + with_coverage: + required: true + type: string + +concurrency: + group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.run_number }} + cancel-in-progress: true + + +jobs: + # Validate that the code can be run on all the Python versions + # supported by Spack + validate: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # @v2 + - uses: actions/setup-python@b55428b1882923874294fa556849718a1d7f2ca5 # @v2 + with: + python-version: '3.10' + cache: 'pip' + - name: Install Python Packages + run: | + pip install --upgrade pip + pip install --upgrade vermin + - name: vermin (Spack's Core) + run: vermin --backport argparse --violations --backport typing -t=2.7- -t=3.6- -vvv lib/spack/spack/ lib/spack/llnl/ bin/ + - name: vermin (Repositories) + run: vermin --backport argparse --violations --backport typing -t=2.7- -t=3.6- -vvv var/spack/repos + # Run style checks on the files that have been changed + style: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # @v2 + with: + fetch-depth: 0 + - uses: actions/setup-python@b55428b1882923874294fa556849718a1d7f2ca5 # @v2 + with: + python-version: '3.10' + cache: 'pip' + - name: Install Python packages + run: | + python3 -m pip install --upgrade pip six setuptools types-six click==8.0.2 'black==21.12b0' mypy isort clingo flake8 + - name: Setup git configuration + run: | + # Need this for the git tests to succeed. + git --version + . .github/workflows/setup_git.sh + - name: Run style tests + run: | + share/spack/qa/run-style-tests + # Run audits on all the packages in the built-in repository + package-audits: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # @v2 + - uses: actions/setup-python@b55428b1882923874294fa556849718a1d7f2ca5 # @v2 + with: + python-version: '3.10' + - name: Install Python packages + run: | + pip install --upgrade pip six setuptools pytest codecov coverage[toml]==6.2 + - name: Package audits (with coverage) + if: ${{ inputs.with_coverage == 'true' }} + run: | + . share/spack/setup-env.sh + coverage run $(which spack) audit packages + coverage combine + coverage xml + - name: Package audits (without coverage) + if: ${{ inputs.with_coverage == 'false' }} + run: | + . share/spack/setup-env.sh + $(which spack) audit packages + - uses: codecov/codecov-action@81cd2dc8148241f03f5839d295e000b8f761e378 # @v2.1.0 + if: ${{ inputs.with_coverage == 'true' }} + with: + flags: unittests,linux,audits |