Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
354 changes: 354 additions & 0 deletions .github/labels.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,354 @@
# cozystack-ui repository labels
#
# Label conventions follow the Kubernetes scheme:
# https://github.com/kubernetes/test-infra/blob/master/label_sync/labels.md
#
# Synced into the repository by .github/workflows/labels.yaml
# (EndBug/label-sync@v2). Edit this file via pull request — UI changes
# will be overwritten on the next sync.
#
# Constraints (enforced by the validate job in labels.yaml):
# - description ≤ 100 characters (GitHub REST API limit)
# - color is a 6-character hex string (no leading #)
# - label names are unique
# - aliases do not collide with top-level names
#
# Categories:
# kind/ issue or PR type
# priority/ urgency
# triage/ review state
# lifecycle/ issue or PR lifecycle
# area/ subsystem; extensible — add when 3+ open issues exist
# do-not-merge/ PR merge blockers
# security/ security-finding severity and status
# size/ PR size (auto-applied)
#
# `aliases:` lets EndBug/label-sync rename existing labels without losing
# references on already-tagged issues and PRs.
#
# size/* line-count thresholds in the descriptions below are the contract
# the .github/workflows/pr-size.yaml bucket logic encodes. Editing one and
# not the other will drift the label off what the workflow actually applies
# — keep them in lockstep.

# ──────────────────────────────────────────────
# kind/ — issue or PR type
# ──────────────────────────────────────────────

- name: kind/bug
color: 'd73a4a'
description: Categorizes issue or PR as related to a bug
aliases: ['bug']

- name: kind/feature
color: 'a2eeef'
description: Categorizes issue or PR as related to a new feature
aliases: ['enhancement']

- name: kind/documentation
color: '0075ca'
description: Categorizes issue or PR as related to documentation
aliases: ['documentation']

- name: kind/support
color: 'd876e3'
description: Categorizes issue as a support question
aliases: ['question']

- name: kind/cleanup
color: 'c7def8'
description: Categorizes issue or PR as related to cleanup of code, process, or technical debt

- name: kind/regression
color: 'e11d21'
description: Categorizes issue or PR as related to a regression from a prior release

- name: kind/flake
color: 'f7c6c7'
description: Categorizes issue or PR as related to a flaky test

- name: kind/failing-test
color: 'e11d21'
description: Categorizes issue or PR as related to a consistently or frequently failing test

- name: kind/api-change
color: 'c7def8'
description: Categorizes issue or PR as related to adding, removing, or otherwise changing an API

- name: kind/breaking-change
color: 'e11d21'
description: Indicates the change introduces a breaking API or behaviour change

# ──────────────────────────────────────────────
# priority/ — urgency
# ──────────────────────────────────────────────

- name: priority/critical-urgent
color: 'e11d21'
description: Highest priority. Must be actively worked on as someone's top priority right now

- name: priority/important-soon
color: 'eb6420'
description: Must be staffed and worked on either currently, or very soon, ideally in time for the next release

- name: priority/important-longterm
color: 'fbca04'
description: Important over the long term, but may not be staffed and/or may need multiple releases to complete

- name: priority/backlog
color: 'fef2c0'
description: General backlog priority. Lower than priority/important-longterm

# ──────────────────────────────────────────────
# triage/ — review state
# ──────────────────────────────────────────────

- name: triage/needs-triage
color: 'ededed'
description: Indicates an issue needs triage by a maintainer

- name: triage/accepted
color: '0e8a16'
description: Indicates an issue is ready to be actively worked on

- name: triage/needs-information
color: 'fbca04'
description: Indicates an issue needs more information in order to work on it

- name: triage/not-reproducible
color: 'fbca04'
description: Indicates an issue can not be reproduced as described

- name: triage/duplicate
color: 'cfd3d7'
description: Indicates an issue is a duplicate of another issue
aliases: ['duplicate']

- name: triage/unresolved
color: 'cfd3d7'
description: Indicates an issue that can not or will not be resolved

# ──────────────────────────────────────────────
# lifecycle/ — issue or PR lifecycle
# ──────────────────────────────────────────────

- name: lifecycle/active
color: '1d76db'
description: Indicates that an issue or PR is actively being worked on by a contributor

- name: lifecycle/frozen
color: 'db5dd6'
description: Marks an issue or PR as kept alive regardless of inactivity; manual marker only
aliases: ['frozen']

- name: lifecycle/stale
color: 'dadada'
description: Denotes an issue or PR that has remained open with no activity; manual marker only
aliases: ['stale']

- name: lifecycle/rotten
color: '795548'
description: Denotes an issue or PR that has aged beyond stale; manual marker only

# ──────────────────────────────────────────────
# area/ — subsystem (extensible)
# Add a new area/* when there are 3+ open issues on the topic.
# ──────────────────────────────────────────────

- name: area/console
color: 'bfd4f2'
description: Issues or PRs related to apps/console — routes, detail pages, marketplace, command palette

- name: area/forms
color: 'bfd4f2'
description: Issues or PRs related to RJSF schema forms and widgets (backup, external-ips, storage-class, etc.)

- name: area/k8s-client
color: 'bfd4f2'
description: Issues or PRs related to packages/k8s-client — K8sClient, hooks, watch layer

- name: area/ui
color: 'bfd4f2'
description: Issues or PRs related to packages/ui — AppShell, Sidebar, Header, Button, primitives

- name: area/types
color: 'bfd4f2'
description: Issues or PRs related to packages/types — shared Kubernetes resource types

- name: area/tenants
color: 'bfd4f2'
description: Issues or PRs related to tenant context, tenant-namespace scoping, multi-tenancy

- name: area/auth
color: 'bfd4f2'
description: Issues or PRs related to authentication, oauth2-proxy integration, userinfo

- name: area/vm
color: 'bfd4f2'
description: Issues or PRs related to virtual machines — VNC console, VM tabs, kubevirt integration

- name: area/container
color: 'bfd4f2'
description: Issues or PRs related to the container image build, Containerfile, nginx configuration

- name: area/ci
color: 'bfd4f2'
description: Issues or PRs related to CI workflows, GitHub Actions, automation

- name: area/docs
color: 'bfd4f2'
description: Issues or PRs related to documentation — README, CLAUDE.md, AGENTS.md, contributor guides

- name: area/tests
color: 'bfd4f2'
description: Issues or PRs related to testing infrastructure — vitest, jsdom, testing-library

- name: area/uncategorized
color: 'fbca04'
description: PR auto-labeler could not map title scope to a known area/*; please review

# ──────────────────────────────────────────────
# do-not-merge/ — PR merge blockers (Prow convention)
# ──────────────────────────────────────────────

- name: do-not-merge/work-in-progress
color: 'e11d21'
description: Indicates that a PR should not merge because it is a work in progress

- name: do-not-merge/hold
color: 'e11d21'
description: Indicates that a PR should not merge because someone has issued /hold

# ──────────────────────────────────────────────
# Cross-cutting / preserved
# ──────────────────────────────────────────────

- name: epic
color: 'a335ee'
description: A large development increment that brings definite value to Cozystack users

- name: community
color: '97458a'
description: Community contributions are welcome in this issue

- name: help wanted
color: '008672'
description: Extra attention is needed

- name: good first issue
color: '7057ff'
description: Good for newcomers

- name: quality-of-life
color: 'aaaaaa'
description: QoL improvements

- name: upstream-issue
color: 'aaaaaa'
description: Requires resolving an issue in an upstream project

- name: release
color: 'aaaaaa'
description: Releasing a new cozystack-ui version

- name: automated
color: 'ededed'
description: Created by automation

- name: debug
color: '704479'
description: Debugging in progress

- name: sponsored
color: '00ff00'
description: Sponsored work

- name: lgtm
color: '238636'
description: Manual marker that a reviewer has signed off; informational — does not gate merge

- name: ok-to-test
color: '00ff00'
description: Indicates a non-member PR is safe to run CI on

# ──────────────────────────────────────────────
# size/ — PR size (auto-applied by .github/workflows/pr-size.yaml)
# ──────────────────────────────────────────────

- name: size/XS
color: '00ff00'
description: This PR changes 0-9 lines, ignoring generated files
aliases: ['size:XS']

- name: size/S
color: '77b800'
description: This PR changes 10-29 lines, ignoring generated files
aliases: ['size:S']

- name: size/M
color: 'ebb800'
description: This PR changes 30-99 lines, ignoring generated files
aliases: ['size:M']

- name: size/L
color: 'eb9500'
description: This PR changes 100-499 lines, ignoring generated files
aliases: ['size:L']

- name: size/XL
color: 'ff823f'
description: This PR changes 500-999 lines, ignoring generated files
aliases: ['size:XL']

- name: size/XXL
color: 'ffb8b8'
description: This PR changes 1000+ lines, ignoring generated files
aliases: ['size:XXL']

# ──────────────────────────────────────────────
# security/ — security-finding severity and status
# ──────────────────────────────────────────────

- name: security
color: 'aaaaaa'
description: Security-related issues and features

- name: security/critical
color: 'd73a4a'
description: Critical security vulnerability

- name: security/high
color: 'e99695'
description: High severity security finding

- name: security/medium
color: 'f9c513'
description: Medium severity security finding

- name: security/low
color: '0e8a16'
description: Low severity security finding

- name: security/triage-needed
color: 'fbca04'
description: Needs security triage

- name: security/confirmed
color: '1d76db'
description: Confirmed vulnerability

- name: security/false-positive
color: 'c5def5'
description: Triaged as false positive

- name: security/accepted-risk
color: 'bfd4f2'
description: Risk accepted with justification

- name: security/in-progress
color: '0075ca'
description: Fix in progress

- name: security/fixed
color: '0e8a16'
description: Fix released
Loading
Loading