Skip to content

Update Issue Templates#17757

Merged
GSadee merged 2 commits intoSylius:2.1from
CoderMaggie:issue-templates
Mar 19, 2025
Merged

Update Issue Templates#17757
GSadee merged 2 commits intoSylius:2.1from
CoderMaggie:issue-templates

Conversation

@CoderMaggie
Copy link
Copy Markdown
Member

@CoderMaggie CoderMaggie commented Mar 18, 2025

Q A
Branch? 1.13 and above
License MIT

Inspired by Symfony.

Summary by CodeRabbit

  • New Features

    • Introduced updated, structured templates for submitting bug reports, documentation issues, and feature requests.
    • Added a configuration update that disables blank submissions and provides clear guidance with contact links for support, security, and translations.
  • Chores

    • Removed legacy issue templates to streamline the reporting process.

@CoderMaggie CoderMaggie added the Maintenance CI configurations, READMEs, releases, etc. label Mar 18, 2025
@CoderMaggie CoderMaggie requested a review from a team as a code owner March 18, 2025 13:16
@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Mar 18, 2025

Walkthrough

The pull request overhauls the GitHub issue template system by removing legacy markdown templates and introducing new YAML-based templates for bug reports, documentation issues, and feature requests. Additionally, a configuration file has been added to disable blank issues and provide contact links for various concerns. No changes were made to exported or public entities.

Changes

File(s) Change Summary
.github/ISSUE_TEMPLATE.md, .github/ISSUE_TEMPLATE/bug-report.md, .github/ISSUE_TEMPLATE/documentation-issue.md, .github/ISSUE_TEMPLATE/feature-request.md, .github/ISSUE_TEMPLATE/security-issue.md, .github/ISSUE_TEMPLATE/support-question.md, .github/ISSUE_TEMPLATE/translations.md Removed legacy markdown templates for issue reporting (bug, documentation, feature, security, support, and translations).
.github/ISSUE_TEMPLATE/1_Bug_report.yaml Added a new YAML template for bug reports with required fields such as affected versions, reproduction steps, description, and optional solution details.
.github/ISSUE_TEMPLATE/2_Documentation_issue.yaml Added a new YAML template for documentation issues featuring a dropdown for version selection and a textarea for issue description.
.github/ISSUE_TEMPLATE/3_Feature_request.yaml Added a new YAML template for feature requests, including fields for a clear description and examples demonstrating the feature.
.github/ISSUE_TEMPLATE/config.yaml Introduced a configuration file that disables blank issues and provides contact links for Sylius Plus, security issues, support questions, and translations.

Sequence Diagram(s)

sequenceDiagram
    participant U as User
    participant GH as GitHub UI
    participant Repo as Repository
    U->>GH: Click "New Issue"
    GH->>Repo: Retrieve issue template config and templates
    Repo-->>GH: Return YAML templates (Bug, Documentation, Feature)
    U->>GH: Select desired template and fill in details
    U->>GH: Submit issue
    GH->>Repo: Create issue with provided details
    Repo-->>GH: Confirm issue creation
Loading

Poem

I'm a little rabbit hopping through the code,
Skipping over templates, in a streamlined mode.
Old files are gone, new YAMLs in sight,
Like carrots in spring, they make things bright!
With every hop, our project soars—what a delight!

Tip

⚡🧪 Multi-step agentic review comment chat (experimental)
  • We're introducing multi-step agentic chat in review comments. This experimental feature enhances review discussions with the CodeRabbit agentic chat by enabling advanced interactions, including the ability to create pull requests directly from comments.
    - To enable this feature, set early_access to true under in the settings.

🪧 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.
    • Generate unit testing code for this file.
    • 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 generate unit testing code for this file.
    • @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 generate unit testing code.
    • @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.

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 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.

@github-actions
Copy link
Copy Markdown

github-actions bot commented Mar 18, 2025

❌ Preview Environment deleted from Bunnyshell

Available commands:

  • 🚀 /bns:deploy to redeploy the environment

@probot-autolabeler probot-autolabeler bot added the Docker Docker-related issues and PRs. label Mar 18, 2025
@CoderMaggie CoderMaggie changed the base branch from 1.13 to 2.1 March 18, 2025 13:27
@CoderMaggie CoderMaggie requested a review from a team as a code owner March 18, 2025 13:27
@probot-autolabeler probot-autolabeler bot added Admin AdminBundle related issues and PRs. API APIs related issues and PRs. Documentation Documentation related issues and PRs - requests, fixes, proposals. labels Mar 18, 2025
Copy link
Copy Markdown

@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.

Caution

Inline review comments failed to post. This is likely due to GitHub's limits when posting large numbers of comments. If you are seeing this consistently it is likely a permissions issue. Please check "Moderation" -> "Code review limits" under your organization settings.

