Skip to content

Conversation

@tchap
Copy link
Contributor

@tchap tchap commented Sep 17, 2025

context.Context is now being passed around to support interrupting the whole inspection process.
RunContext method is the entry point.

There is no functional change.

Split from #2062

@openshift-ci-robot openshift-ci-robot added jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. jira/valid-bug Indicates that a referenced Jira bug is valid for the branch this PR is targeting. labels Sep 17, 2025
@openshift-ci-robot
Copy link

@tchap: This pull request references Jira Issue OCPBUGS-59311, which is valid.

3 validation(s) were run on this bug
  • bug is open, matching expected state (open)
  • bug target version (4.21.0) matches configured target version for branch (4.21.0)
  • bug is in the state POST, which is one of the valid states (NEW, ASSIGNED, POST)

Requesting review from QA contact:
/cc @zhouying7780

The bug has been updated to refer to the pull request using the external bug tracker.

In response to this:

context.Context is now being passed around to support interrupting the whole inspection process.
RunContext method is the entry point.

Split from #2062

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

@coderabbitai
Copy link

coderabbitai bot commented Sep 17, 2025

Walkthrough

Propagates context.Context throughout the inspect subsystem: adds InspectOptions.RunContext, updates InspectResource and many gather/inspect function signatures to accept ctx and a resourceContext, and makes file-writer APIs context-aware. All API calls, listing, streaming, and writes now receive ctx; control flow unchanged.

Changes

Cohort / File(s) Summary
Core inspect flow & API
pkg/cli/admin/inspect/inspect.go, pkg/cli/admin/inspect/resource.go
Add RunContext(ctx context.Context); change InspectResource signature to accept ctx context.Context and resourceContext *resourceContext; rename/localize resource context variable; propagate ctx and resourceContext through discovery, recursion, related-object gathering, List calls, and writes.
Writer interface & I/O
pkg/cli/admin/inspect/writer.go
Add ctx context.Context to simpleFileWriter.Write, MultiSourceFileWriter.WriteFromSource, and WriteFromResource; use src.Stream(ctx), defer Close, and forward ctx to underlying writes.
Namespace & Pod collection
pkg/cli/admin/inspect/namespace.go, pkg/cli/admin/inspect/pod.go
Thread ctx into gatherNamespaceData, gatherPodData, and container/log helpers; use ctx for Namespaces().Get/List, Stream, and WriteFromResource/WriteFromSource.
Admission webhooks & CRDs
pkg/cli/admin/inspect/admission_webhooks.go, pkg/cli/admin/inspect/apiextensions.go
Replace previous single context-like parameter with (ctx context.Context, resourceCtx *resourceContext) across webhook and CRD gatherers; update internal helpers (gatherGenericObject, gatherNamespaces, related functions) to accept and forward ctx/resourceCtx; add context imports.
Individual resource inspectors
pkg/cli/admin/inspect/secret.go, pkg/cli/admin/inspect/route.go, pkg/cli/admin/inspect/proxy.go
Update inspect*Info functions to accept ctx context.Context; pass ctx into o.fileWriter.WriteFromResource; add context imports.
Related helpers & recursive gathering
pkg/cli/admin/inspect/resource.go, pkg/cli/admin/inspect/...
Propagate ctx and resourceContext to helpers: gatherConfigResourceData, gatherOperatorResourceData, gatherClusterOperatorResource, gatherRelatedObjects, gatherMoreObjects, gatherNamespaces, gatherCustomResourceDefinition, gatherMutatingAdmissionWebhook, gatherValidatingAdmissionWebhook, and recursive InspectResource calls.

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~75 minutes

Pre-merge checks and finishing touches

❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 9.52% 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
Title Check ✅ Passed The title "OCPBUGS-59311: pkg/.../inspect: Add support for context.Context" concisely and accurately summarizes the primary change in the patch—threading context.Context through the inspect package—while including the tracking bug reference and package scope, so it is relevant and not misleading.
Description Check ✅ Passed The PR description states that context.Context is being passed through the inspection flow, that RunContext is the new entry point, and that there are no functional changes; this directly matches the changes summarized in the diff and is on-topic.
✨ Finishing touches
  • 📝 Generate Docstrings
🧪 Generate unit tests
  • 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
Member

@ardaguclu ardaguclu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/lgtm

@tchap tchap force-pushed the inspect-add-context branch from 222ee8e to e44e7ec Compare September 17, 2025 12:12
@openshift-ci openshift-ci bot added the lgtm Indicates that a PR is ready to be merged. label Sep 17, 2025
@ardaguclu
Copy link
Member

/lgtm

@ardaguclu
Copy link
Member

/lgtm cancel

@openshift-ci openshift-ci bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Sep 17, 2025
@ardaguclu
Copy link
Member

/lgtm

@openshift-ci openshift-ci bot added lgtm Indicates that a PR is ready to be merged. and removed lgtm Indicates that a PR is ready to be merged. labels Sep 17, 2025
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: 3

Caution

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

⚠️ Outside diff range comments (7)
pkg/cli/admin/inspect/inspect.go (2)

310-323: Use filepath.Join; current Join drops destDir due to leading “/”

path.Join(destDir, "/"+filename) produces an absolute path (e.g., "/foo.yaml"), ignoring destDir. Use filepath.Join without a leading slash.

