diff --git a/.github/actions/install-python-packages/action.yml b/.github/actions/install-python-packages/action.yml index 9bc4281e..5e30ff09 100644 --- a/.github/actions/install-python-packages/action.yml +++ b/.github/actions/install-python-packages/action.yml @@ -19,5 +19,7 @@ runs: setuptools \ gcovr==5.0 \ pyyaml \ - jsonschema + jsonschema \ + flake8 \ + flake8-quotes shell: bash diff --git a/.github/workflows/build_dependencies.yml b/.github/workflows/build_dependencies.yml index 2cac3ad3..a72b4589 100644 --- a/.github/workflows/build_dependencies.yml +++ b/.github/workflows/build_dependencies.yml @@ -76,7 +76,7 @@ jobs: - name: Fetch repositories run: | - vcs import src < src/dev-utils/.github/workflows/ci.repos + vcs import src < src/dev-utils/.github/workflows/configurations/ci.repos cd src/fastdds && git checkout ${{ inputs.fastdds_branch }} && cd ../.. - name: Build workspace diff --git a/.github/workflows/asan_colcon.meta b/.github/workflows/configurations/asan_colcon.meta similarity index 100% rename from .github/workflows/asan_colcon.meta rename to .github/workflows/configurations/asan_colcon.meta diff --git a/.github/workflows/ci.repos b/.github/workflows/configurations/ci.repos similarity index 100% rename from .github/workflows/ci.repos rename to .github/workflows/configurations/ci.repos diff --git a/.github/workflows/clang_colcon.meta b/.github/workflows/configurations/clang_colcon.meta similarity index 100% rename from .github/workflows/clang_colcon.meta rename to .github/workflows/configurations/clang_colcon.meta diff --git a/.github/workflows/coverage_colcon.meta b/.github/workflows/configurations/coverage_colcon.meta similarity index 100% rename from .github/workflows/coverage_colcon.meta rename to .github/workflows/configurations/coverage_colcon.meta diff --git a/.github/workflows/configurations/setup.cfg b/.github/workflows/configurations/setup.cfg new file mode 100644 index 00000000..38a8772f --- /dev/null +++ b/.github/workflows/configurations/setup.cfg @@ -0,0 +1,6 @@ +[flake8] +max-line-length = 99 +max-doc-length = 300 +statistics = True +max-complexity = 10 +count = True diff --git a/.github/workflows/tsan_colcon.meta b/.github/workflows/configurations/tsan_colcon.meta similarity index 100% rename from .github/workflows/tsan_colcon.meta rename to .github/workflows/configurations/tsan_colcon.meta diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 5425b9c6..8d647206 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -105,11 +105,11 @@ jobs: - name: Build workspace run: | - cat src/dev-utils/.github/workflows/coverage_colcon.meta + cat src/dev-utils/.github/workflows/configurations/coverage_colcon.meta source /home/runner/work/fastdds/install/setup.bash colcon build \ --event-handlers=console_direct+ \ - --metas src/dev-utils/.github/workflows/coverage_colcon.meta \ + --metas src/dev-utils/.github/workflows/configurations/coverage_colcon.meta \ --mixin coverage-gcc asan-gcc - name: Run tests @@ -203,7 +203,7 @@ jobs: source /home/runner/work/fastdds/install/setup.bash colcon build \ --event-handlers=console_direct+ \ - --metas src/dev-utils/.github/workflows/asan_colcon.meta + --metas src/dev-utils/.github/workflows/configurations/asan_colcon.meta - name: Run tests run: | @@ -270,7 +270,7 @@ jobs: source /home/runner/work/fastdds/install/setup.bash colcon build \ --event-handlers=console_direct+ \ - --metas src/dev-utils/.github/workflows/tsan_colcon.meta + --metas src/dev-utils/.github/workflows/configurations/tsan_colcon.meta - name: Run tests run: | @@ -490,11 +490,11 @@ jobs: - name: Build workspace run: | - cat src/dev-utils/.github/workflows/coverage_colcon.meta + cat src/dev-utils/.github/workflows/configurations/coverage_colcon.meta source /home/runner/work/fastdds/install/setup.bash colcon build \ --event-handlers=console_direct+ \ - --metas src/dev-utils/.github/workflows/coverage_colcon.meta \ + --metas src/dev-utils/.github/workflows/configurations/coverage_colcon.meta \ --mixin coverage-gcc asan-gcc - name: Run tests @@ -542,11 +542,11 @@ jobs: - name: Build workspace run: | - cat src/dev-utils/.github/workflows/clang_colcon.meta + cat src/dev-utils/.github/workflows/configurations/clang_colcon.meta source /home/runner/work/fastdds/install/setup.bash colcon build \ --event-handlers=console_direct+ \ - --metas src/dev-utils/.github/workflows/clang_colcon.meta + --metas src/dev-utils/.github/workflows/configurations/clang_colcon.meta - name: Run clang-tidy run: | @@ -637,3 +637,45 @@ jobs: with: name: uncrustify_results path: uncrustify_results.xml + +########################################################### +# PYTHON LINTER + python-linter: + runs-on: ubuntu-latest + steps: + - name: Sync eProsima/dev-utils repository + uses: actions/checkout@v2 + with: + path: src/dev-utils + + - name: Fetch all branches and tags + run: | + cd src/dev-utils + git fetch --prune --unshallow + + - name: Install apt packages + uses: ./src/dev-utils/.github/actions/install-apt-packages + + - name: Install Python packages + uses: ./src/dev-utils/.github/actions/install-python-packages + + - name: Get difference + run: | + cd src/dev-utils + echo "MODIFIED_FILES=$(git diff --name-only origin/${GITHUB_BASE_REF} origin/${GITHUB_HEAD_REF} | grep -e '\.py' | tr '\n' ' ')" >> $GITHUB_ENV + + - name: Check difference + run: | + cd src/dev-utils + if [[ -z "${MODIFIED_FILES}" ]] + then + touch empty.py + echo "MODIFIED_FILES=empty.py" >> $GITHUB_ENV + fi + echo ${MODIFIED_FILES} + + - name: Check flake8 linter + run: | + cd src/dev-utils + python3 -m flake8 --config ./.github/workflows/configurations/setup.cfg ${MODIFIED_FILES} + if: always()