mirror of https://github.com/llvm/circt.git
[Python][CI] Add yapf formatting guidelines and run check in CI.
This follows the same setup as MLIR and NPCOMP, using yapf and the Google style guidelines, with two-space indentation.
This commit is contained in:
parent
8183b7a961
commit
b0e69ae120
|
@ -94,12 +94,14 @@ jobs:
|
||||||
fetch-depth: 2
|
fetch-depth: 2
|
||||||
submodules: "true"
|
submodules: "true"
|
||||||
|
|
||||||
# We'll be running clang-tidy later in this flow.
|
# We'll be running clang-tidy, etc. later in this flow.
|
||||||
- name: Install clang-tidy
|
- name: Install formatting and linting tools
|
||||||
run: |
|
run: |
|
||||||
sudo apt-get install -y clang-tidy-9
|
sudo apt-get install -y clang-tidy-9
|
||||||
sudo update-alternatives --install /usr/bin/clang-tidy clang-tidy \
|
sudo update-alternatives --install /usr/bin/clang-tidy clang-tidy \
|
||||||
/usr/bin/clang-tidy-9 100
|
/usr/bin/clang-tidy-9 100
|
||||||
|
pip3 install yapf
|
||||||
|
echo "Using $(yapf --version)"
|
||||||
|
|
||||||
# --------
|
# --------
|
||||||
# Restore LLVM from cache and build if it's not in there.
|
# Restore LLVM from cache and build if it's not in there.
|
||||||
|
@ -246,6 +248,13 @@ jobs:
|
||||||
echo "Clang-tidy found no problems"
|
echo "Clang-tidy found no problems"
|
||||||
exit 0
|
exit 0
|
||||||
|
|
||||||
|
# Run yapf to check Python formatting.
|
||||||
|
- name: python-format
|
||||||
|
if: ${{ always() }}
|
||||||
|
run: |
|
||||||
|
files=$(git diff --name-only $DIFF_COMMIT | grep .py)
|
||||||
|
yapf --diff $files
|
||||||
|
|
||||||
# Upload the format and tidy patches to an artifact (zip'd) associated
|
# Upload the format and tidy patches to an artifact (zip'd) associated
|
||||||
# with the workflow run. Only run this on a failure.
|
# with the workflow run. Only run this on a failure.
|
||||||
- name: Upload format and tidy patches
|
- name: Upload format and tidy patches
|
||||||
|
|
|
@ -0,0 +1,3 @@
|
||||||
|
[style]
|
||||||
|
based_on_style = google
|
||||||
|
indent_width = 2
|
|
@ -0,0 +1 @@
|
||||||
|
llvm/**/*.py
|
|
@ -56,15 +56,18 @@ class CosimTestRunner:
|
||||||
sources = []
|
sources = []
|
||||||
for line in fileReader:
|
for line in fileReader:
|
||||||
# Arguments to circt-rtl-sim, except for source files list
|
# Arguments to circt-rtl-sim, except for source files list
|
||||||
if m := re.match(r"^//\s*ARGS:(.*)$", line):
|
m = re.match(r"^//\s*ARGS:(.*)$", line)
|
||||||
|
if m:
|
||||||
self.args.extend(m.group(1).split())
|
self.args.extend(m.group(1).split())
|
||||||
# SOURCES are the additional source files (if any). If specified,
|
# SOURCES are the additional source files (if any). If specified,
|
||||||
# must include the current file. These files are either absolute or
|
# must include the current file. These files are either absolute or
|
||||||
# relative to the current file.
|
# relative to the current file.
|
||||||
if m := re.match(r"^//\s*SOURCES:(.*)$", line):
|
m = re.match(r"^//\s*SOURCES:(.*)$", line)
|
||||||
|
if m:
|
||||||
sources.extend(m.group(1).split())
|
sources.extend(m.group(1).split())
|
||||||
# Run this Python line.
|
# Run this Python line.
|
||||||
if m := re.match(r"^//\s*PY:(.*)$", line):
|
m = re.match(r"^//\s*PY:(.*)$", line)
|
||||||
|
if m:
|
||||||
self.runs.append(m.group(1).strip())
|
self.runs.append(m.group(1).strip())
|
||||||
fileReader.close()
|
fileReader.close()
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue