Skip to content

OCPBUGS-113600: [release-4.22] OCPBUGS-112479: Handle Sippy date-only format in featuregate-test-analyzer - #3008

Open
redhat-chai-bot wants to merge 1 commit into
openshift:release-4.22from
redhat-chai-bot:fix-sippy-date-format-4.22
Open

OCPBUGS-113600: [release-4.22] OCPBUGS-112479: Handle Sippy date-only format in featuregate-test-analyzer#3008
redhat-chai-bot wants to merge 1 commit into
openshift:release-4.22from
redhat-chai-bot:fix-sippy-date-format-4.22

Conversation

@redhat-chai-bot

@redhat-chai-bot redhat-chai-bot commented Aug 24, 2026

Copy link
Copy Markdown
Contributor

Summary

Manual backport of #2998 to release-4.22. The automated cherry-pick failed due to merge conflicts — the 4.22 branch uses a different getLatestRelease() struct shape (Releases []string + Dates map) compared to master's ReleaseAttrs map.

Fixes the verify-feature-promotion CI job broken by sippy#3716 ("TRT-2364: Fix timestamp and date type inconsistencies"), which changed Sippy's /api/releases response to serialize development_start and ga as bare dates ("2018-07-11") instead of RFC 3339 timestamps.

Changes

Adds a flexibleDateTime wrapper type with a custom UnmarshalJSON that:

  1. Tries RFC 3339 first (backward compatible)
  2. Falls back to "2006-01-02" date-only format (new Sippy format)
  3. Handles null and empty values gracefully

Updates both GA and DevelopmentStart fields in the getLatestRelease() inline struct from *time.Time to *flexibleDateTime, and adjusts the comparison code to access .Time.

Note: BuildSippyJobRunsForJobURL does not exist on this branch, so the second commit from #2998 (timestamp filter fix) is not applicable here.

Tracking


AI-generated. Review for accuracy.

@neisw requested via Chai Bot

The Sippy /api/releases endpoint switched the development_start and ga
date fields from RFC 3339 timestamps (e.g. "2018-07-11T00:00:00Z") to
bare date-only strings (e.g. "2018-07-11"). The existing *time.Time
fields cannot unmarshal the new format, so getLatestRelease() fails to
parse the response.

Add a flexibleDateTime type that wraps time.Time with a custom
UnmarshalJSON. It tries the RFC 3339 layout first and falls back to the
date-only layout ("2006-01-02"), handling null and empty values
gracefully. Both the GA and DevelopmentStart fields now use this type so
the tool remains compatible with old and new Sippy responses.

