Add/limit gh action run (#58) #278
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
# This workflow will install Python dependencies, run tests and lint with a variety of Python versions | |
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions | |
name: Linux | |
on: | |
push: | |
branches: | |
- main | |
- dev | |
pull_request: | |
branches: | |
- dev | |
- main | |
env: | |
TEST_PYTHON_VERSION: 3.9 | |
jobs: | |
build: | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [ubuntu-20.04] | |
python-version: [3.6, 3.7, 3.8, 3.9, 3.10.0, 3.11.0, 3.12.0, 3.13.0] | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v2 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Installation | |
run: | | |
sudo python -m pip install --upgrade pip | |
sudo pip install . | |
- name: First test | |
run: | | |
sudo nava | |
sudo nava --version | |
- name: Install ALSA | |
run: | | |
sudo apt-get update | |
sudo apt-get install alsa-utils | |
sudo apt-get install alsa-tools | |
sudo apt-get install alsa-firmware-loaders | |
sudo apt-get install alsa-oss | |
sudo apt-get install -y software-properties-common | |
sudo apt-get install linux-modules-extra-$(uname -r) | |
sudo modprobe snd-dummy | |
- name: Test requirements Installation | |
run: | | |
sudo python others/requirements-splitter.py | |
sudo pip install --upgrade --upgrade-strategy=only-if-needed -r test-requirements.txt | |
- name: Test with pytest | |
run: | | |
sudo python -m pytest --cov=nava --cov-report=term | |
- name: Other tests | |
run: | | |
sudo python -m vulture nava/ others/ setup.py --min-confidence 65 --exclude=__init__.py --sort-by-size | |
sudo python -m bandit -r nava -s B404,B603,B605,B607 | |
sudo python -m pydocstyle -v --match-dir=nava | |
if: matrix.python-version == env.TEST_PYTHON_VERSION | |
- name: Upload coverage to Codecov | |
uses: codecov/codecov-action@v4 | |
with: | |
fail_ci_if_error: true | |
token: ${{ secrets.CODECOV_TOKEN }} | |
if: matrix.python-version == env.TEST_PYTHON_VERSION | |
- name: Version check | |
run: | | |
python others/version_check.py | |
if: matrix.python-version == env.TEST_PYTHON_VERSION |