name: clang-format on: pull_request_target jobs: clang-format: permissions: write-all if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.fork name: "Code Style (Arch)" runs-on: ubuntu-latest container: image: archlinux steps: - name: Checkout repository actions uses: actions/checkout@v4 with: sparse-checkout: .github/actions - name: Setup base uses: ./.github/actions/setup_base - name: Configure run: meson setup build -Ddefault_library=static - name: clang-format check run: ninja -C build clang-format-check - name: clang-format apply if: ${{ failure() && github.event_name == 'pull_request' }} run: ninja -C build clang-format - name: Create patch if: ${{ failure() && github.event_name == 'pull_request' }} run: | echo 'Please fix the formatting issues by running [`clang-format`](https://wiki.hyprland.org/Contributing-and-Debugging/PR-Guidelines/#code-style), or directly apply this patch:' > clang-format.patch echo '
' >> clang-format.patch echo 'clang-format.patch' >> clang-format.patch echo >> clang-format.patch echo '```diff' >> clang-format.patch git diff >> clang-format.patch echo '```' >> clang-format.patch echo >> clang-format.patch echo '
' >> clang-format.patch - name: Comment patch if: ${{ failure() && github.event_name == 'pull_request' }} uses: mshick/add-pr-comment@v2 with: message-path: | clang-format.patch