Open lucasrodes opened 1 month ago
This plan sounds good! I just created a PR with a tool I was playing around with to be able to detect automatically the grapher dataset mapping old-> new based on your current branch. I think some of that logic can be implemented in indicator upgrader (I'm happy to do that myself down the line).
Also, some other part of the logic of that tool (finding all possible files affected by your local work) could also be part of chart diff, but that's just nice to have (for now chart diff should relay on chart config differences).
I just finished an update of WDI with about 500 charts. It was pretty smooth, but not perfect. Some observations:
Reject
button is necessaryMinor thing: I think it would be convenient to show if a chart is a draft in chart diff.
Two nice to have ideas from doing large GBD review:
Is there an easier way? Maybe we could have a "reset" button for a chart that would reset config from production, but keep variable ids. Not sure how hard it would be to implement.
Regarding the first point @Marigold made above, an alternative implementation could be to use the test page, in the format
http://staging-site-{branch}/admin/test/embeds?ids={chart-id}&comparisonUrl=https%3A%2F%2Fourworldindata.org
I used that in a PIP issue:
[this list has been integrated into main issue list]
more points:
One-liner
Improvements to the new data update workflow.
Context & details
At high level, the new workflow is:
owidbot
should signal this in its comment in the PRNote that there can be data work at any point between steps 1 and 2, hence chart-diff should also reflect chart changes due to
Future work
Indicator Upgrade
master
andnew-branch
Chart diff
chart diff
periodically against all open PRs in ETL and post results back with owidbotreject
buttonAfter merging branch
--dry-run
chart A
on staging → they merge the PR from staging server into masterchart A
in production before ETL builds → collision!chart A
, we should resolve this.Docs
Detected bugs
PR list