mirror of
https://github.com/XRPLF/rippled.git
synced 2026-06-08 11:16:51 +00:00
56 lines
1.9 KiB
YAML
56 lines
1.9 KiB
YAML
name: Clang-tidy check
|
|
|
|
on:
|
|
workflow_call:
|
|
inputs:
|
|
check_only_changed:
|
|
description: "Check only changed files in PR. If false, checks all files in the repository."
|
|
type: boolean
|
|
default: false
|
|
create_issue_on_failure:
|
|
description: "Whether to create an issue if the check failed"
|
|
type: boolean
|
|
default: false
|
|
|
|
defaults:
|
|
run:
|
|
shell: bash
|
|
|
|
jobs:
|
|
determine-files:
|
|
name: Determine files to check
|
|
if: ${{ inputs.check_only_changed }}
|
|
runs-on: ubuntu-latest
|
|
outputs:
|
|
clang_tidy_config_changed: ${{ steps.changed_clang_tidy.outputs.any_changed }}
|
|
any_cpp_changed: ${{ steps.changed_files.outputs.any_changed }}
|
|
all_changed_files: ${{ steps.changed_files.outputs.all_changed_files }}
|
|
steps:
|
|
- name: Checkout repository
|
|
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
|
|
|
- name: Get changed C++ files
|
|
id: changed_files
|
|
uses: tj-actions/changed-files@22103cc46bda19c2b464ffe86db46df6922fd323 # v47.0.5
|
|
with:
|
|
files: |
|
|
**/*.cpp
|
|
**/*.h
|
|
**/*.ipp
|
|
separator: " "
|
|
|
|
- name: Get changed clang-tidy configuration
|
|
id: changed_clang_tidy
|
|
uses: tj-actions/changed-files@22103cc46bda19c2b464ffe86db46df6922fd323 # v47.0.5
|
|
with:
|
|
files: |
|
|
.clang-tidy
|
|
|
|
run-clang-tidy:
|
|
needs: [determine-files]
|
|
if: ${{ always() && !cancelled() && (!inputs.check_only_changed || needs.determine-files.outputs.any_cpp_changed == 'true' || needs.determine-files.outputs.clang_tidy_config_changed == 'true') }}
|
|
uses: ./.github/workflows/reusable-clang-tidy-files.yml
|
|
with:
|
|
files: ${{ needs.determine-files.outputs.clang_tidy_config_changed == 'true' && '' || (inputs.check_only_changed && needs.determine-files.outputs.all_changed_files || '') }}
|
|
create_issue_on_failure: ${{ inputs.create_issue_on_failure }}
|