Skip to content

Update ci.yml

Update ci.yml #31

Workflow file for this run

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