This is a manual backport of the fix from master (openshift#2998)
to release-4.22; the cherry-pick did not apply cleanly because the
getLatestRelease response structure differs on this branch.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@openshift-merge-bot

Copy link
Copy Markdown
Contributor

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-robot openshift-ci-robot added jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. jira/invalid-bug Indicates that a referenced Jira bug is invalid for the branch this PR is targeting. labels Aug 24, 2026
@openshift-ci-robot

openshift-ci-robot commented Aug 24, 2026

Copy link
Copy Markdown

@redhat-chai-bot: This pull request references Jira Issue OCPBUGS-112479, which is invalid:

  • expected the bug to target either version "4.22.0." or "openshift-4.22.0.", but it targets "5.1.0" instead
  • expected the bug to be in one of the following states: NEW, ASSIGNED, POST, but it is MODIFIED instead
  • release note text must be set and not match the template OR release note type must be set to "Release Note Not Required". For more information you can reference the OpenShift Bug Process.
  • expected Jira Issue OCPBUGS-112479 to depend on a bug targeting a version in 5.0.0 and in one of the following states: MODIFIED, ON_QA, VERIFIED, but no dependents were found

Comment /jira refresh to re-evaluate validity if changes to the Jira bug are made, or edit the title of this pull request to link to a different bug.

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

Details

In response to this:

Summary

Manual backport of #2998 to release-4.22. The automated cherry-pick failed due to merge conflicts — the 4.22 branch uses a different getLatestRelease() struct shape (Releases []string + Dates map) compared to master's ReleaseAttrs map.

Fixes the verify-feature-promotion CI job broken by sippy#3716 ("TRT-2364: Fix timestamp and date type inconsistencies"), which changed Sippy's /api/releases response to serialize development_start and ga as bare dates ("2018-07-11") instead of RFC 3339 timestamps.

Changes

Adds a flexibleDateTime wrapper type with a custom UnmarshalJSON that:

  1. Tries RFC 3339 first (backward compatible)
  2. Falls back to "2006-01-02" date-only format (new Sippy format)
  3. Handles null and empty values gracefully

Updates both GA and DevelopmentStart fields in the getLatestRelease() inline struct from *time.Time to *flexibleDateTime, and adjusts the comparison code to access .Time.

Note: BuildSippyJobRunsForJobURL does not exist on this branch, so the second commit from #2998 (timestamp filter fix) is not applicable here.

Tracking


AI-generated. Review for accuracy.

@neisw requested via Chai 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.

@coderabbitai

coderabbitai Bot commented Aug 24, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

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

Review profile: CHILL

Plan: Pro Plus

Run ID: 277d3930-41e2-4a84-bbbf-43e464585000

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

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.

@openshift-ci

openshift-ci Bot commented Aug 24, 2026

Copy link
Copy Markdown
Contributor

Hello @redhat-chai-bot! 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.

@openshift-ci openshift-ci Bot added the size/M Denotes a PR that changes 30-99 lines, ignoring generated files. label Aug 24, 2026
@neisw

neisw commented Aug 24, 2026

Copy link
Copy Markdown
Contributor

/retitle OCPBUGS-113600: [release-4.22] OCPBUGS-112479: Handle Sippy date-only format in featuregate-test-analyzer

@openshift-ci openshift-ci Bot changed the title [release-4.22] OCPBUGS-112479: Handle Sippy date-only format in featuregate-test-analyzer OCPBUGS-113600: [release-4.22] OCPBUGS-112479: Handle Sippy date-only format in featuregate-test-analyzer Aug 24, 2026
@openshift-ci-robot openshift-ci-robot added jira/valid-bug Indicates that a referenced Jira bug is valid for the branch this PR is targeting. and removed jira/invalid-bug Indicates that a referenced Jira bug is invalid for the branch this PR is targeting. labels Aug 24, 2026
@openshift-ci-robot

Copy link
Copy Markdown

@redhat-chai-bot: This pull request references Jira Issue OCPBUGS-113600, which is valid. The bug has been moved to the POST state.

7 validation(s) were run on this bug
  • bug is open, matching expected state (open)
  • bug target version (4.22.0) matches configured target version for branch (4.22.0)
  • bug is in the state New, which is one of the valid states (NEW, ASSIGNED, POST)
  • release note type set to "Release Note Not Required"
  • dependent bug Jira Issue OCPBUGS-112657 is in the state MODIFIED, which is one of the valid states (MODIFIED, ON_QA, VERIFIED)
  • dependent Jira Issue OCPBUGS-112657 targets the "5.0.0" version, which is one of the valid target versions: 5.0.0
  • bug has dependents

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

Details

In response to this:

Summary

Manual backport of #2998 to release-4.22. The automated cherry-pick failed due to merge conflicts — the 4.22 branch uses a different getLatestRelease() struct shape (Releases []string + Dates map) compared to master's ReleaseAttrs map.

Fixes the verify-feature-promotion CI job broken by sippy#3716 ("TRT-2364: Fix timestamp and date type inconsistencies"), which changed Sippy's /api/releases response to serialize development_start and ga as bare dates ("2018-07-11") instead of RFC 3339 timestamps.

Changes

Adds a flexibleDateTime wrapper type with a custom UnmarshalJSON that:

  1. Tries RFC 3339 first (backward compatible)
  2. Falls back to "2006-01-02" date-only format (new Sippy format)
  3. Handles null and empty values gracefully

Updates both GA and DevelopmentStart fields in the getLatestRelease() inline struct from *time.Time to *flexibleDateTime, and adjusts the comparison code to access .Time.

Note: BuildSippyJobRunsForJobURL does not exist on this branch, so the second commit from #2998 (timestamp filter fix) is not applicable here.

Tracking


AI-generated. Review for accuracy.

@neisw requested via Chai 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.

@everettraven everettraven left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

/lgtm

@openshift-ci openshift-ci Bot added the lgtm Indicates that a PR is ready to be merged. label Aug 24, 2026
@openshift-merge-bot

Copy link
Copy Markdown
Contributor

Pipeline controller notification

No second-stage tests were triggered for this PR.

This can happen when:

  • The changed files don't match any pipeline_run_if_changed patterns
  • All files match pipeline_skip_if_only_changed patterns
  • No pipeline-controlled jobs are defined for the release-4.22 branch

Use /test ? to see all available tests.

@openshift-ci

openshift-ci Bot commented Aug 24, 2026

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: everettraven

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

The pull request process is described 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

@openshift-ci openshift-ci Bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Aug 24, 2026
@neisw

neisw commented Aug 24, 2026

Copy link
Copy Markdown
Contributor

/label backport-risk-assessed
/verfied by ci

@openshift-ci openshift-ci Bot added the backport-risk-assessed Indicates a PR to a release branch has been evaluated and considered safe to accept. label Aug 24, 2026
@openshift-ci

openshift-ci Bot commented Aug 24, 2026

Copy link
Copy Markdown
Contributor

@redhat-chai-bot: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name Commit Details Required Rerun command
ci/prow/verify-hypershift-integration 8a92347 link true /test verify-hypershift-integration

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.

@neisw

neisw commented Aug 24, 2026

Copy link
Copy Markdown
Contributor

@everettraven looks like 4.22-verify-hypershift-integration permafails, you ok adding a /override?

@openshift-merge-robot

Copy link
Copy Markdown
Contributor

Fix included in release 5.1.0-0.nightly-2026-08-24-111752

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. backport-risk-assessed Indicates a PR to a release branch has been evaluated and considered safe to accept. 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. size/M Denotes a PR that changes 30-99 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants