-
Notifications
You must be signed in to change notification settings - Fork 646
Tool that calculate workflow/job failure rate and collect failure logs #4743
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
Conversation
…ct ci_test failure logs
📝 PRs merging into main branchOur main branch should always be in a releasable state. If you are working on a larger change, or if you don't want this change to see the light of the day just yet, consider using a feature branch first, and only merge into the main branch when the code complete and ready to be released. Add the 'main-merge-ack' label to your PR to confirm merging into the main branch is intended. |
Unit Test Results 772 files + 766 772 suites +766 32m 9s ⏱️ + 31m 46s For more details on these failures, see this check. Results for commit 64c9d98. ± Comparison against base commit b010838. ♻️ This comment has been updated with latest results. |
Size Report 1Affected Products
Test Logs |
Coverage Report 1Affected Products
Test Logs |
|
The script is incide the @yifanyang could you take a look at that part? |
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.
The script is incide the
firecidirectory, but it doesn't integrate with fireci.@yifanyang could you take a look at that part?
If the script is supposed to be standalone, maybe just place it inside ci but not ci/fireci. If you do want to integrate with fireci, use the decorator @ci_command, for example:
firebase-android-sdk/ci/fireci/fireciplugins/fireperf.py
Lines 27 to 40 in 46e7a69
| @click.option( | |
| '--plugin_repo_dir', | |
| help='The location of the fireperf plugin repository.', | |
| required=True, | |
| ) | |
| @click.option( | |
| '--target_environment', | |
| type=click.Choice(['prod', 'autopush'], case_sensitive=False), | |
| help='The target environment fireperf is built for.', | |
| required=True, | |
| ) | |
| @ci_command() | |
| def fireperf_e2e_test(target_environment, plugin_repo_dir): | |
| """Run Firebase Performance end-to-end test.""" |
Another thing: the script depends on a couple of external libraries, such as argparse, requests. Do you want to add a setup instruction for your script?
That's one of the benefits of integrating with fireci, since it already has it setup, right? |
Yes. Here is the example: firebase-android-sdk/ci/fireci/setup.cfg Lines 5 to 17 in 8d99ce0
|
Standalone for now, thus I moved it to |
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.
I see that you moved them to a new folder. But still, the script is using external libraries. We cannot assume it is available anywhere. We will need to clarify which version of those dependencies to use and how to install them. The current practice (such as the setup for fireci) is to use Python virtual environment to isolate installations for different purposes.
Another nit: can you make the commit title more concise?
I think it's fine that not specifying the python library version.
Once we have plan to advertise the tool, let's take the library version in to consideration. |
The script may not work with future versions of these libraries, if there is a backward incompatible change. The purpose of specifying a version is to make sure the script always resolve to the version we have verified here to be working.
I recommend Python virtual environments to isolate installations of different libraries.
Maybe it's just my opinion, I'd prefer whatever we deliver to be with a good quality, regardless of the customer base.
See the first reply above. We only need a version that we are sure everything is working right?
Nevertheless, it is up to you whether you want to incorporate these feedback. |
A tool that calculate workflow/job failure rate and a tool that collect ci_test failure logs
see: https://github.com/firebase/firebase-android-sdk/tree/sunmou/ci_status/ci/fireci/workflow_summary