name: Check header guards on: [push, pull_request] permissions: contents: read jobs: build: # Set the type of machine to run on runs-on: macos-15 steps: - name: Checkout source code uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 # v6.1.0 - name: Setup Dependencies uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6.3.0 with: python-version: '3.12' - name: Install checkguard run: python -m pip install --requirement requirements-header-guards.txt - name: Check that include guards are properly named run: | wrong_files=$(checkguard -r src/catch2/ -p "name | append _INCLUDED | upper") if [[ $wrong_files ]]; then echo "Files with wrong header guard:" echo $wrong_files exit 1 fi - name: Check that there are no duplicated filenames run: | ./tools/scripts/checkDuplicateFilenames.py - name: Check that all source files have the correct license header run: | ./tools/scripts/checkLicense.py