[clang-tools-extra] [llvm] [GitHub][WIP] Run clang-format inside ci-container (PR #160193)
Baranov Victor via llvm-commits
llvm-commits at lists.llvm.org
Sun Sep 28 04:22:57 PDT 2025
https://github.com/vbvictor updated https://github.com/llvm/llvm-project/pull/160193
>From f4e3ea586cf6b8284d57728ec4da022a168e5890 Mon Sep 17 00:00:00 2001
From: Victor Baranov <bar.victor.2002 at gmail.com>
Date: Sat, 27 Sep 2025 23:46:58 +0300
Subject: [PATCH 1/8] deleteme: violate clang-format to run job
---
clang-tools-extra/clang-tidy/ClangTidy.cpp | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/clang-tools-extra/clang-tidy/ClangTidy.cpp b/clang-tools-extra/clang-tidy/ClangTidy.cpp
index 7e18f3806a143..385c7adc6e0c2 100644
--- a/clang-tools-extra/clang-tidy/ClangTidy.cpp
+++ b/clang-tools-extra/clang-tidy/ClangTidy.cpp
@@ -270,8 +270,7 @@ class ErrorReporter {
const llvm::StringMap<Replacements> &Fix) {
for (const auto &FileAndReplacements : Fix) {
for (const auto &Repl : FileAndReplacements.second) {
- if (!Repl.isApplicable())
- continue;
+ if (!Repl.isApplicable()) continue;
FileByteRange FBR;
FBR.FilePath = Repl.getFilePath().str();
FBR.FileOffset = Repl.getOffset();
>From fc8182b3d74c8417c13e70d5d1ee05b5ebd6e9bd Mon Sep 17 00:00:00 2001
From: Victor Baranov <bar.victor.2002 at gmail.com>
Date: Sat, 27 Sep 2025 23:56:40 +0300
Subject: [PATCH 2/8] new job
---
.github/workflows/pr-code-format.yml | 10 ++--------
1 file changed, 2 insertions(+), 8 deletions(-)
diff --git a/.github/workflows/pr-code-format.yml b/.github/workflows/pr-code-format.yml
index 61c8680cd72a1..bb04bb352e2bc 100644
--- a/.github/workflows/pr-code-format.yml
+++ b/.github/workflows/pr-code-format.yml
@@ -12,6 +12,8 @@ on:
jobs:
code_formatter:
runs-on: ubuntu-24.04
+ container:
+ image: 'ghcr.io/llvm/ci-ubuntu-24.04:latest'
timeout-minutes: 30
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number }}
@@ -39,14 +41,6 @@ jobs:
echo "Formatting files:"
echo "$CHANGED_FILES"
- # The clang format version should always be upgraded to the first version
- # of a release cycle (x.1.0) or the last version of a release cycle, or
- # if there have been relevant clang-format backports.
- - name: Install clang-format
- uses: aminya/setup-cpp at 17c11551771948abc5752bbf3183482567c7caf0 # v1.1.1
- with:
- clangformat: 21.1.0
-
- name: Setup Python env
uses: actions/setup-python at 42375524e23c412d93fb67b49958b491fce71c38 # v5.4.0
with:
>From 34113e7b8135cc98e246c5d271969952ab6d376b Mon Sep 17 00:00:00 2001
From: Victor Baranov <bar.victor.2002 at gmail.com>
Date: Sun, 28 Sep 2025 00:00:38 +0300
Subject: [PATCH 3/8] wip
---
.github/workflows/pr-code-format.yml | 2 --
1 file changed, 2 deletions(-)
diff --git a/.github/workflows/pr-code-format.yml b/.github/workflows/pr-code-format.yml
index bb04bb352e2bc..dbc4096857b20 100644
--- a/.github/workflows/pr-code-format.yml
+++ b/.github/workflows/pr-code-format.yml
@@ -45,8 +45,6 @@ jobs:
uses: actions/setup-python at 42375524e23c412d93fb67b49958b491fce71c38 # v5.4.0
with:
python-version: '3.11'
- cache: 'pip'
- cache-dependency-path: 'llvm/utils/git/requirements_formatting.txt'
- name: Install python dependencies
run: pip install -r llvm/utils/git/requirements_formatting.txt
>From d20944b11c95d4b1730f142fc501809be2b52e03 Mon Sep 17 00:00:00 2001
From: Victor Baranov <bar.victor.2002 at gmail.com>
Date: Sun, 28 Sep 2025 00:04:55 +0300
Subject: [PATCH 4/8] WIP
---
.github/workflows/pr-code-format.yml | 7 +------
1 file changed, 1 insertion(+), 6 deletions(-)
diff --git a/.github/workflows/pr-code-format.yml b/.github/workflows/pr-code-format.yml
index dbc4096857b20..e602eed5d5fca 100644
--- a/.github/workflows/pr-code-format.yml
+++ b/.github/workflows/pr-code-format.yml
@@ -41,13 +41,8 @@ jobs:
echo "Formatting files:"
echo "$CHANGED_FILES"
- - name: Setup Python env
- uses: actions/setup-python at 42375524e23c412d93fb67b49958b491fce71c38 # v5.4.0
- with:
- python-version: '3.11'
-
- name: Install python dependencies
- run: pip install -r llvm/utils/git/requirements_formatting.txt
+ run: pip install -r llvm/utils/git/requirements_formatting.txt --break-system-packages
- name: Run code formatter
env:
>From 1ce93d734a5b8db374ac0584d9a451cb9278374a Mon Sep 17 00:00:00 2001
From: Victor Baranov <bar.victor.2002 at gmail.com>
Date: Sun, 28 Sep 2025 13:42:50 +0300
Subject: [PATCH 5/8] better
---
.github/workflows/pr-code-format.yml | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/.github/workflows/pr-code-format.yml b/.github/workflows/pr-code-format.yml
index e602eed5d5fca..115ea24baad34 100644
--- a/.github/workflows/pr-code-format.yml
+++ b/.github/workflows/pr-code-format.yml
@@ -40,9 +40,14 @@ jobs:
run: |
echo "Formatting files:"
echo "$CHANGED_FILES"
+
+ - name: Create python venv
+ run: |
+ python -m venv venv
+ . venv/bin/activate
- name: Install python dependencies
- run: pip install -r llvm/utils/git/requirements_formatting.txt --break-system-packages
+ run: pip install -r llvm/utils/git/requirements_formatting.txt
- name: Run code formatter
env:
>From 0b99df62014b94aa7743347092688f22f155e7fe Mon Sep 17 00:00:00 2001
From: Victor Baranov <bar.victor.2002 at gmail.com>
Date: Sun, 28 Sep 2025 13:47:47 +0300
Subject: [PATCH 6/8] better
---
.github/workflows/pr-code-format.yml | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/.github/workflows/pr-code-format.yml b/.github/workflows/pr-code-format.yml
index 115ea24baad34..841b601ed3f4f 100644
--- a/.github/workflows/pr-code-format.yml
+++ b/.github/workflows/pr-code-format.yml
@@ -44,10 +44,9 @@ jobs:
- name: Create python venv
run: |
python -m venv venv
- . venv/bin/activate
- name: Install python dependencies
- run: pip install -r llvm/utils/git/requirements_formatting.txt
+ run: venv/bin/pip install -r llvm/utils/git/requirements_formatting.txt
- name: Run code formatter
env:
@@ -56,7 +55,7 @@ jobs:
# Create an empty comments file so the pr-write job doesn't fail.
run: |
echo "[]" > comments &&
- python ./llvm/utils/git/code-format-helper.py \
+ venv/bin/python ./llvm/utils/git/code-format-helper.py \
--write-comment-to-file \
--token ${{ secrets.GITHUB_TOKEN }} \
--issue-number $GITHUB_PR_NUMBER \
>From 85eb2e3b7a34313bad42cafdb4fde044b7f92729 Mon Sep 17 00:00:00 2001
From: Victor Baranov <bar.victor.2002 at gmail.com>
Date: Sun, 28 Sep 2025 14:14:31 +0300
Subject: [PATCH 7/8] violate python codestyle
---
llvm/utils/git/code-lint-helper.py | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/llvm/utils/git/code-lint-helper.py b/llvm/utils/git/code-lint-helper.py
index 1232f3ab0d370..ccd4ecd29c61e 100755
--- a/llvm/utils/git/code-lint-helper.py
+++ b/llvm/utils/git/code-lint-helper.py
@@ -206,10 +206,8 @@ def run_clang_tidy(changed_files: List[str], args: LintArgs) -> Optional[str]:
proc = subprocess.run(
tidy_diff_cmd,
input=diff_content,
- stdout=subprocess.PIPE,
- stderr=subprocess.PIPE,
- text=True,
- check=False,
+ stdout=subprocess.PIPE, stderr=subprocess.PIPE,
+ text=True, check=False,
)
return clean_clang_tidy_output(proc.stdout.strip())
>From d86f5a857024a299486ddf83d3c803059faca0f6 Mon Sep 17 00:00:00 2001
From: Victor Baranov <bar.victor.2002 at gmail.com>
Date: Sun, 28 Sep 2025 14:22:25 +0300
Subject: [PATCH 8/8] add activate
---
.github/workflows/pr-code-format.yml | 1 +
1 file changed, 1 insertion(+)
diff --git a/.github/workflows/pr-code-format.yml b/.github/workflows/pr-code-format.yml
index 841b601ed3f4f..82e7f6ac3fdff 100644
--- a/.github/workflows/pr-code-format.yml
+++ b/.github/workflows/pr-code-format.yml
@@ -54,6 +54,7 @@ jobs:
CHANGED_FILES: ${{ steps.changed-files.outputs.all_changed_files }}
# Create an empty comments file so the pr-write job doesn't fail.
run: |
+ . venv/bin/activate &&
echo "[]" > comments &&
venv/bin/python ./llvm/utils/git/code-format-helper.py \
--write-comment-to-file \
More information about the llvm-commits
mailing list