Skip to content

OCPNODE-4125: Introduce to v1 CRIOCredentialProviderConfig#2725

Open
QiWang19 wants to merge 1 commit intoopenshift:masterfrom
QiWang19:upgrade-v1-criocp
Open

OCPNODE-4125: Introduce to v1 CRIOCredentialProviderConfig#2725
QiWang19 wants to merge 1 commit intoopenshift:masterfrom
QiWang19:upgrade-v1-criocp

Conversation

@QiWang19
Copy link
Copy Markdown
Member

@QiWang19 QiWang19 commented Feb 25, 2026

Introduce v1 type CRIOCredentialProviderConfig, without shipping it in the payload(The change to update-payload-crds.sh). Next, need to migrate consumers, then swap the manifests from v1alpha1 to v1 for feature GA.

@openshift-ci-robot
Copy link
Copy Markdown

Pipeline controller notification
This repo is configured to use the pipeline controller. Second-stage tests will be triggered either automatically or after lgtm label is added, depending on the repository configuration. The pipeline controller will automatically detect which contexts are required and will utilize /test Prow commands to trigger the second stage.

For optional jobs, comment /test ? to see a list of all defined jobs. To trigger manually all jobs from second stage use /pipeline required command.

This repository is configured in: LGTM mode

@openshift-ci
Copy link
Copy Markdown
Contributor

openshift-ci Bot commented Feb 25, 2026

Skipping CI for Draft Pull Request.
If you want CI signal for your change, please convert it to an actual PR.
You can still manually trigger a test run with /test all

@openshift-ci openshift-ci Bot added the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Feb 25, 2026
@openshift-ci
Copy link
Copy Markdown
Contributor

openshift-ci Bot commented Feb 25, 2026

Hello @QiWang19! Some important instructions when contributing to openshift/api:
API design plays an important part in the user experience of OpenShift and as such API PRs are subject to a high level of scrutiny to ensure they follow our best practices. If you haven't already done so, please review the OpenShift API Conventions and ensure that your proposed changes are compliant. Following these conventions will help expedite the api review process for your PR.

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Feb 25, 2026

📝 Walkthrough

Walkthrough

This pull request introduces a new CRIOCredentialProviderConfig API type to the OpenShift configuration v1 group. The changes include defining the API type with associated spec and status structures, registering it in the scheme, adding test specifications, generating required deepcopy and Swagger documentation, and updating the CRD manifest registry. The script for updating payload CRDs is also refined to explicitly enumerate configuration operator CRD selections instead of using broad wildcards.

🚥 Pre-merge checks | ✅ 12
✅ Passed checks (12 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Stable And Deterministic Test Names ✅ Passed All Ginkgo test names in the CRIOCredentialProviderConfig test specification are static and deterministic, using clear descriptive strings that remain consistent across test runs.
Test Structure And Quality ✅ Passed PR contains declarative YAML-based CRD validation tests, not Ginkgo test code; consistent with repository patterns.
Microshift Test Compatibility ✅ Passed This PR does not add any Ginkgo e2e tests. The test file added is a declarative CRD schema validation test in YAML format, not a Ginkgo e2e test.
Single Node Openshift (Sno) Test Compatibility ✅ Passed PR adds API type definitions and auto-generated manifests, not Ginkgo e2e tests.
Topology-Aware Scheduling Compatibility ✅ Passed PR introduces Kubernetes API type definition and auto-generated code without topology-aware scheduling constructs.
Ote Binary Stdout Contract ✅ Passed PR introduces CRIOCredentialProviderConfig API v1 upgrade with type definitions, autogenerated code, and manifests. No OTE test binaries, main functions, or stdout-writing code detected.
Ipv6 And Disconnected Network Test Compatibility ✅ Passed This PR does not add any Ginkgo e2e tests, only API type definitions and CRD manifests, making the IPv6/disconnected network compatibility check not applicable.
Description check ✅ Passed The pull request description clearly relates to the changeset, describing the introduction of v1 type CRIOCredentialProviderConfig and referencing the v1alpha1 API as a basis for the implementation.
Title check ✅ Passed The title clearly describes the main change: introducing the v1 CRIOCredentialProviderConfig API type. It is concise, specific, and directly reflects the primary objective of the pull request.

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

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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

@openshift-ci openshift-ci Bot added the size/XL Denotes a PR that changes 500-999 lines, ignoring generated files. label Feb 25, 2026
@openshift-ci
Copy link
Copy Markdown
Contributor

openshift-ci Bot commented Feb 25, 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 everettraven 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

@QiWang19
Copy link
Copy Markdown
Member Author

/test all

@qodo-code-review
Copy link
Copy Markdown

ⓘ Your monthly quota for Qodo has expired. Upgrade your plan
ⓘ Paying users. Check that your Qodo account is linked with this Git user account

@QiWang19
Copy link
Copy Markdown
Member Author

/test verify

@qodo-code-review
Copy link
Copy Markdown

ⓘ Your monthly quota for Qodo has expired. Upgrade your plan
ⓘ Paying users. Check that your Qodo account is linked with this Git user account

@QiWang19
Copy link
Copy Markdown
Member Author

/test all

@qodo-code-review
Copy link
Copy Markdown

ⓘ Your monthly quota for Qodo has expired. Upgrade your plan
ⓘ Paying users. Check that your Qodo account is linked with this Git user account

@QiWang19 QiWang19 marked this pull request as ready for review February 25, 2026 13:47
@QiWang19
Copy link
Copy Markdown
Member Author

/verified by cluster-bot

@openshift-ci openshift-ci Bot removed the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Feb 25, 2026
@openshift-ci-robot openshift-ci-robot added the verified Signifies that the PR passed pre-merge verification criteria label Feb 25, 2026
@openshift-ci-robot
Copy link
Copy Markdown

@QiWang19: This PR has been marked as verified by cluster-bot.

Details

In response to this:

/verified by cluster-bot

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.

Copy link
Copy Markdown

@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

🧹 Nitpick comments (1)
config/v1/types_crio_credential_provider_config.go (1)

125-127: Keep documented condition types in sync with declared constants.

Line 125 documents only "Validated" as an expected condition type, but Lines 171–176 also define "MachineConfigRendered". Please document both to avoid API contract drift.

Also applies to: 171-176

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@config/v1/types_crio_credential_provider_config.go` around lines 125 - 127,
The documented list of expected condition types is out of sync with the declared
constants: update the comment block that currently lists only "Validated" to
include both "Validated" and "MachineConfigRendered" so it matches the constants
defined later (the "Validated" and "MachineConfigRendered" condition type
constants in types_crio_credential_provider_config.go); ensure both names are
spelled exactly as the constants and marked +optional if appropriate.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@config/v1/types_crio_credential_provider_config.go`:
- Line 22: Remove the feature-gate annotation that gates the v1 API by deleting
the line containing "+openshift:enable:FeatureGate=CRIOCredentialProviderConfig"
in types_crio_credential_provider_config.go so the v1 CRD is unconditionally
exposed; after removing that annotation, regenerate any CRD manifests or API
docs (e.g., run the project’s codegen/make target) to ensure the CRD and
generated artifacts no longer include the FeatureGate metadata.

---

Nitpick comments:
In `@config/v1/types_crio_credential_provider_config.go`:
- Around line 125-127: The documented list of expected condition types is out of
sync with the declared constants: update the comment block that currently lists
only "Validated" to include both "Validated" and "MachineConfigRendered" so it
matches the constants defined later (the "Validated" and "MachineConfigRendered"
condition type constants in types_crio_credential_provider_config.go); ensure
both names are spelled exactly as the constants and marked +optional if
appropriate.

ℹ️ Review info

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Cache: Disabled due to data retention organization setting

Knowledge base: Disabled due to data retention organization setting

📥 Commits

Reviewing files that changed from the base of the PR and between 1105fd4 and 4b7758f.

⛔ Files ignored due to path filters (3)
  • config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_criocredentialproviderconfigs.crd.yaml is excluded by !**/zz_generated.crd-manifests/*
  • config/v1/zz_generated.featuregated-crd-manifests/criocredentialproviderconfigs.config.openshift.io/CRIOCredentialProviderConfig.yaml is excluded by !**/zz_generated.featuregated-crd-manifests/**
  • openapi/generated_openapi/zz_generated.openapi.go is excluded by !openapi/**
📒 Files selected for processing (9)
  • config/v1/register.go
  • config/v1/tests/criocredentialproviderconfigs.config.openshift.io/CRIOCredentialProviderConfig.yaml
  • config/v1/types_crio_credential_provider_config.go
  • config/v1/zz_generated.deepcopy.go
  • config/v1/zz_generated.featuregated-crd-manifests.yaml
  • config/v1/zz_generated.swagger_doc_generated.go
  • hack/update-payload-crds.sh
  • payload-command/empty-resources/0000_05_config-operator_02_criocredentialproviderconfig.cr.yaml
  • payload-manifests/crds/0000_10_config-operator_01_criocredentialproviderconfigs.crd.yaml
💤 Files with no reviewable changes (1)
  • hack/update-payload-crds.sh

// +kubebuilder:subresource:status
// +openshift:api-approved.openshift.io=https://github.com/openshift/api/pull/2725
// +openshift:file-pattern=cvoRunLevel=0000_10,operatorName=config-operator,operatorOrdering=01
// +openshift:enable:FeatureGate=CRIOCredentialProviderConfig
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major

Remove the feature-gate annotation if this API is GA.

Line 22 still gates the v1 resource behind CRIOCredentialProviderConfig. That conflicts with the GA objective and can keep CRD exposure conditional instead of unconditional.

Proposed fix
-// +openshift:enable:FeatureGate=CRIOCredentialProviderConfig
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
// +openshift:enable:FeatureGate=CRIOCredentialProviderConfig
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@config/v1/types_crio_credential_provider_config.go` at line 22, Remove the
feature-gate annotation that gates the v1 API by deleting the line containing
"+openshift:enable:FeatureGate=CRIOCredentialProviderConfig" in
types_crio_credential_provider_config.go so the v1 CRD is unconditionally
exposed; after removing that annotation, regenerate any CRD manifests or API
docs (e.g., run the project’s codegen/make target) to ensure the CRD and
generated artifacts no longer include the FeatureGate metadata.

@QiWang19 QiWang19 changed the title Upgrade to v1 CRIOCredentialProviderConfig OCPNODE-4125: Upgrade to v1 CRIOCredentialProviderConfig Feb 25, 2026
@openshift-ci-robot openshift-ci-robot added the jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. label Feb 25, 2026
@openshift-ci-robot
Copy link
Copy Markdown

openshift-ci-robot commented Feb 25, 2026

@QiWang19: This pull request references OCPNODE-4125 which is a valid jira issue.

Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the story to target the "4.22.0" version, but no target version was set.

Details

In response to this:

Upgrade v1 type CRIOCredentialProviderConfig, manifests, and corresponding empty resource for API GA in 4.22.

API type definition keeps the same as v1alpha1 CRIOCredentialProviderConfig

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.

@QiWang19
Copy link
Copy Markdown
Member Author

@JoelSpeed could you help review this PR? Since in the feature https://issues.redhat.com/browse/OCPSTRAT-2853 we targeted GA of this API in 4.22, we haven't done other implementation outside of o/api, so moving to v1 now won't break any external dependencies.

@JoelSpeed
Copy link
Copy Markdown
Contributor

we haven't done other implementation outside of o/api

@QiWang19 Before we promote a type to v1, we expect it to be feature complete and be in a state to demonstrate the feature is ready for promotion. Based on your comment, it sounds like we aren't there?

Before merging a PR like this, I'd expect to see a feature promotion PR with good data showing we are on track to have the required tests and pass rate soon

@QiWang19
Copy link
Copy Markdown
Member Author

@JoelSpeed The feature is still in progress, not ready for promotion, which is why it's currently under a TechPreview featuregate.

This PR is to update v1 API early to avoid breaking changes later, but lock the feature under TechPreviewNoUpgrade featuregate. I intended to provide the test pass rate and promotion data when we actually promote the FeatureGate to GA.

I was under the impression that the test pass rate are requirements applied to the featuregate promotion rather than the initial addition of the v1 API type itself.

@JoelSpeed
Copy link
Copy Markdown
Contributor

We don't want to ship v1 types under tech preview in case we need to change the types later as we learn something during implementation.

The normal path here is that you get the feature implemented in tech preview as v1alpha1, demonstrate it's working, and then we submit a handful of PRs to move the types to v1 once we are confident in the release it will ship GA in

@QiWang19
Copy link
Copy Markdown
Member Author

QiWang19 commented Feb 26, 2026

@openshift-ci openshift-ci Bot added the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Feb 26, 2026
@openshift-merge-robot openshift-merge-robot added the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Mar 5, 2026
@openshift-merge-robot
Copy link
Copy Markdown
Contributor

PR needs rebase.

Details

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.

@openshift-ci-robot
Copy link
Copy Markdown

openshift-ci-robot commented Mar 25, 2026

@QiWang19: This pull request references OCPNODE-4125 which is a valid jira issue.

Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the story to target the "4.22.0" version, but no target version was set.

Details

In response to this:

Upgrade v1 type CRIOCredentialProviderConfig, manifests, and corresponding empty resource for API GA in 4.22.

API type definition keeps the same as v1alpha1 CRIOCredentialProviderConfig

criocredentialprovider implemented by openshift/machine-config-operator#5487

e2e tests openshift/origin#30821

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.

Signed-off-by: Qi Wang <qiwan@redhat.com>
@QiWang19 QiWang19 force-pushed the upgrade-v1-criocp branch from 4b7758f to 418ebef Compare April 27, 2026 17:27
@openshift-ci-robot openshift-ci-robot removed the verified Signifies that the PR passed pre-merge verification criteria label Apr 27, 2026
@openshift-ci openshift-ci Bot removed the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Apr 27, 2026
@QiWang19
Copy link
Copy Markdown
Member Author

/test verify-feature-promotion

Copy link
Copy Markdown

@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

🧹 Nitpick comments (1)
config/v1/tests/criocredentialproviderconfigs.config.openshift.io/CRIOCredentialProviderConfig.yaml (1)

46-105: Good validation coverage; consider adding boundary tests.

The rejection tests comprehensively cover the MatchImage validation rules. Consider adding tests for boundary conditions:

  • Maximum items limit (50 entries)
  • Maximum length limit (512 characters per entry)
  • Minimum items enforcement when list is present but empty

These would help ensure the kubebuilder:validation constraints are enforced as expected.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In
`@config/v1/tests/criocredentialproviderconfigs.config.openshift.io/CRIOCredentialProviderConfig.yaml`
around lines 46 - 105, Add boundary tests for
CRIOCredentialProviderConfig.spec.matchImages: create cases that verify the
maximum items limit (build a test with exactly 50 valid entries that should pass
and one with 51 entries that should produce an error referencing
spec.matchImages), verify maximum length per entry (one entry of length 512
characters should pass and an otherwise-identical entry of length 513 should
fail with an error referencing spec.matchImages[0]), and verify the empty-list
case (spec.present but matchImages: [] should produce a validation error).
Reference the CRIOCredentialProviderConfig kind and the spec.matchImages field
in expectedError messages so they match existing test style.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@config/v1/types_crio_credential_provider_config.go`:
- Around line 33-36: The Spec field on CRIOCredentialProviderConfig (Spec
*CRIOCredentialProviderConfigSpec) is annotated as +required but uses
`json:"spec,omitempty,omitzero"` and tests accept an empty spec; either enforce
non-nil at the API level or make the metadata accurate—either add a CEL
validation rule to require spec != null (or require its required fields) on the
CRIOCredentialProviderConfig type, or change the comment and remove the
+required annotation to reflect that Spec is optional and keep the
`omitempty,omitzero` tag to match test behavior.

---

Nitpick comments:
In
`@config/v1/tests/criocredentialproviderconfigs.config.openshift.io/CRIOCredentialProviderConfig.yaml`:
- Around line 46-105: Add boundary tests for
CRIOCredentialProviderConfig.spec.matchImages: create cases that verify the
maximum items limit (build a test with exactly 50 valid entries that should pass
and one with 51 entries that should produce an error referencing
spec.matchImages), verify maximum length per entry (one entry of length 512
characters should pass and an otherwise-identical entry of length 513 should
fail with an error referencing spec.matchImages[0]), and verify the empty-list
case (spec.present but matchImages: [] should produce a validation error).
Reference the CRIOCredentialProviderConfig kind and the spec.matchImages field
in expectedError messages so they match existing test style.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository YAML (base), Central YAML (inherited)

Review profile: CHILL

Plan: Enterprise

Run ID: f018a105-2147-4284-84d2-67bb83b81260

📥 Commits

Reviewing files that changed from the base of the PR and between 4b7758f and 418ebef.

⛔ Files ignored due to path filters (6)
  • config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_criocredentialproviderconfigs.crd.yaml is excluded by !**/zz_generated.crd-manifests/*
  • config/v1/zz_generated.deepcopy.go is excluded by !**/zz_generated*
  • config/v1/zz_generated.featuregated-crd-manifests.yaml is excluded by !**/zz_generated*
  • config/v1/zz_generated.featuregated-crd-manifests/criocredentialproviderconfigs.config.openshift.io/CRIOCredentialProviderConfig.yaml is excluded by !**/zz_generated.featuregated-crd-manifests/**
  • config/v1/zz_generated.swagger_doc_generated.go is excluded by !**/zz_generated*
  • openapi/generated_openapi/zz_generated.openapi.go is excluded by !openapi/**, !**/zz_generated*
📒 Files selected for processing (4)
  • config/v1/register.go
  • config/v1/tests/criocredentialproviderconfigs.config.openshift.io/CRIOCredentialProviderConfig.yaml
  • config/v1/types_crio_credential_provider_config.go
  • hack/update-payload-crds.sh
🚧 Files skipped from review as they are similar to previous changes (1)
  • hack/update-payload-crds.sh

Comment on lines +33 to +36
// spec defines the desired configuration of the CRI-O Credential Provider.
// This field is required and must be provided when creating the resource.
// +required
Spec *CRIOCredentialProviderConfigSpec `json:"spec,omitempty,omitzero"`
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

Inconsistency between +required annotation and omitempty usage.

The comment states "This field is required and must be provided" and uses +required, but the field is a pointer with omitempty,omitzero tags. This combination allows the field to be omitted in JSON serialization. Additionally, the test file shows a minimal CR with spec: {} being valid.

If Spec is truly required, consider either:

  1. Adding CEL validation to enforce non-nil spec, or
  2. Updating the comment to reflect that spec is optional (matching the test behavior)
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@config/v1/types_crio_credential_provider_config.go` around lines 33 - 36, The
Spec field on CRIOCredentialProviderConfig (Spec
*CRIOCredentialProviderConfigSpec) is annotated as +required but uses
`json:"spec,omitempty,omitzero"` and tests accept an empty spec; either enforce
non-nil at the API level or make the metadata accurate—either add a CEL
validation rule to require spec != null (or require its required fields) on the
CRIOCredentialProviderConfig type, or change the comment and remove the
+required annotation to reflect that Spec is optional and keep the
`omitempty,omitzero` tag to match test behavior.

@openshift-ci
Copy link
Copy Markdown
Contributor

openshift-ci Bot commented Apr 27, 2026

@QiWang19: all tests passed!

Full PR test history. Your PR dashboard.

Details

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-ci-robot
Copy link
Copy Markdown

openshift-ci-robot commented Apr 27, 2026

@QiWang19: This pull request references OCPNODE-4125 which is a valid jira issue.

Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the story to target the "5.0.0" version, but no target version was set.

Details

In response to this:

Introduce v1 type CRIOCredentialProviderConfig, without shipping it in the payload(The change to update-payload-crds.sh). Next, need to migrate consumers, then swap the manifests from v1alpha1 to v1 for feature GA.

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.

@QiWang19 QiWang19 changed the title OCPNODE-4125: Upgrade to v1 CRIOCredentialProviderConfig OCPNODE-4125: Introduce to v1 CRIOCredentialProviderConfig Apr 27, 2026
@QiWang19
Copy link
Copy Markdown
Member Author

@JoelSpeed could you review? This introduces only the v1 type of the API for feature GA. Next, we will prepare simul-merge PRs to migrate consumers when we ship the v1 manifest.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. size/XL Denotes a PR that changes 500-999 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants