Fix schedule pipeline report
What does this MR do and why?
MR !2026 (merged) introduced bug in schedule pipeline report table, making some cell to be in the wrong column.
Example: the encircled cell should in fact be in the 2024-04-64 column.
This bug is due to the fact I previously naively expected each type of child pipeline to be present for each date. But actually some pipeline modifications or errors occur and a child pipeline could exist one day and not another.
So this MR takes this fact in account and code first parse the pipeline results to code a struct containing all child pipeline types and then parse this struct for creating table as expected by tabulate inserting blank cell when needed.
I also refactored publish_report() and delete_old_reports() functions.
Test coverage
Tested using gitlab-ci-local, producing the test report https://gitlab.com/sylva-projects/sylva-core/-/wikis/test-fix-report
