From 663ad699ba9e69feb52fa154f82ba543fe158fa9 Mon Sep 17 00:00:00 2001 From: shenxianpeng Date: Mon, 27 Oct 2025 21:44:27 +0200 Subject: [PATCH 01/12] Add e2e.yml test workflow --- .github/workflows/e2e.yml | 60 +++++++++++++++++++++++++++++++++++++++ .pre-commit-config.yaml | 2 +- 2 files changed, 61 insertions(+), 1 deletion(-) create mode 100644 .github/workflows/e2e.yml diff --git a/.github/workflows/e2e.yml b/.github/workflows/e2e.yml new file mode 100644 index 0000000..2090212 --- /dev/null +++ b/.github/workflows/e2e.yml @@ -0,0 +1,60 @@ +name: E2E Test + +on: + pull_request: + branches: [ main ] + workflow_dispatch: + inputs: + target_repo: + description: 'Target repository to test against' + required: false + default: 'llvm/llvm-project' + +jobs: + e2e-test: + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + clang_version: [16, 17, 18, 19, 20, 21] + + name: Test clang ${{ matrix.clang_version }} + steps: + - name: Checkout workflow repo + uses: actions/checkout@v4 + + - name: Set up Python + uses: actions/setup-python@v5 + with: + python-version: '3.13' + + - name: Install Python dependencies + run: | + python -m pip install --upgrade pip + python -m pip install pre-commit + + - name: Clone target repository + run: | + git clone --depth=1 https://github.com/${{ github.event.inputs.target_repo || 'llvm/llvm-project' }}.git test-repo + + - name: Create .pre-commit-config.yaml + run: | + cd test-repo + rm -f .pre-commit-config.yaml + cat > .pre-commit-config.yaml << EOF + repos: + - repo: https://github.com/cpp-linter/cpp-linter-hooks + rev: main + hooks: + - id: clang-format + args: [ + --style=LLVM, + --version=${{ matrix.clang_version }} + ] + EOF + + - name: Install and run cpp-linter-hooks + run: | + cd test-repo + pre-commit install + pre-commit run --all-files diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 4562e09..708d486 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -10,7 +10,7 @@ repos: - id: check-toml - id: requirements-txt-fixer - repo: https://github.com/astral-sh/ruff-pre-commit - rev: v0.13.1 + rev: v0.14.2 hooks: # Run the linter. - id: ruff-check From 2c30b53e74efe7b8d44b992c8e159a40573b8a19 Mon Sep 17 00:00:00 2001 From: shenxianpeng Date: Mon, 27 Oct 2025 21:54:10 +0200 Subject: [PATCH 02/12] update e2e.yml --- .github/workflows/e2e.yml | 14 ++++---------- .github/workflows/pre-commit.yml | 4 ++-- .github/workflows/test.yml | 10 +++++----- 3 files changed, 11 insertions(+), 17 deletions(-) diff --git a/.github/workflows/e2e.yml b/.github/workflows/e2e.yml index 2090212..af12fd3 100644 --- a/.github/workflows/e2e.yml +++ b/.github/workflows/e2e.yml @@ -37,24 +37,18 @@ jobs: run: | git clone --depth=1 https://github.com/${{ github.event.inputs.target_repo || 'llvm/llvm-project' }}.git test-repo - - name: Create .pre-commit-config.yaml + - name: Install pre-commit hooks and run run: | cd test-repo - rm -f .pre-commit-config.yaml + rm -f .pre-commit-config.yaml || true cat > .pre-commit-config.yaml << EOF repos: - repo: https://github.com/cpp-linter/cpp-linter-hooks - rev: main + rev: ${{ github.sha }} hooks: - id: clang-format - args: [ - --style=LLVM, - --version=${{ matrix.clang_version }} - ] + args: [--style=LLVM, --version=${{ matrix.clang_version }}] EOF - - name: Install and run cpp-linter-hooks - run: | - cd test-repo pre-commit install pre-commit run --all-files diff --git a/.github/workflows/pre-commit.yml b/.github/workflows/pre-commit.yml index 01775b0..b41d0f7 100644 --- a/.github/workflows/pre-commit.yml +++ b/.github/workflows/pre-commit.yml @@ -2,9 +2,9 @@ name: pre-commit on: push: - branches: main + branches: [main] pull_request: - branches: main + branches: [main] workflow_dispatch: jobs: diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 362b1d8..1a702b5 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -2,9 +2,9 @@ name: Test on: push: - branches: main + branches: [main] pull_request: - branches: main + branches: [main] workflow_dispatch: jobs: @@ -15,10 +15,10 @@ jobs: python-version: ["3.14", "3.13", "3.12", "3.11", "3.10", "3.9"] steps: - name: Checkout - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 #v5 + uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 #v5.0.0 - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c #v5 + uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c #v5.0.0 with: python-version: ${{ matrix.python-version }} @@ -32,7 +32,7 @@ jobs: coverage run --source=tests,cpp_linter_hooks -m pytest -vv coverage report coverage xml - - uses: codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7 #v5 + - uses: codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7 #v5.0.1 if: matrix.python-version == '3.13' with: token: ${{ secrets.CODECOV_TOKEN }} From c724159e38219edc431ca4460b4a238d8a35e557 Mon Sep 17 00:00:00 2001 From: shenxianpeng Date: Mon, 27 Oct 2025 21:58:26 +0200 Subject: [PATCH 03/12] update e2e.yml --- .github/workflows/e2e.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/e2e.yml b/.github/workflows/e2e.yml index af12fd3..c149bae 100644 --- a/.github/workflows/e2e.yml +++ b/.github/workflows/e2e.yml @@ -51,4 +51,4 @@ jobs: EOF pre-commit install - pre-commit run --all-files + pre-commit run -v --all-files From 1122c4199b3270e352ea8648dd68d095287512d6 Mon Sep 17 00:00:00 2001 From: shenxianpeng Date: Mon, 27 Oct 2025 22:04:42 +0200 Subject: [PATCH 04/12] test mirrors-clang-format --- .github/workflows/e2e.yml | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/.github/workflows/e2e.yml b/.github/workflows/e2e.yml index c149bae..7388e41 100644 --- a/.github/workflows/e2e.yml +++ b/.github/workflows/e2e.yml @@ -16,7 +16,7 @@ jobs: strategy: fail-fast: false matrix: - clang_version: [16, 17, 18, 19, 20, 21] + clang_version: ['v19.1.7', 'v20.1.8', 'v21.1.2'] name: Test clang ${{ matrix.clang_version }} steps: @@ -43,11 +43,10 @@ jobs: rm -f .pre-commit-config.yaml || true cat > .pre-commit-config.yaml << EOF repos: - - repo: https://github.com/cpp-linter/cpp-linter-hooks - rev: ${{ github.sha }} + - repo: https://github.com/pre-commit/mirrors-clang-format + rev: ${{ matrix.clang_version }} hooks: - id: clang-format - args: [--style=LLVM, --version=${{ matrix.clang_version }}] EOF pre-commit install From 6282d6a107c519ea1d271058a7e88403631e5f76 Mon Sep 17 00:00:00 2001 From: shenxianpeng Date: Mon, 27 Oct 2025 22:10:23 +0200 Subject: [PATCH 05/12] update e2e.yml --- .github/workflows/e2e.yml | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/.github/workflows/e2e.yml b/.github/workflows/e2e.yml index 7388e41..8824faf 100644 --- a/.github/workflows/e2e.yml +++ b/.github/workflows/e2e.yml @@ -4,11 +4,6 @@ on: pull_request: branches: [ main ] workflow_dispatch: - inputs: - target_repo: - description: 'Target repository to test against' - required: false - default: 'llvm/llvm-project' jobs: e2e-test: @@ -16,7 +11,7 @@ jobs: strategy: fail-fast: false matrix: - clang_version: ['v19.1.7', 'v20.1.8', 'v21.1.2'] + clang_version: [16, 17, 18, 19, 20, 21] name: Test clang ${{ matrix.clang_version }} steps: @@ -33,10 +28,6 @@ jobs: python -m pip install --upgrade pip python -m pip install pre-commit - - name: Clone target repository - run: | - git clone --depth=1 https://github.com/${{ github.event.inputs.target_repo || 'llvm/llvm-project' }}.git test-repo - - name: Install pre-commit hooks and run run: | cd test-repo @@ -47,6 +38,7 @@ jobs: rev: ${{ matrix.clang_version }} hooks: - id: clang-format + args: [--style=LLVM, --version=${{ matrix.clang_version }}] EOF pre-commit install From 19e4605af1810b65a33ba33d0bb0b07fe399d900 Mon Sep 17 00:00:00 2001 From: shenxianpeng Date: Mon, 27 Oct 2025 22:11:04 +0200 Subject: [PATCH 06/12] update e2e.yml --- .github/workflows/e2e.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/e2e.yml b/.github/workflows/e2e.yml index 8824faf..24acf8a 100644 --- a/.github/workflows/e2e.yml +++ b/.github/workflows/e2e.yml @@ -30,7 +30,6 @@ jobs: - name: Install pre-commit hooks and run run: | - cd test-repo rm -f .pre-commit-config.yaml || true cat > .pre-commit-config.yaml << EOF repos: From 8fbdb7e0619c860e5bac45be69e31ebefae85e5c Mon Sep 17 00:00:00 2001 From: shenxianpeng Date: Mon, 27 Oct 2025 22:12:01 +0200 Subject: [PATCH 07/12] update e2e.yml --- .github/workflows/e2e.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/e2e.yml b/.github/workflows/e2e.yml index 24acf8a..8f097e5 100644 --- a/.github/workflows/e2e.yml +++ b/.github/workflows/e2e.yml @@ -33,8 +33,8 @@ jobs: rm -f .pre-commit-config.yaml || true cat > .pre-commit-config.yaml << EOF repos: - - repo: https://github.com/pre-commit/mirrors-clang-format - rev: ${{ matrix.clang_version }} + - repo: https://github.com/cpp-linter/cpp-linter-hooks + rev: ${{ github.sha }} hooks: - id: clang-format args: [--style=LLVM, --version=${{ matrix.clang_version }}] From b712d82b0ef38950ea428d9ed1dfc4dc2e5f0356 Mon Sep 17 00:00:00 2001 From: shenxianpeng Date: Mon, 27 Oct 2025 22:12:43 +0200 Subject: [PATCH 08/12] update e2e.yml --- .github/workflows/e2e.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/e2e.yml b/.github/workflows/e2e.yml index 8f097e5..28274fc 100644 --- a/.github/workflows/e2e.yml +++ b/.github/workflows/e2e.yml @@ -12,6 +12,7 @@ jobs: fail-fast: false matrix: clang_version: [16, 17, 18, 19, 20, 21] + clang_style: [LLVM, Google, Chromium, Mozilla, WebKit] name: Test clang ${{ matrix.clang_version }} steps: @@ -37,7 +38,7 @@ jobs: rev: ${{ github.sha }} hooks: - id: clang-format - args: [--style=LLVM, --version=${{ matrix.clang_version }}] + args: [--style=${{ matrix.clang_style }}, --version=${{ matrix.clang_version }}] EOF pre-commit install From c13d0e159538a27457c483aa67d564cf7bf50eb3 Mon Sep 17 00:00:00 2001 From: shenxianpeng Date: Mon, 27 Oct 2025 22:13:58 +0200 Subject: [PATCH 09/12] update e2e.yml --- .github/workflows/e2e.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/e2e.yml b/.github/workflows/e2e.yml index 28274fc..973a056 100644 --- a/.github/workflows/e2e.yml +++ b/.github/workflows/e2e.yml @@ -14,7 +14,7 @@ jobs: clang_version: [16, 17, 18, 19, 20, 21] clang_style: [LLVM, Google, Chromium, Mozilla, WebKit] - name: Test clang ${{ matrix.clang_version }} + name: Test clang ${{ matrix.clang_version }} with style ${{ matrix.clang_style }} steps: - name: Checkout workflow repo uses: actions/checkout@v4 @@ -42,4 +42,4 @@ jobs: EOF pre-commit install - pre-commit run -v --all-files + pre-commit run -v --all-files --show-diff-on-failure From 27d50271e37ad7d942af9230b84e07fe3914fe2f Mon Sep 17 00:00:00 2001 From: shenxianpeng Date: Mon, 27 Oct 2025 22:16:38 +0200 Subject: [PATCH 10/12] update e2e.yml --- .github/workflows/e2e.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/e2e.yml b/.github/workflows/e2e.yml index 973a056..4c57e16 100644 --- a/.github/workflows/e2e.yml +++ b/.github/workflows/e2e.yml @@ -43,3 +43,4 @@ jobs: pre-commit install pre-commit run -v --all-files --show-diff-on-failure + continue-on-error: true From 237864555f5e75d865d5ea8baa99bcfbc378f7a9 Mon Sep 17 00:00:00 2001 From: shenxianpeng Date: Mon, 27 Oct 2025 22:43:32 +0200 Subject: [PATCH 11/12] update e2e.yml --- .github/workflows/e2e.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/e2e.yml b/.github/workflows/e2e.yml index 4c57e16..73e7eb9 100644 --- a/.github/workflows/e2e.yml +++ b/.github/workflows/e2e.yml @@ -17,10 +17,12 @@ jobs: name: Test clang ${{ matrix.clang_version }} with style ${{ matrix.clang_style }} steps: - name: Checkout workflow repo - uses: actions/checkout@v4 + uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + with: + repository: cloudwu/ltask - name: Set up Python - uses: actions/setup-python@v5 + uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0 with: python-version: '3.13' From 6a6b8ee2db6ae4bf607da2543445d44facb15a66 Mon Sep 17 00:00:00 2001 From: shenxianpeng Date: Mon, 27 Oct 2025 22:45:44 +0200 Subject: [PATCH 12/12] update e2e.yml --- .github/workflows/e2e.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/e2e.yml b/.github/workflows/e2e.yml index 73e7eb9..7dc0ac5 100644 --- a/.github/workflows/e2e.yml +++ b/.github/workflows/e2e.yml @@ -44,5 +44,5 @@ jobs: EOF pre-commit install - pre-commit run -v --all-files --show-diff-on-failure + pre-commit run -v --all-files continue-on-error: true