python-package.yml (1417B)
1 # This workflow will install Python dependencies, run tests and lint with a variety of Python versions 2 # For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions 3 4 name: Python package 5 6 on: 7 workflow_dispatch: 8 push: 9 branches: [main, dev] 10 pull_request: 11 branches: [main, dev] 12 13 jobs: 14 build: 15 runs-on: ubuntu-latest 16 strategy: 17 fail-fast: false 18 matrix: 19 python-version: ["3.9", "3.10", "3.11", "3.12"] 20 21 steps: 22 - uses: actions/checkout@v3 23 - name: Set up Python ${{ matrix.python-version }} 24 uses: actions/setup-python@v3 25 with: 26 python-version: ${{ matrix.python-version }} 27 - name: Install dependencies 28 run: | 29 python -m pip install --upgrade pip 30 python -m pip install . 31 nam-hello-world 32 - name: Lint with flake8 33 run: | 34 python -m pip install flake8 35 # stop the build if there are Python syntax errors or undefined names 36 flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics 37 # exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide 38 flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics 39 - name: Test with pytest 40 run: | 41 python -m pip install pytest pytest-mock 42 xvfb-run -a pytest