Skip to main content

Label strategy

This guide explains the labels used in the apache/pulsar repository (the main repo).

type/*​

The type/* labels are mainly distinguish the issues and PRs are for bug reporting, bug fix, feature requests, feature support.

LabelDescription
type/cleanupCode or doc cleanups e.g. remove the outdated documentation or remove the code no longer in use
type/featureThe PR added a new feature or issue requested a new feature
type/bugYour PR fixed a bug or issue reported a bug
type/refactorCode or doc refactors. e.g. refactor code structure or methods to improve code readability
type/enhancementThe enhancements for the existing features or docs. e.g. reduce memory usage of the delayed messages

component/*​

The component/* labels are indicating which component the issues or PRs have happened

LabelDescription
component/function
component/broker
component/clipulsar-admin, pulsar-client, pulsar-perf ...
component/clientJava client
component/proxyPulsar proxy
component/tieredstorage
component/sqlPulsar SQL based on trino
component/transaction
component/schema
component/security
component/configPulsar configurations
component/authentication
component/build
component/geo-replication
component/metrics
component/metadata
component/tool
component/admin
component/testImprove test coverage or enhance the test
component/ci
component/compaction
component/connector
component/websocket
component/MLManaged Ledger
component/authorization
component/dependency

category/*​

In addition to being able to identify which component that the issue, PR is fixed or enhanced. The category labels will provide more information about the fix or enhancement for functionality, reliability, or performance. For most cases, the category labels only work with type/bug and type/enhancement.

LabelDescription
category/functionalitysome functions are not working such as get errors.
category/reliabilitythe function is working for most cases. It does not work properly in certain specific environments or failures. e.g. data lost, consumption stuck
category/performanceperformance issues fix or improvements.

ready-to-test​

Use Personal CI to test changes in your fork while developing them. In apache/pulsar, the readiness check stops CI for draft pull requests and for stacked pull requests above the lowest open pull request in the stack. Documentation-only changes bypass this check.

An Apache Pulsar committer can add ready-to-test to override the readiness check. A non-draft pull request at the bottom of its stack, or targeting a trunk branch directly, does not require the label. Marking a PR ready for review, adding the label, or merging the PR below it does not automatically restart a stopped run. Rerun failed jobs in GitHub Actions or comment /pulsarbot rerun after the run finishes.

See also CI Testing in Fork.

doc-*​

These labels describe documentation work associated with a change. The documentation-label bot and its required PR-template checkboxes have been removed; the labels are no longer assigned by that automation. Describe documentation changes and follow-up work in the pull request.

LabelDescription
doc-not-neededYour PR changes do not impact docs
docYour PR contains doc changes, no matter whether the changes are in markdown or code files.
doc-requiredYour PR changes impact docs and you will update later.
doc-completeYour PR changes impact docs and the related docs have been already added.
doc-label-missingThe Bot applies this label when there is no doc label information in the PR if one of the following conditions is met:
  • You do not provide a doc label.
  • You provide multiple doc labels.
  • You delete backticks (``) in doc labels.
  • You add blanks in square brackets.
  • release/*​

    LabelDescription
    release/important-noticeThe changes which are important should be mentioned in the release note
    release/blockerIndicate the PR or issue that should block the release until it gets resolved
    release/<version>The labels are indicating which version the issue/PR has been fixed or will be fixed depending on if the version is released or not

    cherry-picked/*​

    The cherry-picked/* labels are more mainly for Pulsar committers to ensure the fixes are cherry-picked to the release branches. The label only can be added after the cherry-picking is done for a corresponding branch. So that the release manager can have a list of PRs that should to be cherry-picked.