Actionable comments posted: 2

🧹 Nitpick comments (2)
.github/ISSUE_TEMPLATE/3_Documentation_issue.yaml (1)

5-16: Dropdown Field is Well-Structured
The dropdown for selecting the documentation version is clear. One point to verify: the multiple: true setting allows users to select more than one version. If the intention is to allow a single selection, consider setting this to false or removing it.

.github/ISSUE_TEMPLATE/1_Bug_report.yaml (1)

20-29: How-to-Reproduce Field Needs Minor Trailing Whitespace Cleanup
The "How to reproduce" section is detailed and underscores the importance of providing reproducible steps. However, static analysis has flagged trailing whitespace on line 26. Removing the extra space will enhance file consistency.

-              We’ll have a much better chance of helping if we can easily reproduce the issue. 
+              We’ll have a much better chance of helping if we can easily reproduce the issue.
🧰 Tools
🪛 YAMLlint (1.35.1)

[error] 26-26: trailing spaces

(trailing-spaces)

🛑 Comments failed to post (2)
src/Sylius/Bundle/ShopBundle/templates/shared/layout/base/header/navbar/menu.html.twig (1)

12-12: 💡 Verification agent

🧩 Analysis chain

Hook identifier simplified from 'sylius_shop.base.header.navbar.menu' to 'menu'

The hook identifier has been simplified to just 'menu'. This appears to be part of a broader effort to simplify hook names across templates, as mentioned in the summary. While this improves readability, ensure that all hook listeners have been updated to respond to this new identifier to maintain functionality.


🏁 Script executed:

#!/bin/bash
# Check if there are any references to the old hook name that might break
grep -r "sylius_shop\.base\.header\.navbar\.menu" --include="*.php" --include="*.yaml" --include="*.xml" .

Length of output: 492


Update Hook Listeners in Configuration Files

The template now uses {% hook 'menu' with { taxons } %} to simplify the hook identifier. However, the grep output shows that configuration files (notably in src/Sylius/Bundle/ShopBundle/Resources/config/app/twig_hooks/base.yaml) still reference the old identifier (sylius_shop.base.header.navbar.menu), along with related keys for dropdowns and links. To prevent broken functionality, please update these hook listener identifiers to use the new simplified name ("menu") in all relevant configuration files.

  • File to update: src/Sylius/Bundle/ShopBundle/Resources/config/app/twig_hooks/base.yaml
    • Change keys like:
      • 'sylius_shop.base.header.navbar.menu''menu'
      • And update related keys accordingly, if needed.
src/Sylius/Bundle/ReviewBundle/EventListener/ReviewChangeListener.php (1)

21-24: ⚠️ Potential issue

Class-level and property-level readonly modifiers are inconsistent

The $averageRatingUpdater property is modified to be mutable (by removing readonly), but the class itself is still declared as readonly. This inconsistency could lead to unexpected behavior, as a readonly class shouldn't have mutable properties.

Either make the class non-readonly or keep the property as readonly:

