-
Notifications
You must be signed in to change notification settings - Fork 517
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
Fix part of #5508: Limit APK/AAB Difference analysis reports in the PR Comment Thread #5532
Fix part of #5508: Limit APK/AAB Difference analysis reports in the PR Comment Thread #5532
Conversation
@BenHenning, would this approach work in limiting the report thread in the right way? Can you PTAL? Also, Noticing that previous stat runs sometimes fail [workflow run], if the artifacts aren’t uploaded, the next check would treat it as if no previous log was found, potentially leading to duplicated comments. |
Coverage ReportResultsCoverage Analysis: SKIP ⏭️ This PR did not introduce any changes to Kotlin source or test files.
|
Coverage ReportResultsCoverage Analysis: SKIP ⏭️ This PR did not introduce any changes to Kotlin source or test files.
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ah this is a really clever solution--great idea! Thanks for creating this @Rd4dev and for the thorough testing that you included in the PR! I have no additional suggestions, this LGTM as-is. :)
Given how much the build stats workflow has been 'spamming' PRs (and keeping them from being auto-closed from Oppiabot stale detection), enabling auto-merge to get this in soon. |
Unassigning @BenHenning since they have already approved the PR. |
Assigning @adhiamboperes for code owner reviews. Thanks! |
Coverage ReportResultsCoverage Analysis: SKIP ⏭️ This PR did not introduce any changes to Kotlin source or test files.
|
Thank you so much @BenHenning. I’d like to clarify the failure cases with the stats reports, as they seem to fail often. Is this likely a flake, or can it be fixed? I’m concerned it might lead to duplicated comments with previous failure stats. The artifact approach seemed straightforward and clean, but wondering if it’s unreliable, would checking actual comments via the GitHub API to compare changes be a viable alternative? (I haven’t tried this yet...) but just like to know the best approach. |
What failures are you observing? It seems that the stats workflow has been fairly reliable, but admittedly I haven't actually analyzed it in detail. Separately, I notice that CI workflows are failing due to us using a very old version of upload artifact in existing workflows. Could you maybe update those in this PR? Since we're going to merge this soon, it would be convenient to go ahead and fix that here so that we can unblock the rest of the team (it seems something changed on GitHub's side that's presumably going to cause all PRs to fail). |
Updated this PR to use v4 upload-artifact.
Though the last couple of stats.yml failures are due to the deprecated v2 artifact, the previous checks to them too seem to fail in most cases (with ProGuard issues, I guess). Actions/stats check: Stat runs: Failure at build - feature branch step: (Run # 154) The same PR passing checks (Run # 155) |
Coverage ReportResultsCoverage Analysis: SKIP ⏭️ This PR did not introduce any changes to Kotlin source or test files.
|
Thanks @Rd4dev! As far as I can tell, all the failures were due to the v4 issue but I'll keep an eye out for any other build flakes that might be occurring. |
Explanation
Fixes #5533
Fixes part of #5508
This PR includes
Updates the workflow to use v4 of the upload-artifact
Steps to locate the previous
stats.yml
workflow run, download its build artifact, and compare it with the current build log. If changes are detected, a comment will be uploaded to help minimize comment thread overload.The implementation:
Tested with a cloned PR
(with stats.yml implementation on develop)
Tested PR: Rd4dev/Oppia-Android-Fork-from-Fork#40
Reference for proof of implementation:
Essential Checklist