Skip to content

Commit

Permalink
Use MegaLinter for linting in workflows
Browse files Browse the repository at this point in the history
  • Loading branch information
johannaengland committed Aug 30, 2024
1 parent 243df6b commit 951dba9
Show file tree
Hide file tree
Showing 4 changed files with 61 additions and 30 deletions.
45 changes: 45 additions & 0 deletions .github/workflows/linter.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
---
# MegaLinter GitHub Action configuration file
# More info at https://megalinter.io
name: MegaLinter
on:
push:
branches: "master"
pull_request:

jobs:
megalinter:
name: MegaLinter
runs-on: ubuntu-latest
permissions:
# Give the linter write permission to comment on PRs (if PR is not from fork)
issues: write
pull-requests: write
steps:
# Git Checkout
- name: Checkout Code
uses: actions/checkout@v4
with:
token: ${{ secrets.GITHUB_TOKEN }}
fetch-depth: 0
# MegaLinter
- name: MegaLinter
id: ml
# You can override MegaLinter flavor used to have faster performances
# More info at https://megalinter.io/flavors/
uses: oxsecurity/megalinter/flavors/python@v7
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# Validate whole codebase on pushes and only changes on pull requests
# VALIDATE_ALL_CODEBASE: ${{ github.event_name == 'push'}}
VALIDATE_ALL_CODEBASE: true

# Upload MegaLinter artifacts
- name: Archive production artifacts
if: success() || failure()
uses: actions/upload-artifact@v4
with:
name: MegaLinter reports
path: |
megalinter-reports
mega-linter.log
29 changes: 0 additions & 29 deletions .github/workflows/python.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,36 +6,7 @@ on:
pull_request:

jobs:
lint:
runs-on: ubuntu-latest
name: Lint
steps:
- uses: actions/checkout@v4

- uses: actions/cache@v4
id: cache
with:
path: ~/.cache/pip
key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }}
restore-keys: |
${{ runner.os }}-pip-
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: 3.11

- name: Install dependencies
run: |
pip install -U pip
pip install tox flake8
- name: flake8 critical lint
run: tox -e flake8-critical

test:
needs: lint

name: "Python ${{ matrix.python-version }}"
runs-on: ubuntu-latest

Expand Down
14 changes: 14 additions & 0 deletions .mega-linter.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# All available variables are described in documentation
# https://megalinter.io/configuration/

LINTER_RULES_PATH: .

ENABLE_LINTERS:
- PYTHON_BLACK
- PYTHON_FLAKE8

# Make workflow fail even on non blocking errors
FORMATTERS_DISABLE_ERRORS: false

PYTHON_BLACK_CONFIG_FILE: pyproject.toml
PYTHON_FLAKE8_CONFIG_FILE: tox.ini
3 changes: 2 additions & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,8 @@ write_to = "src/argus/version.py"

[tool.black]
line-length = 120
exclude = '''
# Exclude files even when passed directly as argument (for MegaLinter)
force-exclude = '''
(
/(
\.eggs # exclude a few common directories in the
Expand Down

0 comments on commit 951dba9

Please sign in to comment.