Update ci.yml #31
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: Continuous Integration | |
| on: | |
| push: | |
| branches: | |
| - 'master' | |
| - 'main' | |
| pull_request: | |
| branches: | |
| - '**' | |
| env: | |
| PY_COLORS: "1" | |
| permissions: | |
| contents: read | |
| jobs: | |
| Linux: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| - name: Set up Python | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: "3.x" | |
| - name: Install dependencies | |
| run: | | |
| python -m pip install --upgrade pip | |
| pip install -r requirements.txt | |
| - name: Verify CLI help | |
| run: | | |
| python3 ./reader/reader.py --help | |
| macOS: | |
| runs-on: macos-latest | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| - name: Set up Python | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: "3.x" | |
| - name: Install dependencies | |
| run: | | |
| python -m pip install --upgrade pip | |
| pip install -r requirements.txt | |
| - name: Verify CLI help | |
| run: | | |
| python3 ./reader/reader.py --help | |
| Windows: | |
| runs-on: windows-latest | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| - name: Set up Python | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: "3.x" | |
| - name: Install dependencies | |
| run: | | |
| python -m pip install --upgrade pip | |
| pip install -r requirements.txt | |
| - name: Verify CLI help | |
| run: | | |
| python .\reader\reader.py --help | |
| Test: | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| # Latest version of python with three OS | |
| - { os: ubuntu-latest, python-version: "3.x" } | |
| - { os: macos-latest, python-version: "3.x" } | |
| - { os: windows-latest, python-version: "3.x" } | |
| # Older version of python | |
| - { os: ubuntu-latest, python-version: "3.14" } | |
| - { os: ubuntu-latest, python-version: "3.13" } | |
| - { os: ubuntu-latest, python-version: "3.12" } | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| - name: Set up Python | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| - name: Install dependencies | |
| run: | | |
| python -m pip install --upgrade pip | |
| pip install -r requirements.txt | |
| - name: Run tests | |
| run: | | |
| python -m unittest discover -s test -v | |
| Lint: | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| matrix: | |
| include: | |
| - { os: ubuntu-latest, python-version: "3.x" } | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| - name: Set up Python | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| - name: Install dependencies | |
| run: | | |
| python -m pip install --upgrade pip | |
| pip install -r requirements.txt | |
| pip install pylint | |
| - name: Run pylint error check | |
| run: | | |
| pylint -E $(git ls-files '*.py') | |
| - name: Assess pylint score | |
| run: | | |
| pylint --fail-under=9 reader/reader.py |