Open preaction opened 6 years ago
The existing code is broken subtly: It considers a distribution to be a "dev" release (distmat
) only if the version contains a "_". This is incorrect, there are also -TRIAL
releases. The CPAN::DistnameInfo does this correctly, and we should use that.
We need to migrate the release data script to the new backend module system. The old code is located in old/release.
This code does the following:
release_data
table to contain a single row for every test summary row in thecpanstats
table. This row contains a1
in one of the test grade columns (pass
,fail
,na
,unknown
).release_summary
table to contain a single entry for everydist
+version
(a release). This row should contain a count of all thepass
,fail
,na
,unknown
reports for the release.For example, here's the difference between the data in the two tables:
All of the tables required by this script are already managed by CPAN::Testers::Schema:
release_data
tablerelease_summary
tablecpanstats
tableThe only useful end result in the data in the
release_summary
table. If we can build this table without leaving intermediary data around, that would be great.This code should be in a new module, CPAN::Testers::Backend::Release. This module should use the
Beam::Runnable
role. The process should be configured inetc/container/report.yml
. It should be configured to run every hour via cron in the Rexfile. Then the old process should be disabled to prevent erroneous data.In addition to updating the newly-added data, there should be an option to rebuild all of this data from scratch, completely clearing all derived data in
release_data
andrelease_summary
and building them back up.