Skip to content

Support multiple release streams in sync release jobs#3083

Merged
centosinfra-prod-github-app[bot] merged 1 commit intopackit:mainfrom
nforro:release-streams
Mar 31, 2026
Merged

Support multiple release streams in sync release jobs#3083
centosinfra-prod-github-app[bot] merged 1 commit intopackit:mainfrom
nforro:release-streams

Conversation

@nforro
Copy link
Copy Markdown
Member

@nforro nforro commented Mar 30, 2026

Replaces #3024.

RELEASE NOTES BEGIN

You can now configure multiple pull-from-upstream jobs with different version/tag filters. In conjunction with the Monitoring all release monitoring option this allows you to consume multiple release streams and freely configure Fedora releases you want to target with each.

RELEASE NOTES END

Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request introduces support for handling multiple upstream versions and tags simultaneously, primarily focusing on Anitya (Release Monitoring) updates. Key changes include updating event models to store lists of versions and tags, modifying the NewHotness event to parse multiple versions from messages, and updating the sync-release logic to iterate over and process each identified release. However, a critical issue was identified in the database association logic within the event classes: the current implementation loops over tags but overwrites the internal database object references in each iteration, meaning only the final tag in a list is correctly associated with the event instance. This could lead to incorrect behavior in downstream tasks that rely on these properties.

@nforro
Copy link
Copy Markdown
Member Author

nforro commented Mar 30, 2026

/gemini review

@centosinfra-prod-github-app
Copy link
Copy Markdown
Contributor

Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request updates the Anitya event handling to support multiple versions simultaneously, transitioning from a single version string to a versions list across events, models, and handlers. The changes include updating the database models to use AnityaMultipleVersionsModel, adjusting the worker logic to iterate over multiple releases, and updating the test suite to reflect these architectural changes. I have identified two significant issues: first, the run_condition check currently only evaluates the highest version, which could lead to incorrectly skipping jobs for other valid versions; second, there are inconsistencies in the integration test mocking regarding the expected ProjectEventModelType and the relationship between Anitya events and release models.

@nforro
Copy link
Copy Markdown
Member Author

nforro commented Mar 30, 2026

/gemini review

Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request refactors Anitya event handling to support multiple upstream versions. It replaces single version attributes with lists across event models, parsers, and handlers, allowing the service to process multiple releases from a single event. The SyncReleaseHandler now iterates through the provided versions to trigger individual sync processes. Feedback includes a suggestion to fix a minor typo in a failure message string.

@centosinfra-prod-github-app
Copy link
Copy Markdown
Contributor

@centosinfra-prod-github-app
Copy link
Copy Markdown
Contributor

@centosinfra-prod-github-app
Copy link
Copy Markdown
Contributor

Signed-off-by: Nikola Forró <nforro@redhat.com>
Assisted-by: Claude Opus 4.6 via Claude Code
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
@centosinfra-prod-github-app
Copy link
Copy Markdown
Contributor

@nforro nforro added the mergeit Merge via Zuul label Mar 31, 2026
@centosinfra-prod-github-app
Copy link
Copy Markdown
Contributor

@centosinfra-prod-github-app centosinfra-prod-github-app bot merged commit 69066d4 into packit:main Mar 31, 2026
6 checks passed
@github-project-automation github-project-automation bot moved this from In review to Done in Packit pull requests Mar 31, 2026
@nforro nforro deleted the release-streams branch March 31, 2026 10:24
centosinfra-prod-github-app bot added a commit that referenced this pull request Apr 1, 2026
A few follow-ups to multiple release streams support

Related to #3083.

Reviewed-by: gemini-code-assist[bot]
Reviewed-by: Nikola Forró
Reviewed-by: Laura Barcziová
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

mergeit Merge via Zuul

Projects

Development

Successfully merging this pull request may close these issues.

3 participants