-final readonly class ReviewChangeListener
+final class ReviewChangeListener
{
    public function __construct(private ReviewableRatingUpdaterInterface $averageRatingUpdater)

OR

final readonly class ReviewChangeListener
{
-    public function __construct(private ReviewableRatingUpdaterInterface $averageRatingUpdater)
+    public function __construct(private readonly ReviewableRatingUpdaterInterface $averageRatingUpdater)
📝 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.

final readonly class ReviewChangeListener
{
    public function __construct(private readonly ReviewableRatingUpdaterInterface $averageRatingUpdater)
    {

Copy link
Copy Markdown

@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: 1

📜 Review details

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

📥 Commits

Reviewing files that changed from the base of the PR and between f277ba8 and 46de6ae.

📒 Files selected for processing (11)
  • .github/ISSUE_TEMPLATE.md (0 hunks)
  • .github/ISSUE_TEMPLATE/1_Bug_report.yaml (1 hunks)
  • .github/ISSUE_TEMPLATE/2_Feature_request.yaml (1 hunks)
  • .github/ISSUE_TEMPLATE/3_Documentation_issue.yaml (1 hunks)
  • .github/ISSUE_TEMPLATE/bug-report.md (0 hunks)
  • .github/ISSUE_TEMPLATE/config.yaml (1 hunks)
  • .github/ISSUE_TEMPLATE/documentation-issue.md (0 hunks)
  • .github/ISSUE_TEMPLATE/feature-request.md (0 hunks)
  • .github/ISSUE_TEMPLATE/security-issue.md (0 hunks)
  • .github/ISSUE_TEMPLATE/support-question.md (0 hunks)
  • .github/ISSUE_TEMPLATE/translations.md (0 hunks)
💤 Files with no reviewable changes (7)
  • .github/ISSUE_TEMPLATE/bug-report.md
  • .github/ISSUE_TEMPLATE/feature-request.md
  • .github/ISSUE_TEMPLATE.md
  • .github/ISSUE_TEMPLATE/documentation-issue.md
  • .github/ISSUE_TEMPLATE/support-question.md
  • .github/ISSUE_TEMPLATE/translations.md
  • .github/ISSUE_TEMPLATE/security-issue.md
🚧 Files skipped from review as they are similar to previous changes (3)
  • .github/ISSUE_TEMPLATE/3_Documentation_issue.yaml
  • .github/ISSUE_TEMPLATE/2_Feature_request.yaml
  • .github/ISSUE_TEMPLATE/config.yaml
🧰 Additional context used
🪛 YAMLlint (1.35.1)
.github/ISSUE_TEMPLATE/1_Bug_report.yaml

[error] 26-26: trailing spaces

(trailing-spaces)

⏰ Context from checks skipped due to timeout of 90000ms (9)
  • GitHub Check: End-to-end tests (PostgreSQL) / Non-JS, PHP 8.3, Symfony ^7.1, PostgreSQL 16.4
  • GitHub Check: End-to-end tests (MariaDB) / Non-JS, PHP 8.2, Symfony ^6.4, MariaDB 10.11.9, State Machine Adapter symfony_workflow
  • GitHub Check: Packages / PHP 8.2, Symfony ^6.4
  • GitHub Check: End-to-end tests (MySQL) / JS with Panther, PHP 8.3, Symfony ^7.1 (test_cached), MySQL 8.4, Twig ^3.3
  • GitHub Check: End-to-end tests (MySQL) / JS with Panther, PHP 8.2, Symfony ^6.4 (test_cached), MySQL 8.0, Twig ^3.3
  • GitHub Check: End-to-end tests (MySQL) / JS with Chromedriver, PHP 8.3, Symfony ^7.1 (test_cached), MySQL 8.4, Twig ^3.3
  • GitHub Check: End-to-end tests (MySQL) / JS with Chromedriver, PHP 8.2, Symfony ^6.4 (test_cached), MySQL 8.0, Twig ^3.3
  • GitHub Check: End-to-end tests (MySQL) / Non-JS, PHP 8.3, Symfony ^7.1 (test_cached), MySQL 8.4, Twig ^3.3
  • GitHub Check: End-to-end tests (MySQL) / Non-JS, PHP 8.2, Symfony ^6.4 (test_cached), MySQL 8.0, Twig ^3.3
🔇 Additional comments (6)
.github/ISSUE_TEMPLATE/1_Bug_report.yaml (6)

1-4: File Header and Metadata: Looks Good!

The header clearly defines the bug report template with a descriptive name, a cautionary description regarding security issues, and an appropriate label.


5-12: Input Field ("affected-versions") is Properly Configured.

The "affected-versions" input field is well-structured with clear labels, a placeholder, and a required validation.


13-19: Description Field is Correctly Specified.

The description field uses a textarea type with clear labeling and a concise prompt, and it is correctly marked as required.


20-29: "How to Reproduce" Field is Informative and Well-Formatted.

The "How to reproduce" textarea provides detailed instructions with a multiline description and is marked as required. Ensure that the extra whitespace noted by YAMLlint is removed (see next comment).

🧰 Tools
🪛 YAMLlint (1.35.1)

[error] 26-26: trailing spaces

(trailing-spaces)


30-37: "Possible Solution" Field is Well-Documented.

This optional field encourages users to suggest fixes and includes a helpful multiline description.


38-41: "Additional Context" Field is Appropriately Configured.

The additional context field is optional and provides a clear prompt for extra information (e.g., log messages or screenshots).

@CoderMaggie CoderMaggie removed Documentation Documentation related issues and PRs - requests, fixes, proposals. Admin AdminBundle related issues and PRs. API APIs related issues and PRs. Docker Docker-related issues and PRs. labels Mar 19, 2025
Copy link
Copy Markdown

@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)
.github/ISSUE_TEMPLATE/config.yaml (1)

15-15: Final Newline Recommendation

Ensure that the file ends with a trailing newline for maximum compatibility with various editors and tooling.

📜 Review details

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

📥 Commits

Reviewing files that changed from the base of the PR and between 46de6ae and 8b15207.

📒 Files selected for processing (4)
  • .github/ISSUE_TEMPLATE/1_Bug_report.yaml (1 hunks)
  • .github/ISSUE_TEMPLATE/2_Documentation_issue.yaml (1 hunks)
  • .github/ISSUE_TEMPLATE/3_Feature_request.yaml (1 hunks)
  • .github/ISSUE_TEMPLATE/config.yaml (1 hunks)
✅ Files skipped from review due to trivial changes (2)
  • .github/ISSUE_TEMPLATE/3_Feature_request.yaml
  • .github/ISSUE_TEMPLATE/2_Documentation_issue.yaml
⏰ Context from checks skipped due to timeout of 90000ms (13)
  • GitHub Check: End-to-end tests (MySQL) / JS with Chromedriver, PHP 8.3, Symfony ^7.1 (test_cached), MySQL 8.4, Twig ^3.3
  • GitHub Check: End-to-end tests (MySQL) / JS with Panther, PHP 8.3, Symfony ^7.1 (test_cached), MySQL 8.4, Twig ^3.3
  • GitHub Check: End-to-end tests (MySQL) / JS with Chromedriver, PHP 8.2, Symfony ^6.4 (test_cached), MySQL 8.0, Twig ^3.3
  • GitHub Check: End-to-end tests (MySQL) / JS with Panther, PHP 8.2, Symfony ^6.4 (test_cached), MySQL 8.0, Twig ^3.3
  • GitHub Check: End-to-end tests (MySQL) / Non-JS, PHP 8.3, Symfony ^7.1 (test_cached), MySQL 8.4, Twig ^3.3
  • GitHub Check: End-to-end tests (MySQL) / Non-JS, PHP 8.2, Symfony ^6.4 (test_cached), MySQL 8.0, Twig ^3.3
  • GitHub Check: End-to-end tests (MariaDB) / Non-JS, PHP 8.3, Symfony ^7.1, MariaDB 11.4.3, State Machine Adapter winzou_state_machine
  • GitHub Check: End-to-end tests (MariaDB) / Non-JS, PHP 8.3, Symfony ^7.1, MariaDB 11.4.3, State Machine Adapter symfony_workflow
  • GitHub Check: End-to-end tests (MariaDB) / Non-JS, PHP 8.2, Symfony ^6.4, MariaDB 10.11.9, State Machine Adapter symfony_workflow
  • GitHub Check: Packages / PHP 8.3, Symfony ^7.1
  • GitHub Check: Packages / PHP 8.2, Symfony ^6.4
  • GitHub Check: End-to-end tests (PostgreSQL) / Non-JS, PHP 8.3, Symfony ^7.1, PostgreSQL 16.4
  • GitHub Check: End-to-end tests (PostgreSQL) / Non-JS, PHP 8.2, Symfony ^6.4, PostgreSQL 15.8
🔇 Additional comments (11)
.github/ISSUE_TEMPLATE/1_Bug_report.yaml (6)

1-3: Descriptive Header and Metadata

The header clearly identifies the template as a bug report with an expressive name, description, and label. Please double-check for any trailing whitespace (especially on these lines) to ensure YAML linting passes.


5-12: Affected Versions Field is Well-Defined

The input field for affected Sylius versions is clearly structured with a label, placeholder, and proper validation. This helps ensure that reporters supply essential version information.


13-19: Clear Description Field

The description textarea provides concise instructions and correctly enforces required input. This makes it easier for users to articulate the problem.


20-29: Informative 'How to Reproduce' Section

This section clearly emphasizes the importance of providing reproducible steps. Please ensure that no extraneous trailing whitespace exists within the indented text (for example, around line 26) as noted in previous reviews.


30-36: Optional 'Possible Solution' Field

The optional textarea for a possible solution is well-structured and encourages contributors to share ideas for a fix. The guidance is clear and user-friendly.


37-41: Additional Context Field Adds Value

The additional context field is thoughtfully designed to capture extra details such as log messages or screenshots. Its clarity and optional nature enhance the overall issue-reporting process.

.github/ISSUE_TEMPLATE/config.yaml (5)

1-1: Blank Issues Disabled Correctly

Disabling blank issues is a positive configuration choice to ensure that submissions contain useful information.


2-5: Sylius Plus Contact Link is Clear

The first contact link is well integrated with a descriptive name, URL, and helpful "about" information guiding users toward Sylius Plus features.


6-8: Proper Handling of Security Issues

The security issue link appropriately directs users to review the security reporting guidelines and avoids public disclosures. This clear guidance is essential.


9-11: Support Question Guidance is On-Point

The support question entry distinguishes between reporting issues and seeking help with usage questions. The provided URL and explanatory text are clear and concise.


12-14: Translations Link is Well-Defined

The translations contact link provides a direct route for contributors to add or correct translations in Sylius. Consider ensuring consistent quoting (if necessary) for URLs, although the current format appears acceptable.

@GSadee GSadee merged commit f4cc092 into Sylius:2.1 Mar 19, 2025
16 of 27 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Maintenance CI configurations, READMEs, releases, etc.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants