Skip to content

Commit

Permalink
Create lint.yml
Browse files Browse the repository at this point in the history
  • Loading branch information
anosh-ar authored Jun 7, 2024
1 parent 3cea428 commit 7e97e37
Showing 1 changed file with 51 additions and 0 deletions.
51 changes: 51 additions & 0 deletions .github/workflows/lint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
name: Lint and Format Code

on:
push:
paths:
- 'src/python/**'
- '.github/workflows/lint.yml'

jobs:
lint-and-format:
runs-on: ubuntu-latest

steps:
- name: Checkout code
uses: actions/checkout@v2

- name: Set up Python
uses: actions/setup-python@v2
with:
python-version: '3.8'

- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install black pylint
- name: Format code with Black
run: black .

- name: Run pylint
id: lint
continue-on-error: true
run: pylint your_project_directory > pylint_report.txt

- name: Send code rating to slack
run: |
RATING=$(grep -oP "Your code has been rated at \K[0-9\.]+/[0-9\.]+" pylint_report.txt)
curl -X POST -H 'Content-type: application/json' --data "{\"text\":\"Your code rating of your recent push is: ${RATING}\"}" ${{ secrets.SLACK_WEBHOOK_URL }}
- name: Check for critical pylint errors
id: pylint_check
run: |
if grep -E "(syntax-error|fatal)" pylint_report.txt; then
exit 1
fi
- name: Send Slack notification on failure
if: steps.pylint_check.outcome == 'failure'
run: |
ERROR_MSG=$(grep -E "(syntax-error|fatal)" pylint_report.txt)
curl -X POST -H 'Content-type: application/json' --data "{\"text\":\"Critical linting errors found in the code. Please check the logs for details:\n\`\`\`$ERROR_MSG\`\`\`\"}" ${{ secrets.SLACK_WEBHOOK_URL }}

0 comments on commit 7e97e37

Please sign in to comment.