OCPBUGS-113600: [release-4.22] OCPBUGS-112479: Handle Sippy date-only format in featuregate-test-analyzer - #3008
Conversation
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>
|
Pipeline controller notification For optional jobs, comment This repository is configured in: LGTM mode |
|
@redhat-chai-bot: This pull request references Jira Issue OCPBUGS-112479, which is invalid:
Comment The bug has been updated to refer to the pull request using the external bug tracker. DetailsIn response to this:
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. |
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Repository YAML (base), Central YAML (inherited) Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
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. Comment |
|
Hello @redhat-chai-bot! Some important instructions when contributing to openshift/api: |
|
/retitle OCPBUGS-113600: [release-4.22] OCPBUGS-112479: Handle Sippy date-only format in featuregate-test-analyzer |
|
@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
The bug has been updated to refer to the pull request using the external bug tracker. DetailsIn response to this:
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. |
|
Pipeline controller notification No second-stage tests were triggered for this PR. This can happen when:
Use |
|
[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 DetailsNeeds approval from an approver in each of these files:
Approvers can indicate their approval by writing |
|
/label backport-risk-assessed |
|
@redhat-chai-bot: The following test failed, say
Full PR test history. Your PR dashboard. DetailsInstructions 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. |
|
@everettraven looks like 4.22-verify-hypershift-integration permafails, you ok adding a |
|
Fix included in release 5.1.0-0.nightly-2026-08-24-111752 |
Summary
Manual backport of #2998 to
release-4.22. The automated cherry-pick failed due to merge conflicts — the 4.22 branch uses a differentgetLatestRelease()struct shape (Releases []string+Datesmap) compared to master'sReleaseAttrsmap.Fixes the
verify-feature-promotionCI job broken by sippy#3716 ("TRT-2364: Fix timestamp and date type inconsistencies"), which changed Sippy's/api/releasesresponse to serializedevelopment_startandgaas bare dates ("2018-07-11") instead of RFC 3339 timestamps.Changes
Adds a
flexibleDateTimewrapper type with a customUnmarshalJSONthat:"2006-01-02"date-only format (new Sippy format)nulland empty values gracefullyUpdates both
GAandDevelopmentStartfields in thegetLatestRelease()inline struct from*time.Timeto*flexibleDateTime, and adjusts the comparison code to access.Time.Note:
BuildSippyJobRunsForJobURLdoes 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