pylint #32
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
name: Lint and Test | |
on: | |
workflow_dispatch: # Enables manual triggering | |
push: | |
paths: | |
- 'python/plugin.py' | |
- 'plugin/wordnet-cmp.vim' | |
pull_request: | |
paths: | |
- 'python/plugin.py' | |
- 'plugin/wordnet-cmp.vim' | |
jobs: | |
python-check: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
python-version: ['3.8', '3.9', '3.10', '3.11', '3.12', '3.13'] | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v4 | |
with: | |
python-version: ${{ matrix.python-version }} | |
cache: 'pip' # Enable pip caching | |
- name: Get pip cache dir | |
id: pip-cache | |
run: | | |
echo "dir=$(pip cache dir)" >> $GITHUB_OUTPUT | |
- name: Cache pip packages | |
uses: actions/cache@v3 | |
with: | |
path: | | |
${{ steps.pip-cache.outputs.dir }} | |
key: ${{ runner.os }}-pip-${{ matrix.python-version }}-${{ hashFiles('**/requirements.txt') }} | |
restore-keys: | | |
${{ runner.os }}-pip-${{ matrix.python-version }}- | |
${{ runner.os }}-pip- | |
- name: Install dependencies | |
run: | | |
python -m pip install --upgrade pip | |
pip install pylint pytest wn vim-client | |
- name: Lint with pylint | |
run: | | |
pylint --max-line-length=100 --output-format=text python/plugin.py | |
- name: Test with pytest | |
run: | | |
pytest python/plugin.py | |
vim-check: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Set up Python | |
uses: actions/setup-python@v4 | |
with: | |
python-version: '3.x' | |
cache: 'pip' | |
- name: Get pip cache dir | |
id: pip-cache-vim | |
run: | | |
echo "dir=$(pip cache dir)" >> $GITHUB_OUTPUT | |
- name: Cache pip packages | |
uses: actions/cache@v3 | |
with: | |
path: | | |
${{ steps.pip-cache-vim.outputs.dir }} | |
key: ${{ runner.os }}-pip-vim-${{ hashFiles('**/requirements.txt') }} | |
restore-keys: | | |
${{ runner.os }}-pip-vim- | |
- name: Install vint | |
run: | | |
python -m pip install --upgrade pip setuptools | |
pip install vim-vint==0.3.21 | |
- name: Lint Vim script | |
run: | | |
vint plugin/wordnet-cmp.vim |