-
Notifications
You must be signed in to change notification settings - Fork 47
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Database: models for group of chroots #1327
Comments
Result from today's discussion on Fedora chat about model naming, there is a slight change from the initial research doc, the naming should be explicit so using |
Improvements to DB model names Summary of the changes: Renamed RunModel to PipelineModel Renamed InstallationModel to GithubInstallationModel Renamed Koji, Copr and TF models, they now contain the word Target to emphasize that it's a single build/test run (to enable creation of group models, see comment in #1327 ) Fixes #1326 N/A Reviewed-by: None <None> Reviewed-by: František Nečas <None> Reviewed-by: Matej Focko <None> Reviewed-by: Tomas Tomecek <tomas@tomecek.net>
This comment was marked as outdated.
This comment was marked as outdated.
When providing the database scheme (the first subtask) you can get inspired by ProposeDownstreamModel - ProposeDownstreamTargetModel scheme. |
This issue has been marked as stale because it hasn't seen any Stale issues are closed after 14 days, unless the label is removed This is done in order to ensure that open issues are still relevant. Thank you for your contribution! 🦄 🚀 🤖 (Note: issues labeled with pinned or EPIC are |
Create group models This is a good candidate for a pair review, here are just some pointers: The diff looks scary but a lot of it is just tests and migrations which contain definition of models We now create a model before sending a request to TF/Copr/Koji, the model will have an empty pipeline ID/web url since it is not known yet. This will be filled in later, once the request succeeds. For handling retries, the handlers now accept a group ID which they fetch rather than creating a new model to avoid creating unnecessary models on failures. As discussed at last arch, I added an explicit M:N mapping between copr and TF. This was necessary because by introducing groups, a pipeline now contains a group of runs and a group of tests and mapping a test to a single build (e.g. f35 test to f35 build) would otherwise be impossible. Testing farm changes are probably the most prone to breaking (lots of merge conflicts, I tried to make groups work with Laura's recent work), koji and copr seemed a lot less complex. I also made some changes to documentation and some other improvements along the way The migrations are not really backwards compatible, even though I tried my best. When you merge something, splitting it back is complicated. Also see my TODO comment in the migrations # TODO: should we merge the groups? This would result in deletion and possibly some mess. I feel like removing existing pipelines is not the way to go so I rather went with "duplicating data" TODO: Write new tests or update the old ones to cover new functionality. Update doc-strings where appropriate. Update or write new documentation in packit/packit.dev. [nothing to document] Add API endpoints for getting group data by ID (may not be necessary for now, the existing API should be more-or-less unimpacted, but it may be useful for the future) Try running the migration on production data to see how fast it runs and if there is any need for trying to optimize (the 4 migrations take roughly a minute for stage data on my local machine). Openshift tests? Fixes: #1327 Fixes: #1665 RELEASE NOTES BEGIN Packit now groups related builds and test runs (e.g. triggered by the same event, just different chroots) together. In the future, this will allow better presentation of the overall pipelines (e.g. in the dashboard). We now also create database entries before sending requests to external service (e.g. Testing Farm), therefore failures will be more visible in the dashboard. RELEASE NOTES END Reviewed-by: Tomas Tomecek <tomas@tomecek.net> Reviewed-by: František Nečas <frantisek.necas@protonmail.com> Reviewed-by: Jiri Popelka <None> Reviewed-by: Matej Focko <None> Reviewed-by: Laura Barcziová <None>
Follow-up for: packit/research#128
We need to store information about a group of related chroot-builds that were triggered together.
The text was updated successfully, but these errors were encountered: