forked from ranger/ranger
-
Notifications
You must be signed in to change notification settings - Fork 0
73 lines (71 loc) · 2.48 KB
/
pr.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
name: PR Pylint, PEP8 and Pytest
on: pull_request
jobs:
test_PR:
env:
TERM: xterm
runs-on: ubuntu-latest
strategy:
max-parallel: 4
matrix:
python-version: [3.x]
steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
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: Get changed Python files
uses: dorny/paths-filter@v3
id: paths-filter
with:
list-files: 'shell'
filters: |
this-workflow:
- modified: '.github/workflows/pr.yml'
code:
- added|modified: '!(ranger/config)**.py'
config:
- added|modified: 'ranger/config/**.py'
- name: Lint changed code with Flake8 and Pylint
if: steps.paths-filter.outputs.code == 'true'
&& steps.paths-filter.outputs.this-workflow == 'false'
run: |
flake8 ${{ steps.paths-filter.outputs.code_files }}
pylint ${{ steps.paths-filter.outputs.code_files }}
- name: Lint all code with Flake8 and Pylint
if: steps.paths-filter.outputs.this-workflow == 'true'
run: |
make TEST_PATHS_CONFIG= test_flake8
make TEST_PATHS_CONFIG=--version test_pylint
- name: Lint changed config with Flake8 and Pylint
if: steps.paths-filter.outputs.config == 'true'
&& steps.paths-filter.outputs.this-workflow == 'false'
run: |
flake8 ${{ steps.paths-filter.outputs.config }}
pylint --rcfile=ranger/config/.pylintrc \
${{ steps.paths-filter.outputs.config_files }}
- name: Lint all config with Flake8 and Pylint
if: steps.paths-filter.outputs.this-workflow == 'true'
run: |
make TEST_PATHS_MAIN= test_flake8
make TEST_PATHS_MAIN=--version test_pylint
- name: Run doctest
if: steps.paths-filter.outputs.code == 'true'
|| steps.paths-filter.outputs.this-workflow == 'true'
run: |
make test_doctest
- name: Test code with Pytest
if: steps.paths-filter.outputs.code == 'true'
|| steps.paths-filter.outputs.this-workflow == 'true'
run: |
make test_pytest
- name: Check man page completeness
if: steps.paths-filter.outputs.code == 'true'
|| steps.paths-filter.outputs.this-workflow == 'true'
run: |
make test_other