-
Notifications
You must be signed in to change notification settings - Fork 3k
tools: Refactor notification API #6781
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
It's now all handled by the notifier
You can turn them on with MBED_COLOR=True
apparently I forgot earlier
TODO for tomorrow theotherjimmy: Fix those dang tools tests. |
/morph build |
Build : ABORTEDBuild number : 1884 |
/morph build |
Build : ABORTEDBuild number : 1891 |
Aborted again, but not by us, tests are failing and then results in timeout? Please review |
@0xc0170 Yeah, it looks like |
That way we separate the collection of notifications from everything else
@0xc0170 I got the bug, I think. The test builds were sharing a notifier, which basically squared the amount of output we got. |
/morph build |
Build : ABORTEDBuild number : 1910 |
/morph build |
So the prior abort was caused by a combination of a few things leading up to the test builder consuming an unbounded (and very, very large) amount of RAM. That commit seems to keep it capped at a little less than 400MB on my machine. At particularly bad spots, the prior commit could consume >2GB RAM on my machine. |
29% speedup (old: 45sec, new: 35sec) on my machine
79b7e7e
to
81f969e
Compare
/morph build |
Build : SUCCESSBuild number : 1918 Triggering tests/morph test |
Exporter Build : SUCCESSBuild number : 1563 |
@theotherjimmy Can you review the jenkins CI failure, there's a build error |
@0xc0170 Jenkins passed. |
Test : FAILUREBuild number : 1734 |
/morph test |
Test : SUCCESSBuild number : 1740 |
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.
Quite a large change set, but for all the important things. Thanks, @theotherjimmy!
Since this PR merge, build python script is not working any more :-( $ python tools/build.py -m NUCLEO_F030R8 -t ARM |
@jeromecoutant Thanks for reporting. we will look at this |
Description
Historically, the notification API is coupled to an
mbedToolchain
instance.This is problematic for things that could use notification without a toolchain
object, such a export zipping, or post build merge scripts, and this is a poor
coupling of the API that requires passing many, many parameters through to the
toolchain, such as
verbose
andsilent
.This PR decouples the notification API from the toolchain object, and delegates
implementaion of this
Notifier
API to a single implementation:TerminalNotifier
. In testing this PR I prototyped another implementation aspart of the Online Compiler's build back end.
This new API allowed me to decouple the verbosity parameter handling,
-v
and--silent
, from the build API entirely. They are now completely oblivious tothese parameters, instead calling methods on the
Notifier
object that theyare passed.
Pull request type