Skip to content

HYPERFLEET-486 | fix: adjust labels#13

Merged
yasun1 merged 1 commit intoopenshift-hyperfleet:mainfrom
yasun1:init-hyperfleet-e2e
Jan 22, 2026
Merged

HYPERFLEET-486 | fix: adjust labels#13
yasun1 merged 1 commit intoopenshift-hyperfleet:mainfrom
yasun1:init-hyperfleet-e2e

Conversation

@yasun1
Copy link
Contributor

@yasun1 yasun1 commented Jan 22, 2026

Summary by CodeRabbit

  • Documentation

    • Updated test labeling docs and CLI examples to use Tier0/Tier1/Tier2 and adjusted related wording.
  • Refactor

    • Streamlined test labeling to a single required severity dimension; reorganized optional label categories.
  • Tests

    • Updated test metadata, initialization/examples, timeouts, wait/cleanup behavior, and validation messages to align with new severity-focused labels.

✏️ Tip: You can customize this high-level summary in your review settings.

@openshift-ci
Copy link

openshift-ci bot commented Jan 22, 2026

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
Once this PR has been reviewed and has the lgtm label, please assign aredenba-rh for approval. For more information see the Code Review Process.

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@coderabbitai
Copy link

coderabbitai bot commented Jan 22, 2026

Walkthrough

The change consolidates test labeling into a single Severity dimension (Tier0/Tier1/Tier2), removes several legacy label constants (Stable, Informing, Flaky, HappyPath, Serial, Lifecycle), and renames Scale to Performance. Label validation is simplified from three required dimensions to a single severity check. Tests, e2e suites, and documentation (README, docs/development.md) are updated to use the new labels and CLI examples. Test setup/teardown code was adjusted to initialize helpers directly, source clusterID from cluster.Id, use a WaitForClusterPhase API for readiness, and add guarded cleanup with warning logging.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The PR title 'fix: adjust labels' accurately summarizes the main change: refactoring the labeling system from multi-label categorization to a severity-based (Tier0/Tier1/Tier2) structure across documentation, test metadata, and validation logic.
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing touches
  • 📝 Generate docstrings

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

🤖 Fix all issues with AI agents
In `@docs/development.md`:
- Around line 135-142: The docs conflict: update the earlier "Basic Test
Structure" example to match the "Required labels (1)" rule by removing or
replacing references to labels.Lifecycle, labels.Critical, and labels.HappyPath
so it only uses the required Severity label (Tier0 | Tier1 | Tier2) and any
optional labels listed; ensure the snippet in the Basic Test Structure uses the
same label keys and values as the section that lists required/optional labels.
🧹 Nitpick comments (1)
pkg/labels/labels.go (1)

10-15: Consider removing the commented legacy constants. Keeping deprecated labels in commented code can confuse future readers; consider moving to docs or release notes instead.

@yasun1 yasun1 force-pushed the init-hyperfleet-e2e branch from fdf66ab to ec8abc3 Compare January 22, 2026 09:10
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

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (2)
docs/development.md (1)

83-84: Inconsistent example uses removed labels.

The "Basic Test Structure" example at line 84 still references labels.Lifecycle, labels.Critical, and labels.HappyPath, which have been removed from pkg/labels/labels.go. This contradicts the updated labeling guidance later in the document.

Proposed fix
 var _ = ginkgo.Describe(testName,
-    ginkgo.Label(labels.Lifecycle, labels.Critical, labels.HappyPath),
+    ginkgo.Label(labels.Tier0),
     func() {
pkg/labels/validate_test.go (1)

15-16: Outdated comment references removed label dimensions.

The function comment still mentions "Priority, Stability, and Scenario" dimensions, but validation now only requires the Severity dimension.

Proposed fix
 // TestAllE2ETestsHaveRequiredLabels validates that all Ginkgo test specs
-// include the three required label dimensions: Priority, Stability, and Scenario
+// include the required Severity label dimension (Tier0, Tier1, or Tier2)
 func TestAllE2ETestsHaveRequiredLabels(t *testing.T) {
🧹 Nitpick comments (2)
pkg/labels/labels.go (2)

10-15: Consider removing commented-out code.

If the Stability labels (Stable, Informing, Flaky) are no longer part of the labeling schema, consider removing this commented block entirely rather than leaving it as dead code. If the intent is to preserve documentation of the prior taxonomy, an ADR or commit history would be more appropriate.

♻️ Suggested removal
-// Stability labels - Test quality dimension: determines CI gate policy
-// const (
-// 	Stable    = "stable"    // Production-ready: stable and reliable, must pass to merge (Blocking)
-// 	Informing = "informing" // Observation period: new test onboarding (Non-blocking)
-// 	Flaky     = "flaky"     // Known unstable: quarantined for investigation
-// )

17-22: Remove commented-out HappyPath constant.

Similar to the Stability labels, if HappyPath is no longer used, remove the commented line rather than leaving dead code.

♻️ Suggested cleanup
 // Scenario labels - Test path dimension: describes test design intent
 const (
-	// HappyPath = "happy-path" // Normal workflow: ideal path
 	Negative    = "negative" // Error handling: edge cases and failure scenarios
 	Performance = "perf"     // Performance: stress tests or large-scale resource scenarios
 )

update

update

update

update

update

update

update

update

update

update

update
@yasun1 yasun1 force-pushed the init-hyperfleet-e2e branch from ec8abc3 to 56baa53 Compare January 22, 2026 09:18
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

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
docs/development.md (1)

130-156: Update the CLI label-filter example to match the new severity model.

The “Run Your Test” section still uses legacy labels (critical && lifecycle), which conflicts with the updated Severity-only requirement. Please update that example to use Tier labels (and optional labels if desired).

📝 Suggested doc fix (in “Run Your Test” section)
-./bin/hyperfleet-e2e test --label-filter "critical && lifecycle"
+./bin/hyperfleet-e2e test --label-filter "tier0"

@yasun1 yasun1 merged commit 57ab8e8 into openshift-hyperfleet:main Jan 22, 2026
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.

1 participant

Comments