-
Notifications
You must be signed in to change notification settings - Fork 0
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
Refman old #12
base: master
Are you sure you want to change the base?
Refman old #12
Conversation
Add new issue templates for DRAW, Mesh, Coding, Build, Samples, Testing, Modeling, and Configuration
Combine the templates into group with bug and feature
After first installation, second will be failed Regression after#97
WalkthroughThe changes introduced in this pull request include the addition of new issue templates for bug reports and feature requests in the GitHub repository. A configuration update has been made to prevent the creation of blank issues and to add contact links for user support. Additionally, modifications to the documentation build workflow have been implemented, including new triggers and a change in the operating system environment. Lastly, the Changes
Sequence Diagram(s)sequenceDiagram
participant User
participant GitHub
participant System
User->>GitHub: Submit Bug Report
GitHub->>System: Validate Bug Report
System-->>GitHub: Report Validated
GitHub-->>User: Confirmation of Submission
User->>GitHub: Submit Feature Request
GitHub->>System: Validate Feature Request
System-->>GitHub: Request Validated
GitHub-->>User: Confirmation of Submission
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media? 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
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)
Other keywords and placeholders
CodeRabbit Configuration File (
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 6
🧹 Outside diff range and nitpick comments (4)
.github/ISSUE_TEMPLATE/config.yml (1)
12-12
: Fix capitalization in "Contact US"
The capitalization should be consistent with other link names.
- - name: Contact US form
+ - name: Contact Us form
.github/ISSUE_TEMPLATE/Bug Report.yaml (3)
13-27
: Add an "Other" category option.
Consider adding an "Other" option to handle edge cases that don't fit into the existing categories. This helps prevent users from selecting an incorrect category when their issue doesn't match any of the predefined options.
options:
- Application Framework
- Build
- Coding
- Configuration
- Data Exchange
- Documentation
- DRAW
- Foundation Classes
- Mesh
- Modeling
- Samples
- Shape Healing
- Testing
- Visualization
+ - Other
41-41
: Remove default severity selection.
Setting a default severity of "Major" might lead to severity inflation. Consider removing the default value to encourage users to consciously select the appropriate severity level.
- default: 2
118-125
: Consider dynamic version handling.
Hardcoding OCCT versions will require frequent updates to this template. Consider:
- Using semantic versioning format (X.Y.Z)
- Adding a note about supported versions
- Making the version list more maintainable
options:
- - 7.4
- - 7.5
- - 7.6
- - 7.7
- - 7.8
- - 7.9
+ - "7.4.x"
+ - "7.5.x"
+ - "7.6.x"
+ - "7.7.x"
+ - "7.8.x"
+ - "7.9.x"
- latest
+ description: "Select the OCCT version where the issue was detected (only maintained versions are listed)"
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
📒 Files selected for processing (5)
- .github/ISSUE_TEMPLATE/Bug Report.yaml (1 hunks)
- .github/ISSUE_TEMPLATE/Feature Request.yaml (1 hunks)
- .github/ISSUE_TEMPLATE/config.yml (1 hunks)
- .github/workflows/build-docs.yml (1 hunks)
- CMakeLists.txt (1 hunks)
🧰 Additional context used
🪛 yamllint
.github/ISSUE_TEMPLATE/Bug Report.yaml
[error] 142-142: no new line character at the end of file
(new-line-at-end-of-file)
.github/ISSUE_TEMPLATE/Feature Request.yaml
[error] 55-55: no new line character at the end of file
(new-line-at-end-of-file)
🔇 Additional comments (10)
.github/ISSUE_TEMPLATE/config.yml (2)
1-1
: LGTM! Good practice to disable blank issues.
This ensures users provide structured information using the templates.
4-13
: Verify the accessibility of provided URLs
Let's ensure all the contact links are accessible.
✅ Verification successful
All URLs are accessible and functioning properly
The verification results show that all URLs are accessible:
- Forums URL (https://dev.opencascade.org/forums) returns 200 OK
- GitHub discussions URL (https://github.com/Open-Cascade-SAS/OCCT/discussions) returns 200 OK
- Mantis tracker URL (https://tracker.dev.opencascade.org/) returns 302 Found (redirect, which is normal for secure connections)
- Contact form URL (https://dev.opencascade.org/webform/contact_us) returns 200 OK
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Description: Check if the URLs are accessible
# Expected: All URLs should return HTTP 200 OK
urls=(
"https://dev.opencascade.org/forums"
"https://github.com/Open-Cascade-SAS/OCCT/discussions"
"https://tracker.dev.opencascade.org/"
"https://dev.opencascade.org/webform/contact_us"
)
for url in "${urls[@]}"; do
echo "Checking $url"
curl -s -o /dev/null -w "%{http_code}" "$url"
echo
done
Length of output: 1124
.github/workflows/build-docs.yml (1)
18-18
:
Reconsider downgrade to Ubuntu 20.04
The change from ubuntu-24.04
to ubuntu-20.04
appears to be a regression:
- Ubuntu 20.04 (Focal) reaches End of Life in April 2025
- Newer Ubuntu versions typically have more up-to-date packages
- This might affect the consistency of documentation builds
Let's verify if there are any specific dependencies requiring Ubuntu 20.04:
Consider keeping ubuntu-24.04
unless there's a specific compatibility issue that requires the older version.
.github/ISSUE_TEMPLATE/Feature Request.yaml (3)
5-8
: LGTM!
The markdown section provides a clear prompt for users.
9-29
: LGTM!
The category dropdown provides a comprehensive list of OCCT components and is properly configured as a required field.
30-55
: LGTM!
The textarea fields are well-structured with:
- Clear separation of concerns (description, use case, benefits)
- Appropriate required/optional settings
- Clear labels and descriptions
🧰 Tools
🪛 yamllint
[error] 55-55: no new line character at the end of file
(new-line-at-end-of-file)
.github/ISSUE_TEMPLATE/Bug Report.yaml (2)
1-142
: Overall template structure looks good!
The bug report template is well-structured and captures all essential information needed for effective bug reporting. The required/optional field balance is good, and the descriptions are clear and helpful.
🧰 Tools
🪛 yamllint
[error] 142-142: no new line character at the end of file
(new-line-at-end-of-file)
1-3
: 🛠️ Refactor suggestion
Consider adding more descriptive labels.
While the "2. Bug" label is good for categorization, consider adding additional labels based on the selected category (e.g., "build", "documentation") and severity (e.g., "critical", "minor") to improve issue filtering and tracking.
name: "Bug Report"
description: "Report a bug related to the OCCT"
-labels: ["2. Bug"]
+labels: ["2. Bug", "${{ form.category }}", "severity/${{ form.severity }}"]
Likely invalid or redundant comment.
CMakeLists.txt (2)
1039-1042
: Improved custom script validation logic.
The change from exact content matching to substring search makes the validation more robust and less likely to fail due to minor differences in the script content.
1039-1042
: Verify path handling in different environments.
The path handling logic looks correct but should be tested in different environments to ensure:
- Path separators are handled correctly on both Windows and Unix.
- Path lists with spaces or special characters are processed correctly.
- The replacement of third-party directory paths works as expected.
✅ Verification successful
Based on the results, I can now generate the final response since I have sufficient information about the third-party path handling across the codebase.
Path handling is correctly implemented with proper environment-specific handling
The codebase demonstrates consistent and robust path handling for third-party dependencies:
- Windows/Unix path separators are properly handled through CMake's
file(TO_CMAKE_PATH)
function - Environment-specific placeholders are correctly used (
%THIRDPARTY_DIR%
for Windows,${THIRDPARTY_DIR}
for Unix) - No instances of problematic path handling with spaces or special characters in third-party paths
- All third-party paths are properly parameterized through CMake variables (3RDPARTY_*) allowing for flexible configuration
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Description: Verify the handling of third-party paths in custom scripts
# Test: Check if any third-party paths contain spaces or special characters
rg -l "[[:space:]]" | rg "3rdparty|third-party"
# Test: Check for any hardcoded third-party paths that should use placeholders
rg -i "3rdparty.*/" | rg -v "THIRDPARTY_DIR"
Length of output: 16143
- name: Collaborative development portal | ||
url: https://dev.opencascade.org/forums | ||
about: You can also use the collaborative development portal to ask questions and discuss the problem you are seeing | ||
- name: GitHub discussions | ||
url: https://github.com/Open-Cascade-SAS/OCCT/discussions | ||
about: You can also use GitHub discussions to ask questions and discuss the problem you are seeing | ||
- name: Mantis bug tracker | ||
url: https://tracker.dev.opencascade.org/ | ||
about: You can also use the Mantis bug tracker to report bugs and issues | ||
- name: Contact US form | ||
url: https://dev.opencascade.org/webform/contact_us | ||
about: You can also use the Contact US form to ask questions and discuss the problem you are seeing |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🛠️ Refactor suggestion
Improve contact link descriptions
The current descriptions are very similar and don't clearly differentiate when to use each channel. Consider making each description more specific:
- name: Collaborative development portal
url: https://dev.opencascade.org/forums
- about: You can also use the collaborative development portal to ask questions and discuss the problem you are seeing
+ about: Best for technical discussions and getting help from the community
- name: GitHub discussions
url: https://github.com/Open-Cascade-SAS/OCCT/discussions
- about: You can also use GitHub discussions to ask questions and discuss the problem you are seeing
+ about: For feature ideas, best practices, and general Q&A
- name: Mantis bug tracker
url: https://tracker.dev.opencascade.org/
- about: You can also use the Mantis bug tracker to report bugs and issues
+ about: For reporting bugs that don't require immediate attention
- name: Contact Us form
url: https://dev.opencascade.org/webform/contact_us
- about: You can also use the Contact US form to ask questions and discuss the problem you are seeing
+ about: For commercial inquiries and private support requests
📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
- name: Collaborative development portal | |
url: https://dev.opencascade.org/forums | |
about: You can also use the collaborative development portal to ask questions and discuss the problem you are seeing | |
- name: GitHub discussions | |
url: https://github.com/Open-Cascade-SAS/OCCT/discussions | |
about: You can also use GitHub discussions to ask questions and discuss the problem you are seeing | |
- name: Mantis bug tracker | |
url: https://tracker.dev.opencascade.org/ | |
about: You can also use the Mantis bug tracker to report bugs and issues | |
- name: Contact US form | |
url: https://dev.opencascade.org/webform/contact_us | |
about: You can also use the Contact US form to ask questions and discuss the problem you are seeing | |
- name: Collaborative development portal | |
url: https://dev.opencascade.org/forums | |
about: Best for technical discussions and getting help from the community | |
- name: GitHub discussions | |
url: https://github.com/Open-Cascade-SAS/OCCT/discussions | |
about: For feature ideas, best practices, and general Q&A | |
- name: Mantis bug tracker | |
url: https://tracker.dev.opencascade.org/ | |
about: For reporting bugs that don't require immediate attention | |
- name: Contact Us form | |
url: https://dev.opencascade.org/webform/contact_us | |
about: For commercial inquiries and private support requests |
pull_request: | ||
branches: | ||
- '**' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Consider restricting PR trigger branches
While adding PR triggers is beneficial for validation, using '**'
will run the workflow on all branches, including temporary feature branches. This could lead to unnecessary builds and consume GitHub Actions minutes.
Consider limiting the branches to those that are likely to contain documentation changes:
pull_request:
branches:
- - '**'
+ - 'master'
+ - 'develop'
+ - 'docs/**'
📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
pull_request: | |
branches: | |
- '**' | |
pull_request: | |
branches: | |
- 'master' | |
- 'develop' | |
- 'docs/**' |
- type: dropdown | ||
attributes: | ||
label: Category | ||
description: "Select the bug category" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fix incorrect description in category dropdown.
The description refers to "bug category" which is inconsistent with this being a feature request template.
- description: "Select the bug category"
+ description: "Select the feature category"
📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
description: "Select the bug category" | |
description: "Select the feature category" |
id: additional_context | ||
attributes: | ||
label: Additional Context | ||
description: "Any additional context or information" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Add newline at end of file.
Following YAML best practices, files should end with a newline character.
description: "Any additional context or information"
+
📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
description: "Any additional context or information" | |
description: "Any additional context or information" | |
🧰 Tools
🪛 yamllint
[error] 55-55: no new line character at the end of file
(new-line-at-end-of-file)
id: additional_files | ||
attributes: | ||
label: Additional Files | ||
description: "Attach any additional files that may help in reproducing the issue" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Add newline at end of file.
Add a newline character at the end of the file to comply with YAML best practices.
label: Additional Files
- description: "Attach any additional files that may help in reproducing the issue"
+ description: "Attach any additional files that may help in reproducing the issue"
+
📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
description: "Attach any additional files that may help in reproducing the issue" | |
description: "Attach any additional files that may help in reproducing the issue" | |
🧰 Tools
🪛 yamllint
[error] 142-142: no new line character at the end of file
(new-line-at-end-of-file)
id: environment | ||
attributes: | ||
label: Environment | ||
description: "Details about your environment (OS, compiler, etc.)" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Remove redundant environment field.
This field asks for OS and compiler information which is already collected through dedicated dropdown fields above. Consider either:
- Removing this redundant field, or
- Renaming it to "Additional Environment Details" for capturing information not covered by other fields
- label: Environment
- description: "Details about your environment (OS, compiler, etc.)"
+ label: Additional Environment Details
+ description: "Any additional environment details not covered by the fields above"
📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
id: environment | |
attributes: | |
label: Environment | |
description: "Details about your environment (OS, compiler, etc.)" | |
id: environment | |
attributes: | |
label: Additional Environment Details | |
description: "Any additional environment details not covered by the fields above" |
Summary by CodeRabbit
New Features
Enhancements
Workflow Changes