762ba27036
* Add two no-op jobs named "all-prechecks" and "all" These are a suggestion from @tgamblin, they are stable named markers we can use from gitlab and possibly for required checks to make CI more resilient to refactors changing the names of specific checks. * Enable parallel testing using xdist for unit testing in CI * Normalize tmp paths to deal with macos * add -u flag compatibility to spack python As of now, it is accepted and ignored. The usage with xdist, where it is invoked specifically by `python -u spack python` which is then passed `-u` by xdist is the entire reason for doing this. It should never be used without explicitly passing -u to the executing python interpreter. * use spack python in xdist to support python 2 When running on python2, spack has many import cycles unless started through main. To allow that, this uses `spack python` as the interpreter, leveraging the `-u` support so xdist doesn't error out when it unconditionally requests unbuffered binary IO. * Use shutil.move to account for tmpdir being in a separate filesystem sometimes
44 lines
1.4 KiB
YAML
44 lines
1.4 KiB
YAML
name: audit
|
|
|
|
on:
|
|
workflow_call:
|
|
inputs:
|
|
with_coverage:
|
|
required: true
|
|
type: string
|
|
python_version:
|
|
required: true
|
|
type: string
|
|
|
|
concurrency:
|
|
group: audit-${{inputs.python_version}}-${{github.ref}}-${{github.event.pull_request.number || github.run_number}}
|
|
cancel-in-progress: true
|
|
|
|
jobs:
|
|
# 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: ${{inputs.python_version}}
|
|
- 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
|