Skip to content

Conversation

@tjirab
Copy link
Contributor

@tjirab tjirab commented Oct 27, 2025

Fixes the labeler.yml config. See docs for reference: https://github.com/actions/labeler?tab=readme-ov-file#usage.

This should fix the CI issue

Error: Error: found unexpected type for label 'agents-core' (should be array of config options)
Error: found unexpected type for label 'agents-core' (should be array of config options)

Summary by CodeRabbit

  • Chores
    • Standardized repository labeling rules to use uniform changed-files glob mappings across all sections, replacing explicit per-section file lists and negation logic.
    • Result: simpler, more consistent label assignment and easier maintenance for CI/CD, docs, assets, tests and other areas.

@coderabbitai
Copy link

coderabbitai bot commented Oct 27, 2025

Walkthrough

Replaces explicit per-label path lists and exclusion patterns in .github/labeler.yml with uniform changed-files glob mappings across all label categories, standardizing the labeler configuration without changing declared labels.

Changes

Cohort / File(s) Summary
GitHub Actions Labeler Configuration
\.github/labeler\.yml
Converts explicit include/exclude file lists and negations into consistent changed-files entries using glob-to-file mappings for all label sections (agents-core, plugins, examples, tests, docs, config, ci, core-agents, core-infrastructure, cli, dependencies, assets, legal, project-info).

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

  • Single configuration file with a homogeneous, repeated transformation.
  • Review focus:
    • Verify each glob in changed-files matches the intended label coverage.
    • Ensure no edge-case exclusions were unintentionally removed.

Possibly related PRs

Suggested reviewers

  • yarikdevcom

Poem

The file becomes a winter bed of names,
Wildcards like small bones laid in neat rows,
Each label a silent organ under glass,
The mapping hums and cools like distant machines,
I close the ledger and listen to the hush.

Pre-merge checks and finishing touches

❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. You can run @coderabbitai generate docstrings to improve docstring coverage.
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title Check ✅ Passed The PR title "fix: Correct labeler.yml config" directly addresses the main change in the pull request, which is refactoring the labeler.yml configuration file to resolve a CI failure. The title uses the conventional "fix:" prefix, clearly identifies the file being modified, and concisely communicates the nature of the change. A teammate scanning the git history would immediately understand that this PR corrected a configuration issue in labeler.yml, making it both specific and actionable. The title avoids vague terms, noise, or excessive details while accurately representing the primary change.
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

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

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link

@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/labeler.yml (1)

93-103: Eliminate redundant glob patterns in config label.

Several patterns are redundant and can be consolidated:

  • Line 100: **/pyproject.toml is redundant with line 94's **/*.toml
  • Line 101: **/pytest.ini is redundant with line 98's **/*.ini
  • Lines 95–99 are already very broad (all .yml, .yaml, .json, .ini, .cfg) and may be overly permissive

Consider whether this breadth is intentional or if config patterns should be narrower (e.g., root-level and .github/ only).

Apply this diff to consolidate:

 config:
   - changed-files:
     - any-glob-to-any-file: '**/*.toml'
     - any-glob-to-any-file: '**/*.yml'
     - any-glob-to-any-file: '**/*.yaml'
     - any-glob-to-any-file: '**/*.json'
     - any-glob-to-any-file: '**/*.ini'
     - any-glob-to-any-file: '**/*.cfg'
-    - any-glob-to-any-file: '**/pyproject.toml'
-    - any-glob-to-any-file: '**/pytest.ini'
     - any-glob-to-any-file: '**/conftest.py'
📜 Review details

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Disabled knowledge base sources:

  • Linear integration is disabled by default for public repositories

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between e1072e8 and fa8eb4b.

📒 Files selected for processing (1)
  • .github/labeler.yml (1 hunks)
🔇 Additional comments (3)
.github/labeler.yml (3)

86-90: Verify glob patterns for docs label — potential over-reach to non-documentation markdown.

The pattern **/*.md on line 89 matches markdown files throughout the entire repository, not just documentation. This will label pull requests modifying README.md, CHANGELOG.md, or any *.md in subdirectories (including plugins/*/README.md) as docs, which may not align with intent.

Consider scoping to: docs/** and root-level documentation files (README.md, CHANGELOG.md, etc.) if the goal is narrower.


145-155: Verify glob patterns for assets label — media file patterns are repository-wide.

The patterns **/*.png, **/*.jpg, **/*.jpeg, **/*.gif, **/*.mp4, **/*.wav, **/*.mp3 on lines 148–154 match media files anywhere in the repository. If the intent is to label only files in the assets/ directory, these should be scoped (e.g., assets/**/*.png).

As written, a PNG file added to plugins/some_plugin/preview.png would incorrectly receive the assets label.


164-169: Verify scope of project-info label patterns.

The patterns on lines 165–168 (**/README.md, **/CHANGELOG.md, **/CONTRIBUTING.md, **/SECURITY.md) will match these files in any subdirectory. If the label should apply only to root-level project metadata, these patterns are too broad.

For example, plugins/some_plugin/README.md would incorrectly receive the project-info label instead of a plugin-specific label.

Copy link

@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 (2)
.github/labeler.yml (2)

87-89: Note: Broad glob patterns may over-label.

The **/*.md pattern (line 89) will match markdown files anywhere in the repository—including changelogs, contribution guides, and READMEs in non-docs directories. If this broad behavior is intentional (to label all documentation-related changes), document it. Otherwise, consider constraining to docs/**/*.md to match only files within the docs directory.


145-154: Note: Asset glob patterns may match files outside assets/ directory.

The asset media globs (**/*.png, **/*.jpg, **/*.mp4, etc.) will match media files anywhere in the repository—including images in documentation or examples. Verify this broad matching is intentional. If strict scoping to the assets/ directory is preferred, adjust to assets/**/*.{png,jpg,jpeg,gif,mp4,wav,mp3}.

📜 Review details

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Disabled knowledge base sources:

  • Linear integration is disabled by default for public repositories

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between 7bd52ab and 863e6f3.

📒 Files selected for processing (1)
  • .github/labeler.yml (1 hunks)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
  • GitHub Check: unit / Ruff & mypy
  • GitHub Check: unit / Test "not integration"
🔇 Additional comments (2)
.github/labeler.yml (2)

1-169: LGTM: Config now complies with actions/labeler specification.

The restructured format correctly addresses the reported CI error by wrapping each label's configuration as an array of objects, each containing a changed-files condition with one or more any-glob-to-any-file glob patterns. This matches the actions/labeler usage specification referenced in the PR.


79-83: Note: Test patterns provide comprehensive but overlapping coverage.

The four patterns (line 79–83) create deliberate overlap: tests/** catches the tests directory, **/tests/** catches nested test directories, and **/test_*.py + **/*_test.py catch test files by naming convention regardless of location. If the labeler deduplicates matching files (likely), this is fine. Otherwise, a file matching multiple patterns could be labeled multiple times.

@dangusev dangusev merged commit 031433a into GetStream:main Oct 30, 2025
3 of 4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants