Significantly improve camera startup performance on Windows #145
This file contains hidden or 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: Unit Tests | |
| on: | |
| push: | |
| branches: ['**'] # Run on all branches | |
| tags-ignore: ['v*'] # But skip version tags | |
| paths: | |
| - 'kvm_serial/**' | |
| - 'tests/**' | |
| pull_request: | |
| workflow_call: | |
| inputs: | |
| skip-coverage: | |
| type: boolean | |
| default: false | |
| jobs: | |
| test: | |
| name: Run tests and collect coverage | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-python@v4 | |
| with: | |
| python-version: '3.10' # Specify your Python version | |
| cache: 'pip' # Enable pip caching | |
| - name: Install test dependencies | |
| run: pip install pytest pytest-cov pytest-timeout | |
| - name: Install project dependencies | |
| run: pip install -r requirements.txt | |
| - name: Run backend tests | |
| run: > | |
| pytest tests/backend/ --cov --cov-append --cov-branch \ | |
| --cov-report=xml --junitxml=./junit.xml | |
| - name: Run utils tests | |
| run: > | |
| pytest tests/utils/ --cov --cov-append --cov-branch \ | |
| --cov-report=xml --junitxml=./junit.xml | |
| - name: Run frontend GUI tests | |
| run: > | |
| pytest tests/kvm/ --cov --cov-append --cov-branch \ | |
| --cov-report=xml --junitxml=./junit.xml | |
| - name: Run control test | |
| run: > | |
| pytest tests/test_control.py --cov --cov-append --cov-branch \ | |
| --cov-report=xml --junitxml=./junit.xml | |
| - name: Upload test results to Codecov | |
| if: ${{ !cancelled() && !inputs.skip-coverage }} | |
| uses: codecov/test-results-action@v1 | |
| with: | |
| files: ./junit.xml,!./cache | |
| flags: python3.10 | |
| token: ${{ secrets.CODECOV_TOKEN }} | |
| - name: Upload results to Codecov | |
| if: ${{ !cancelled() && !inputs.skip-coverage }} | |
| uses: codecov/codecov-action@v5 | |
| with: | |
| env_vars: OS,PYTHON | |
| fail_ci_if_error: true | |
| flags: unittests | |
| token: ${{ secrets.CODECOV_TOKEN }} |