- if err := o.fileWriter.WriteFromResource(ctx, path.Join(destDir, "/"+filename), objToPrint); err != nil {
+ if err := o.fileWriter.WriteFromResource(ctx, filepath.Join(destDir, filename), objToPrint); err != nil {

Also add:

import "path/filepath"

351-364: Same path bug here; fix Join to keep destDir

This has the same absolute-path issue.

- if err := o.fileWriter.WriteFromResource(ctx, path.Join(destDir, "/"+filename), objToPrint); err != nil {
+ if err := o.fileWriter.WriteFromResource(ctx, filepath.Join(destDir, filename), objToPrint); err != nil {
pkg/cli/admin/inspect/pod.go (5)

35-45: Fix container subdir path and remove double-join

  • path.Join(destDir, "/"+container.Name) discards destDir.
  • gatherContainerInfo again appends container.Name, duplicating the segment.

Pass a proper container dir once and stop re‑joining inside gatherContainerInfo.

- if err := o.gatherContainerInfo(ctx, path.Join(destDir, "/"+container.Name), pod, container); err != nil {
+ if err := o.gatherContainerInfo(ctx, filepath.Join(destDir, container.Name), pod, container); err != nil {
- if err := o.gatherContainerInfo(ctx, path.Join(destDir, "/"+container.Name), pod, container); err != nil {
+ if err := o.gatherContainerInfo(ctx, filepath.Join(destDir, container.Name), pod, container); err != nil {

Inside gatherContainerInfo:

- if err := o.gatherContainerAllLogs(ctx, path.Join(destDir, "/"+container.Name), pod, &container); err != nil {
+ if err := o.gatherContainerAllLogs(ctx, destDir, pod, &container); err != nil {

Also applies to: 53-59


121-129: Leak: close response body from Stream(ctx)

res must be closed to avoid FD/memory leaks.

- res, err := req.Stream(ctx)
+ res, err := req.Stream(ctx)
  if err != nil {
    return err
  }
+ defer res.Close()

225-236: Fix output file paths for current logs

Same absolute-path issue; use filepath.Join.

- if err := o.fileWriter.WriteFromSource(ctx, path.Join(destDir, "/"+filename), logsReq); err != nil {
+ if err := o.fileWriter.WriteFromSource(ctx, filepath.Join(destDir, filename), logsReq); err != nil {
- if err := o.fileWriter.WriteFromSource(ctx, path.Join(destDir, "/"+filename), logsReq); err != nil {
+ if err := o.fileWriter.WriteFromSource(ctx, filepath.Join(destDir, filename), logsReq); err != nil {

Also applies to: 232-235


3-18: Add filepath import for filesystem paths

Since we’re switching to filepath.Join for files, add this import (keep path for URL joins).

import (
    "context"
    "fmt"
    "os"
-   "path"
+   "path"
+   "path/filepath"
    "regexp"
    "strings"
    "sync"
    "time"
    // ...
)

1-1: Fix path.Join misuse — leading '/' discards the base; remove leading '/' and prefer filepath.Join for filesystem paths

Several calls use path.Join(..., "/...") which yields the absolute segment (dropping the base dir) — this will write/read the wrong paths. Replace with filepath.Join(base, "rel") or at minimum remove the leading '/' from the joined segments.

Affected locations:

  • pkg/cli/admin/mustgather/mustgather.go:822 — path.Join(destDir, "/gather.logs")
  • pkg/cli/admin/inspect/resource.go:47 — path.Join(o.DestDir, "/cluster-scoped-resources/config.openshift.io")
  • pkg/cli/admin/inspect/resource.go:52 — path.Join(o.DestDir, "/cluster-scoped-resources/operator.openshift.io")
  • pkg/cli/admin/inspect/resource.go:274 — path.Join(baseDir, "/"+clusterScopedResourcesDirname, "/"+obj.GroupVersionKind().Group, "/clusteroperators")
  • pkg/cli/admin/inspect/resource.go:280 — path.Join(destDir, "/"+filename)
  • pkg/cli/admin/inspect/inspect.go:318 — path.Join(destDir, "/"+filename)
  • pkg/cli/admin/inspect/inspect.go:359 — path.Join(destDir, "/"+filename)
  • pkg/cli/admin/inspect/pod.go:27 — path.Join(destDir, "/"+filename)
  • pkg/cli/admin/inspect/pod.go:35 — path.Join(destDir, "/"+container.Name)
  • pkg/cli/admin/inspect/pod.go:41 — path.Join(destDir, "/"+container.Name)
  • pkg/cli/admin/inspect/pod.go:54 — path.Join(destDir, "/"+container.Name)
  • pkg/cli/admin/inspect/pod.go:68 — path.Join(destDir, "/logs")
  • pkg/cli/admin/inspect/pod.go:73 — path.Join(destDir, "/logs/rotated")
  • pkg/cli/admin/inspect/pod.go:225 — path.Join(destDir, "/"+filename)
  • pkg/cli/admin/inspect/pod.go:232 — path.Join(destDir, "/"+filename)
  • pkg/cli/admin/inspect/pod.go:260 — path.Join(destDir, "/"+filename)
  • pkg/cli/admin/inspect/pod.go:267 — path.Join(destDir, "/"+filename)
  • pkg/cli/admin/inspect/namespace.go:57 — path.Join(destDir, "/"+filename)
  • pkg/cli/admin/inspect/namespace.go:84 — path.Join(destDir, "/pods/"+pod.GetName())
🧹 Nitpick comments (2)
pkg/cli/admin/inspect/inspect.go (2)

200-203: Wire real cancellation instead of context.TODO()

Run() delegating to RunContext(context.TODO()) loses CTRL‑C/parent cancellation. Prefer passing Cobra’s command context.

Apply in NewCmdInspect (outside this hunk):

// in NewCmdInspect(...)
Run: func(c *cobra.Command, args []string) {
  kcmdutil.CheckErr(o.Complete(args))
  kcmdutil.CheckErr(o.Validate())
  // use command context so cancellations propagate
  kcmdutil.CheckErr(o.RunContext(c.Context()))
},

398-405: Optional: prefer filepath.Join for filesystem paths project‑wide

logTimestamp uses path.Join. For OS paths, filepath.Join is more appropriate. Consider a follow‑up sweep for consistency.

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

Cache: Disabled due to data retention organization setting

Knowledge base: Disabled due to Reviews -> Disable Knowledge Base setting

📥 Commits

Reviewing files that changed from the base of the PR and between 222ee8e and e44e7ec.

📒 Files selected for processing (10)
  • pkg/cli/admin/inspect/admission_webhooks.go (3 hunks)
  • pkg/cli/admin/inspect/apiextensions.go (3 hunks)
  • pkg/cli/admin/inspect/inspect.go (7 hunks)
  • pkg/cli/admin/inspect/namespace.go (5 hunks)
  • pkg/cli/admin/inspect/pod.go (8 hunks)
  • pkg/cli/admin/inspect/proxy.go (3 hunks)
  • pkg/cli/admin/inspect/resource.go (10 hunks)
  • pkg/cli/admin/inspect/route.go (3 hunks)
  • pkg/cli/admin/inspect/secret.go (3 hunks)
  • pkg/cli/admin/inspect/writer.go (2 hunks)
🚧 Files skipped from review as they are similar to previous changes (8)
  • pkg/cli/admin/inspect/route.go
  • pkg/cli/admin/inspect/proxy.go
  • pkg/cli/admin/inspect/apiextensions.go
  • pkg/cli/admin/inspect/admission_webhooks.go
  • pkg/cli/admin/inspect/writer.go
  • pkg/cli/admin/inspect/namespace.go
  • pkg/cli/admin/inspect/resource.go
  • pkg/cli/admin/inspect/secret.go
🔇 Additional comments (5)
pkg/cli/admin/inspect/inspect.go (3)

247-249: Good: discovery now honors ctx

Propagating ctx into inspectDiscovery enables cancel/timeout during discovery.


288-295: Good: visited set moved under resourceContext

This removes accidental coupling with ctx and keeps state localized.


266-269: Signature change verified — all callers updated

Definition: pkg/cli/admin/inspect/resource.go:31; callers updated at pkg/cli/admin/inspect/resource.go:84, pkg/cli/admin/inspect/resource.go:247, pkg/cli/admin/inspect/inspect.go:268.

pkg/cli/admin/inspect/pod.go (2)

185-187: LGTM: fileWriter.WriteFromSource with ctx

Correctly passes ctx to the stream write.


20-28: Context propagation changes look good overall

All I/O/network calls now accept ctx; control flow unchanged. With the path fixes and response Close added, this will honor cancellation cleanly.

Also applies to: 35-45, 53-59, 61-81, 102-196, 197-278

context.Context is now being passed around to support interrupting the
whole inspection process. RunContext method is the entry point.
@tchap tchap force-pushed the inspect-add-context branch from e44e7ec to 4e6421d Compare September 17, 2025 12:26
@openshift-ci openshift-ci bot removed the lgtm Indicates that a PR is ready to be merged. label Sep 17, 2025
@ardaguclu
Copy link
Member

/lgtm

@tchap
Copy link
Contributor Author

tchap commented Sep 17, 2025

/verified by @tchap

@openshift-ci-robot openshift-ci-robot added the verified Signifies that the PR passed pre-merge verification criteria label Sep 17, 2025
@openshift-ci-robot
Copy link

@tchap: This PR has been marked as verified by @tchap.

In response to this:

/verified by @tchap

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

@openshift-ci
Copy link
Contributor

openshift-ci bot commented Sep 17, 2025

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: ardaguclu, tchap

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

The pull request process is described here

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

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

Caution

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

⚠️ Outside diff range comments (3)
pkg/cli/admin/inspect/pod.go (1)

120-126: Close response body from Stream to avoid leak

res is an io.ReadCloser; html.Parse does not close it. Defer a Close after error check.

- res, err := req.Stream(ctx)
+ res, err := req.Stream(ctx)
  if err != nil {
    return err
  }
+ defer res.Close()
pkg/cli/admin/inspect/inspect.go (1)

359-363: Same path issue in operator resources

Mirror the fix here.

- if err := o.fileWriter.WriteFromResource(ctx, path.Join(destDir, "/"+filename), objToPrint); err != nil {
+ if err := o.fileWriter.WriteFromResource(ctx, filepath.Join(destDir, filename), objToPrint); err != nil {
pkg/cli/admin/inspect/resource.go (1)

274-281: Fix clusteroperator output paths (absolute path + filepath.Join)

Building destDir with “/” components makes it absolute; writing filename also uses a leading slash.

- destDir := path.Join(baseDir, "/"+clusterScopedResourcesDirname, "/"+obj.GroupVersionKind().Group, "/clusteroperators")
+ destDir := filepath.Join(baseDir, clusterScopedResourcesDirname, obj.GroupVersionKind().Group, "clusteroperators")
@@
- return fileWriter.WriteFromResource(ctx, path.Join(destDir, "/"+filename), obj)
+ return fileWriter.WriteFromResource(ctx, filepath.Join(destDir, filename), obj)
♻️ Duplicate comments (1)
pkg/cli/admin/inspect/pod.go (1)

27-29: Fix absolute/incorrect filesystem paths (leading “/” + use filepath.Join)

Using path.Join with components prefixed by “/” makes absolute paths and ignores destDir; also use path/filepath for filesystem paths. This currently risks writing under “/” and scattering outputs. Apply consistently.

Diffs (representative):

@@
- if err := o.fileWriter.WriteFromResource(ctx, path.Join(destDir, "/"+filename), pod); err != nil {
+ if err := o.fileWriter.WriteFromResource(ctx, filepath.Join(destDir, filename), pod); err != nil {
@@
- if err := o.gatherContainerInfo(ctx, path.Join(destDir, "/"+container.Name), pod, container); err != nil {
+ if err := o.gatherContainerInfo(ctx, filepath.Join(destDir, container.Name), pod, container); err != nil {
@@
- if err := o.gatherContainerLogs(ctx, path.Join(destDir, "/logs"), pod, container); err != nil {
+ if err := o.gatherContainerLogs(ctx, filepath.Join(destDir, "logs"), pod, container); err != nil {
@@
- if err := o.gatherContainerRotatedLogFiles(ctx, path.Join(destDir, "/logs/rotated"), pod, container); err != nil {
+ if err := o.gatherContainerRotatedLogFiles(ctx, filepath.Join(destDir, "logs", "rotated"), pod, container); err != nil {
@@
- if err := o.fileWriter.WriteFromSource(ctx, path.Join(destDir, fileName), logsReq); err != nil {
+ if err := o.fileWriter.WriteFromSource(ctx, filepath.Join(destDir, fileName), logsReq); err != nil {
@@
- if err := o.fileWriter.WriteFromSource(ctx, path.Join(destDir, "/"+filename), logsReq); err != nil {
+ if err := o.fileWriter.WriteFromSource(ctx, filepath.Join(destDir, filename), logsReq); err != nil {
@@
- if err := o.fileWriter.WriteFromSource(ctx, path.Join(destDir, "/"+filename), logsReq); err != nil {
+ if err := o.fileWriter.WriteFromSource(ctx, filepath.Join(destDir, filename), logsReq); err != nil {

Add import:

 import (
   "context"
   "fmt"
   "os"
-  "path"
+  "path"
+  "path/filepath"
   "regexp"
   "strings"
   "sync"
   "time"
 )

Note: keep package path for URL joins (e.g., path.Join(containerPath, fileName)) but use filepath.Join for disk paths.

Also applies to: 35-39, 41-45, 69-71, 73-76, 185-187, 225-235, 260-270

🧹 Nitpick comments (2)
pkg/cli/admin/inspect/inspect.go (1)

200-202: Run delegates to RunContext — good. Consider wiring signal cancellation.

Follow-up (optional): in NewCmdInspect’s Run, derive ctx via signal.NotifyContext and call RunContext(ctx) so Ctrl+C cancels in-flight IO.

Also applies to: 204-205

pkg/cli/admin/inspect/resource.go (1)

217-219: Use filepath.Join for filesystem write

Non-breaking cleanup for portability/consistency.

- if err := o.fileWriter.WriteFromResource(ctx, path.Join(dirPath, filename), info.Object); err != nil {
+ if err := o.fileWriter.WriteFromResource(ctx, filepath.Join(dirPath, filename), info.Object); err != nil {
📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

Cache: Disabled due to data retention organization setting

Knowledge base: Disabled due to Reviews -> Disable Knowledge Base setting

📥 Commits

Reviewing files that changed from the base of the PR and between e44e7ec and 4e6421d.

📒 Files selected for processing (10)
  • pkg/cli/admin/inspect/admission_webhooks.go (3 hunks)
  • pkg/cli/admin/inspect/apiextensions.go (3 hunks)
  • pkg/cli/admin/inspect/inspect.go (7 hunks)
  • pkg/cli/admin/inspect/namespace.go (5 hunks)
  • pkg/cli/admin/inspect/pod.go (8 hunks)
  • pkg/cli/admin/inspect/proxy.go (3 hunks)
  • pkg/cli/admin/inspect/resource.go (10 hunks)
  • pkg/cli/admin/inspect/route.go (3 hunks)
  • pkg/cli/admin/inspect/secret.go (3 hunks)
  • pkg/cli/admin/inspect/writer.go (2 hunks)
🚧 Files skipped from review as they are similar to previous changes (7)
  • pkg/cli/admin/inspect/apiextensions.go
  • pkg/cli/admin/inspect/admission_webhooks.go
  • pkg/cli/admin/inspect/secret.go
  • pkg/cli/admin/inspect/writer.go
  • pkg/cli/admin/inspect/proxy.go
  • pkg/cli/admin/inspect/route.go
  • pkg/cli/admin/inspect/namespace.go
🔇 Additional comments (1)
pkg/cli/admin/inspect/pod.go (1)

20-20: Context propagation LGTM

Signatures now accept ctx and propagate it through IO/requests. No concerns.

Also applies to: 53-53, 61-61, 102-102, 197-197

@openshift-ci openshift-ci bot added the lgtm Indicates that a PR is ready to be merged. label Sep 17, 2025
@openshift-ci-robot
Copy link

/retest-required

Remaining retests: 0 against base HEAD ec3434b and 2 for PR HEAD 4e6421d in total

@openshift-ci
Copy link
Contributor

openshift-ci bot commented Sep 18, 2025

@tchap: all tests passed!

Full PR test history. Your PR dashboard.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here.

@openshift-merge-bot openshift-merge-bot bot merged commit 0e4fabc into openshift:main Sep 18, 2025
18 checks passed
@openshift-ci-robot
Copy link

@tchap: Jira Issue OCPBUGS-59311: Some pull requests linked via external trackers have merged:

The following pull request, linked via external tracker, has not merged:

All associated pull requests must be merged or unlinked from the Jira bug in order for it to move to the next state. Once unlinked, request a bug refresh with /jira refresh.

Jira Issue OCPBUGS-59311 has not been moved to the MODIFIED state.

This PR is marked as verified. If the remaining PRs listed above are marked as verified before merging, the issue will automatically be moved to VERIFIED after all of the changes from the PRs are available in an accepted nightly payload.

In response to this:

context.Context is now being passed around to support interrupting the whole inspection process.
RunContext method is the entry point.

There is no functional change.

Split from #2062

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

@tchap tchap deleted the inspect-add-context branch September 18, 2025 05:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. jira/valid-bug Indicates that a referenced Jira bug is valid for the branch this PR is targeting. jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. lgtm Indicates that a PR is ready to be merged. verified Signifies that the PR passed pre-merge verification criteria

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants