Add conflict_reminder action for backport PR #2
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: iwyu | |
on: | |
pull_request: | |
branches: | |
- master | |
env: | |
BUILD_TYPE: RelWithDebInfo | |
BUILD_DIR: build | |
CLEANER_OUTPUT_PATH: build/clang-include-cleaner.log | |
CLEANER_DIRS: test/unit exceptions alternator api auth cdc compaction db dht gms | |
permissions: {} | |
# cancel the in-progress run upon a repush | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
read-toolchain: | |
uses: ./.github/workflows/read-toolchain.yaml | |
clang-include-cleaner: | |
name: "Analyze #includes in source files" | |
needs: | |
- read-toolchain | |
runs-on: ubuntu-latest | |
container: ${{ needs.read-toolchain.outputs.image }} | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: true | |
- run: | | |
sudo dnf -y install clang-tools-extra | |
- name: Generate compilation database | |
run: | | |
cmake \ | |
-DCMAKE_BUILD_TYPE=$BUILD_TYPE \ | |
-DCMAKE_C_COMPILER=clang \ | |
-DCMAKE_CXX_COMPILER=clang++ \ | |
-DCMAKE_EXPORT_COMPILE_COMMANDS=ON \ | |
-G Ninja \ | |
-B $BUILD_DIR \ | |
-S . | |
- name: Build headers | |
run: | | |
swagger_targets='' | |
for f in api/api-doc/*.json; do | |
if test "${f#*.}" = json; then | |
name=$(basename "$f" .json) | |
if test $name != swagger20_header; then | |
swagger_targets+=" scylla_swagger_gen_$name" | |
fi | |
fi | |
done | |
cmake \ | |
--build build \ | |
--target seastar_http_request_parser \ | |
--target idl-sources \ | |
--target $swagger_targets | |
- run: | | |
echo "::add-matcher::.github/clang-include-cleaner.json" | |
- name: clang-include-cleaner | |
run: | | |
for d in $CLEANER_DIRS; do | |
find $d -name '*.cc' -o -name '*.hh' \ | |
-exec echo {} \; \ | |
-exec clang-include-cleaner \ | |
--ignore-headers=seastarx.hh \ | |
--print=changes \ | |
-p $BUILD_DIR \ | |
{} \; | tee --append $CLEANER_OUTPUT_PATH | |
done | |
- run: | | |
echo "::remove-matcher owner=clang-include-cleaner::" | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: Logs (clang-include-cleaner) | |
path: "./${{ env.CLEANER_OUTPUT_PATH }}" |