mirror of
https://github.com/rizinorg/cutter.git
synced 2024-12-18 19:06:10 +00:00
60 lines
1.6 KiB
YAML
60 lines
1.6 KiB
YAML
name: "Linter"
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- dev
|
|
- stable
|
|
pull_request:
|
|
branches:
|
|
- dev
|
|
- stable
|
|
|
|
jobs:
|
|
changes:
|
|
runs-on: ubuntu-latest
|
|
outputs:
|
|
clang-format: ${{ steps.filter.outputs.clang-format }}
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- uses: dorny/paths-filter@v2
|
|
id: filter
|
|
with:
|
|
filters: |
|
|
clang-format:
|
|
- '**.cpp'
|
|
- '**.c'
|
|
- '**.h'
|
|
- '.github/workflows/linter.yml'
|
|
- 'scripts/clang-format.py'
|
|
- '_clang-format'
|
|
|
|
clang-format:
|
|
needs: changes
|
|
runs-on: ubuntu-22.04
|
|
if: ${{ needs.changes.outputs.clang-format == 'true' }}
|
|
steps:
|
|
- name: Checkout repository
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Install wget, software-properties-common, lsb-release (dependencies of LLVM install script)
|
|
run: sudo apt --assume-yes install wget software-properties-common lsb-release
|
|
|
|
- name: Uninstall old conflicting packages
|
|
run: sudo apt purge --assume-yes --auto-remove llvm python3-lldb-14 llvm-14
|
|
|
|
- name: Install automatic LLVM 16
|
|
run: wget https://apt.llvm.org/llvm.sh -O /tmp/llvm-install.sh; chmod +x /tmp/llvm-install.sh; sudo /tmp/llvm-install.sh 16
|
|
|
|
- name: Install clang-format-16
|
|
run: sudo apt --assume-yes install clang-format-16
|
|
|
|
- name: Install gitpython
|
|
run: sudo pip install gitpython
|
|
|
|
- name: Run clang-format
|
|
run: |
|
|
sudo update-alternatives --install /usr/bin/clang-format clang-format /usr/bin/clang-format-16 160
|
|
clang-format --version
|
|
python scripts/clang-format.py --check --verbose
|