Skip to content

Add clang v20 and change default version to v16 #299

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
May 29, 2025

Conversation

shenxianpeng
Copy link
Collaborator

@shenxianpeng shenxianpeng commented May 29, 2025

Related #298

Summary by CodeRabbit

  • Chores
    • Expanded support for clang-tools versions to include 8 through 20, with version 20 now accepted and version 7 removed.
    • Updated the default clang-tools version from 14 to 16 in the action configuration.
    • Increased the range of clang versions tested in automated workflows to cover versions 8 through 20.

@shenxianpeng shenxianpeng added the enhancement New feature or request label May 29, 2025
Copy link
Contributor

github-actions bot commented May 29, 2025

Cpp-Linter Report ⚠️

Some files did not pass the configured checks!

clang-format (v12.0.1) reports: 2 file(s) not formatted
  • docs/examples/demo/demo.hpp
  • docs/examples/demo/demo.cpp
clang-tidy (v12.0.1) reports: 7 concern(s)

Have any feedback or feature suggestions? Share it here.

@shenxianpeng shenxianpeng requested review from 2bndy5 and Copilot May 29, 2025 18:46
Copy link

@Copilot Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR adds support for Clang v20 and updates the default tool version to v16.

  • Expand accepted Clang versions in action.yml to include v20 and drop v7
  • Update the default version from 14 to 16 in action.yml
  • Update the self-test workflow matrix to include v8 (at start) and v20

Reviewed Changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.

File Description
action.yml Added v20 to supported versions list and changed default to v16
.github/workflows/self-test.yml Updated test matrix to include clang v8 and v20
Comments suppressed due to low confidence (1)

.github/workflows/self-test.yml:34

  • The new default clang version (v16) isn't covered by the matrix since tests only run when clang-version is specified. Add a job without clang-version to verify the default falls back to v16 as expected.
clang-version: ['8','9','10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20']

Copy link
Contributor

coderabbitai bot commented May 29, 2025

Walkthrough

The updates extend clang version support in both the GitHub Actions workflow and the action input parameters, expanding the tested and accepted versions from 8 through 20. The default clang version for the action is updated from 14 to 16, and version 7 is no longer supported.

Changes

Files/Paths Change Summary
.github/workflows/self-test.yml Expanded clang version test matrix to include versions 8 and 20, covering 8 through 20.
action.yml Updated accepted clang versions to 8–20, removed 7, added 20, and changed default from 14 to 16.

Sequence Diagram(s)

sequenceDiagram
    participant User
    participant GitHubActions
    participant Action

    User ->> GitHubActions: Trigger workflow
    GitHubActions ->> Action: Run with clang-version (8–20, default 16)
    Action -->> GitHubActions: Validate and use specified clang version
    GitHubActions -->> User: Report results for each clang version
Loading

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Explain this complex logic.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai explain this code block.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and explain its main purpose.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Support

Need help? Create a ticket on our support page for assistance with any issues or questions.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate docstrings to generate docstrings for this PR.
  • @coderabbitai generate sequence diagram to generate a sequence diagram of the changes in this PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

🧹 Nitpick comments (1)
action.yml (1)

47-47: Bump default Clang version to v16
The default has been updated from "14" to 16, aligning with the new version support. For consistency with other string defaults, consider quoting this value as "16".

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between cfd08bb and 117482b.

📒 Files selected for processing (2)
  • .github/workflows/self-test.yml (1 hunks)
  • action.yml (1 hunks)
⏰ Context from checks skipped due to timeout of 90000ms (3)
  • GitHub Check: test (macos-latest, 16)
  • GitHub Check: test (macos-latest, 10)
  • GitHub Check: test (macos-latest, 14)
🔇 Additional comments (2)
action.yml (1)

42-42: Update input description matches supported Clang versions
The accepted options now correctly exclude version 7 and include version 20, consistent with the expanded support matrix.

.github/workflows/self-test.yml (1)

34-34: Extend CI matrix to include Clang v8 and v20
The self-test workflow now correctly tests versions 8 through 20, matching the action's input specification and ensuring coverage for the newly supported versions.

@shenxianpeng
Copy link
Collaborator Author

shenxianpeng commented May 29, 2025

CI failed need to rebase and rerun after #298 has been merged.

@shenxianpeng shenxianpeng changed the title add clang v20 and change default version to v16 Add clang v20 and change default version to v16 May 29, 2025
@shenxianpeng
Copy link
Collaborator Author

CI failed need to rebase and rerun after #298 has been merged.

CI passed 🚀

@shenxianpeng shenxianpeng merged commit f91c446 into main May 29, 2025
77 checks passed
@shenxianpeng shenxianpeng deleted the update-clang-version branch May 29, 2025 19:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants