Merge pull request #711 from bryaneaton/master #389
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Testing Pipeline | |
on: | |
push: | |
branches: [master] | |
pull_request: | |
types: [opened, synchronize, reopened] | |
jobs: | |
unit_tests: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
python-version: ["3.7", "3.8", "3.9", "3.10", "3.11"] | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v2 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Install dependencies | |
run: | | |
python -m pip install -U pip | |
pip install pytest \ | |
pytest-vcr \ | |
pytest-datafiles \ | |
pytest-cov \ | |
responses | |
pip install -r requirements.txt | |
- name: Run the unit test suite. | |
run: | | |
pytest tests \ | |
--vcr-record=none \ | |
--cov-report term-missing \ | |
--cov-report xml:cov/coverage.xml \ | |
--cov=tenable tests | |
- name: Test if the library is installable | |
run: | | |
pip install . | |
cd aux_tests && pytest test_installable.py | |
- name: Save Coverage Report | |
uses: actions/upload-artifact@v2 | |
with: | |
name: coverage_report_${{ matrix.python-version }} | |
path: cov | |
retention-days: 1 | |
style: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: actions/setup-python@v2 | |
with: | |
python-version: 3.8 | |
- name: Setup environment | |
run: | | |
python -m pip install -U pip | |
pip install flake8 \ | |
flake8-fixme \ | |
flake8-author \ | |
flake8-pylint \ | |
flake8-plugin-utils | |
- name: Run flake8 | |
run: | | |
flake8 tenable \ | |
--count \ | |
--select=E9,F63,F7,F82 \ | |
--show-source \ | |
--statistics | |
flake8 tenable \ | |
--count \ | |
--exit-zero \ | |
--max-complexity=12 \ | |
--statistics | |
snyk: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@master | |
- uses: snyk/actions/setup@master | |
- uses: actions/setup-python@v2 | |
with: | |
python-version: 3.8 | |
- name: Setup environment | |
run: pip install -r requirements.txt | |
- name: Snyk Library check | |
env: | |
SNYK_TOKEN: ${{ secrets.SNYK_TOKEN }} | |
run: snyk test --org=pytenable | |
sonarcloud: | |
runs-on: ubuntu-latest | |
needs: unit_tests | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Download Coverage Report | |
uses: actions/download-artifact@v2 | |
with: | |
name: coverage_report_3.8 | |
path: cov | |
- name: SonarCloud Scan | |
uses: SonarSource/sonarcloud-github-action@master | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} |