Skip to content

Use different clang-tidy CI job that can run on non-PR branches #16

Use different clang-tidy CI job that can run on non-PR branches

Use different clang-tidy CI job that can run on non-PR branches #16

name: Run C++ Tests
on:
push:
branches:
- main
- 'maint/maint*'
pull_request:
branches: '**'
jobs:
build:
name: Lint ICU4C C++ executor
runs-on: ubuntu-latest
permissions:
contents: read # change to write for thread comments
# metadata: read # for thread comments
# pull-requests: write # for pull request reviews
steps:
- uses: actions/checkout@v4
# Optionally generate compile_commands.json
# Run clang-tidy
# Note: when running locally at the command line, use the equivalent
# command when in the directory `executors/cpp`:
# clang-tidy *.cpp --fix-errors --config-file="clang-tidy-config.yml" -p .
# Note: you must run setup.sh and also run install_icu4c_binary.sh (for a given ICU4C version) first
# before running the above clang-tidy command
- uses: cpp-linter/cpp-linter-action@v2
with:
repo-root: "./executors/cpp"
style: 'file' # Use .clang-format config file
tidy-checks: '' # Use .clang-tidy config file
# only 'update' a single comment in a pull request thread.
# thread-comments: ${{ github.event_name == 'pull_request' && 'update' }}
extra-args: '--config-file="clang-tidy-config.yml" -p .'
# # clang-tidy specific configs
# build_dir: './executors/cpp'
# config_file: './executors/cpp/clang-tidy-config.yml'
# # Action-specific config
# split_workflow: true
# apt_packages: "libjson-c-dev,libicu-dev"
id: linter
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# If there are any comments, fail the check
- if: steps.linter.outputs.checks-failed > 0
run: exit 1