Skip to content

Update GitHub workflows #177

Update GitHub workflows

Update GitHub workflows #177

Workflow file for this run

---
name: Quality
on: # yamllint disable-line rule:truthy
push:
branches:
- main
- 'releases/**'
pull_request:
types: [opened, synchronize, reopened]
workflow_dispatch:
concurrency:
group: ${{ github.ref }}
cancel-in-progress: ${{ github.ref != 'refs/heads/main' }}
permissions:
contents: read # Required to evaluate the event trigger metadata safely
jobs:
mule-checks:
runs-on: ubuntu-latest
timeout-minutes: 5
steps:
- name: Checkout repository
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
with:
persist-credentials: false
- name: Setup uv
uses: astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 # v8.3.2
with:
enable-cache: false
- name: Install dependencies
run: uv sync
- name: Python Lint
run: uv run ruff check .
- name: Python Format Check
if: always()
run: uv run ruff format --check --diff -s --respect-gitignore .
- name: Shell Check
if: always()
run: |
find . -type f \( -name "*.*sh" -o ! -name "*.*" \) \
-not -path "*/.git/*" -not -path "*/.venv/*" \
-exec sh -c 'file "$1" | grep -q "shell script"' _ {} \; \
-exec uv run shellcheck -S warning {} + \
&& echo "All checks passed!"
- name: CPPLINT
# See: CPPLINT.cfg
if: always()
run: |
uv run cpplint --recursive --extensions=c,h \
--exclude=.git --exclude=.venv .