83 lines
2.8 KiB
YAML
83 lines
2.8 KiB
YAML
|
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
|