В моем github-actions.yml, я изначально добавил следующий шаг проверки, чтобы проверить стиль и сложность кода Python:
Код: Выделить всё
- name: Lint code
run: |
flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics --exclude=myenv,*/pip/_vendor/*
flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics --exclude=myenv,*/pip/_vendor/*
Моя конфигурация Flake8 слишком строга для обычного использования в CI/CD?
Следует ли мне настроить флаги --max-complexity и --max-line-length или удалить флаг --select, чтобы сделать конвейер менее подверженным сбоям?< /p>
Как лучше всего обеспечить качество кода Python, чтобы избежать слишком частых сбоев конвейера CI/CD?
Я уже пробовал удалить этап проверки полностью, что позволило конвейеру пройти, но ценой пропуска проверок качества кода.
Использование Hadolint для проверки Dockerfile работало нормально, но строгие правила Flake8 в отношении сложности кода и длины строки вызывали проблемы.
Я хотел бы сохранить этап проверки Python, но сделать его менее строгим, сохраняя при этом некоторые базовые проверки качества.
Любые предложения о том, как это сделать следует ли балансировать строгость и практичность в конвейере CI?
Сначала я пытался использовать следующую конфигурацию проверки Flake8 в своем конвейере действий GitHub:
Код: Выделить всё
- name: Lint code
run: |
flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics --exclude=myenv,*/pip/_vendor/*
flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics --exclude=myenv,*/pip/_vendor/*
Когда я закомментировал или удалил этап проверки, конвейер работал успешно, но пропустил проверки качества кода. Я надеялся найти баланс между обеспечением качества кода и предотвращением постоянных сбоев конвейера.
Подробнее здесь: https://stackoverflow.com/questions/790 ... too-strict