Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add github action workflow #25

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
66 changes: 66 additions & 0 deletions .github/workflows/lint_format.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
---
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why

name: Ruff Lint and Format check in PR Python files
description: Checks the lint and formatting only on **changed python files in PR** or even single commits in your repo
branding:
icon: 'check-square'
color: 'green'
runs:
using: composite
steps:
- name: Install Ruff
run: pip install ruff
shell: bash
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

not needed


- name: Get PR changes
id: get_py_files
uses: tj-actions/changed-files@v41
with:
files: "**.py"

- name: Check Python format using Ruff on changed files
id: adi658_ruff_format_check
continue-on-error: true
run: |
echo "Python files changed in PR: ${{
steps.get_py_files.outputs.all_changed_files }}"

if [ ! -z "${{ steps.get_py_files.outputs.all_changed_files }}" ]
then
ruff format --check ${{ steps.get_py_files.outputs.all_changed_files }}
else
echo "No python files changed in PR"
fi
shell: bash

- name: Check Python Lint using Ruff on changed files
id: adi658_ruff_lint_check
continue-on-error: true
run: |
echo "Python files changed in PR: ${{
steps.get_py_files.outputs.all_changed_files }}"

if [ ! -z "${{ steps.get_py_files.outputs.all_changed_files }}" ]
then
ruff check ${{ inputs.ruff_args }} ${{ steps.get_py_files.outputs.all_changed_files }}
else
echo "No python files changed in PR"
fi
shell: bash

- name: Format and Lint check Status
run: |
if [[ "${{ steps.adi658_ruff_format_check.outcome }}" == "success" && "${{ steps.adi658_ruff_lint_check.outcome }}" == success ]]; then
echo ""
echo "Lint and Format check on changed python files succeeded"
echo ""
else
echo ""
echo "***** Lint/Format Checks on changed python files failed"
echo "***** Ruff Format check result: ${{ steps.adi658_ruff_format_check.outcome }}"
echo "***** Ruff Lint check result: ${{ steps.adi658_ruff_lint_check.outcome }}"
echo ""
echo "You can auto resolve any formatting issues using 'ruff format <foldername/or/space_separated_filenames>'. Pls make sure you check/test the code after auto-format"
echo "You can auto resolve any lint issues using 'ruff check <foldername/or/space_separated_filenames> --fix'. Pls make sure you check/test/format the code after auto-lint fix"
exit 1
fi
shell: bash