-
Notifications
You must be signed in to change notification settings - Fork 14
59 lines (47 loc) · 1.66 KB
/
check_format.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
#
# Distributed Linear Algebra with Future (DLAF)
#
# Copyright (c) 2018-2024, ETH Zurich
# All rights reserved.
#
# Please, refer to the LICENSE file in the root directory.
# SPDX-License-Identifier: BSD-3-Clause
#
name: Check format
on:
- pull_request
jobs:
check:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- uses: actions/javascript-action@v1
- name: Install tools
run: |
sudo apt-get update
sudo apt-get install --no-install-recommends clang-format-15 python3
pip3 install black==23.03.0
pip3 install cmakelang==0.6.13
- name: Fetch master
run: git fetch --no-tags --depth=1 origin +refs/heads/master:refs/heads/master
# Fails if there are tabs in source files.
- name: Check formatting
run: ./.github/format.sh
- name: Check scripts formatting
if: always()
run: black --line-length 105 scripts/
# Fails if there are differences.
- name: Formatting issues
if: always()
run: git diff --color --exit-code
- name: Check include guards
if: always()
run: |
find include test -type f '(' -name "*.h" -o -name "*.h.in" ')' \
| xargs -I{} sh -c \
"egrep -sq '^#pragma once' {} || echo {}" \
> pragma-once.check
for filepath in `cat pragma-once.check`; do \
echo "::error file=$filepath,line=1::missing include guard in $filepath"; \
done
test ! -s pragma-once.check