Releases: jenkinsci/build-monitor-plugin
"Aborted doesn't mean Failing"
Hello and thanks for keeping your Build Monitor up to date, you're awesome! 👍
This release introduces changes to how the builds are rendered to help you better distinguish aborted, failing and disabled builds:
- aborted builds are no longer rendered as failing (#260, #264) - thanks @deiga!
- disabled builds are easier to distinguish from aborted ones as their names are now
struck-through - oh, and Build Monitor also supports IE's Compatibility View (#259) - thanks @GMZwinge!
Plug: If you're interested in automated acceptance testing of your JavaScript and TypeScript projects, you might want to check out Serenity/JS - my latest open-source library, featured in DZone and presented at Devoxx 2016 last week.
Best,
Jan
Do you find Build Monitor useful? Support its development :)
Give it a star! ★
Found a bug? Raise an issue or submit a pull request.
Have feedback? Let me know on twitter: @JanMolak
Everything you always wanted to know about your builds
This release comes with quite a few new features, bug fixes as well as performance and accessibility improvements. Sit back, grab a cup of your afternoon hot beverage of choice, ask Jenkins to upgrade Build Monitor to the latest version and enjoy reading the release notes ;-)
It's all in the headline
With this release, Build Monitor will tell you quite a few new things about your builds!
- When a build gets aborted, you'll know who aborted it. Also, an aborted build is now easier to distinguish from a failing one (#103, #218)
- When a build is fixed, the brave engineer who fixed it can have their moment of glory when their name appears on the screen - thanks for the idea @yveshanoulle and for the implementation @ChadiEM 👍 (#202, #250)
- When a build contains new code changes, you'll know whose changes are being built (#164)
- ... or not! Because displaying people's names is now optional, so if you prefer Build Monitor to be a bit more discreet and keep this knowledge to itself, untick the "Display committers" option in the Build Monitor view settings (#243, #203).
Having said that, please remember that claiming a broken build also hides the names of possible culprits! It is also a great way to show that someone is actively working on addressing the failure.
You've also asked for the Build Monitor to support HTML content set using the Build Description Setter Plugin, such as links. Good news, you can do this now too! (#238, #222).
By the way, to prevent any XSS vulnerabilities, only regular, safe HTML works.
OK, so now onto the accessibility features!
Accessibility
- The amount of animation Build Monitor uses can be reduced to make the screen a bit easier on your eyes when there are multiple jobs in progress. You can enable this feature by ticking **"Reduce Motion"** in the settings (#184) - You've probably also noticed the new slider component? I've replaced the old one in favour of [rzSlider](https://github.com/angular-slider/angularjs-slider) as it **supports click events** and it's much easier to use on smart TVs (#217) - A bug that caused the state of "Colour blind mode" setting check box to be reflected incorrectly when the browser was reloaded got squashed now too.Performance
There are quite a few improvements here as well:
- Build Monitor needs much less CPU power, which should make the life of Raspberry PIs and laptop batteries a little bit easier (#230)
- Also, the memory consumption over prolonged sessions on machines with no access to the Internet has been reduced (#200)
I've also done a lot of work refactoring the codebase so that it's easier to introduce new features and make Build Monitor even more useful, for example:
- the project no longer uses the ancient Angular 1.1, it's now on nice 'n' shiny 1.5.8
- a
JobView
model is now a composite of different features that a job might have. This should make adding support for pipelines and folders a lot easier. - also thanks to @SosoTughushi for helping out with making Sonar happier 😃 (#236, #237)
- and to @TobiX for potenially resolving the problem with proxy servers cashing the CSRF token (#166)
Phew, that was quite a bundle!
Please upgrade your Build Monitor as soon as you can, give this project a ★ if you find it useful and feel free to ping me on Twitter @JanMolak if you have any questions or feedback!
All the best,
Jan Molak
Ps.
I've been getting plenty of positive feedback and quite a few questions after my talks on the Screenplay Pattern and scalable BDD.
I've also answered some of the questions related to applying SOLID design principles to acceptance tests in this article. So if you still have your hot beverage of choice, I invite you to finish it while reading the article and tell me what you think in the comments! 😃
Do you find Build Monitor useful? Support its development :)
Give it a star! ★
Found a bug? Raise an issue or submit a pull request.
Have feedback? Let me know on twitter: @JanMolak
Show test failures with Build Failure Analyzer
This release brings support to some of the new features of the Build Failure Analyzer Plugin, closing #148, #170 and #228.
In short, you can now provide your fellow devs with more detail when the reason of a build failure is found.
How do you do this? As I continue to replace a traditional user guide with acceptance tests, I'll suggest that you follow an example from the new acceptance test: "Displaying the number of failed tests" and let me know if you found it easy to follow 😃
Of course, displaying the number of failed tests is just one example usage! Will you use this feature for any other purpose? Let me know!
I'm looking forward to hearing your thoughts on the latest changes, and don't forget to 👍 the ideas and suggestions you'd like to see implemented next!
Oh, and one more thing! I'm planning to write an article on how the Screenplay Pattern and Serenity BDD are used on Build Monitor. If you don't want to miss it, follow me on Twitter and Medium!
Best,
Jan Molak
Do you find Build Monitor useful? Support its development :)
Give it a star! ★
Found a bug? Raise an issue or submit a pull request.
Have feedback? Let me know on twitter: @JanMolak
Custom build descriptions
Say hello to custom build descriptions! This feature should make it a little bit easier to display the revision number, the person who started the build, or anything else that you can get hold of in the console output of your builds.
To use it, install the Description Setter plugin and follow the instructions as per "Displaying A Custom Build Description" acceptance test:
to get something like this:
On top of that, this release also brings:
- ability to sort displayed projects by their estimated duration (including upstream projects) - #220 - Thanks @eribau!
- a fix to #224, where the progress bar didn't display the colour-blind friendly background pattern
Fun fact: All Build Monitor acceptance tests are written using the Screenplay Pattern and executed with Serenity BDD. That's how I get those cool test reports you've just seen a screenshot of above.
If you'd like to learn more about it, read my recent article "From Acceptance Tests to User Guides: Living Documentation with Serenity BDD and the Screenplay Pattern".
You might be also interested in some of my other articles, such as:
I'm looking forward to hearing your thoughts on the latest changes, and don't forget to 👍 the ideas and suggestions you'd like to see implemented next!
Best,
Jan Molak
Do you find Build Monitor useful? Support its development :)
Give it a star! ★
Found a bug? Raise an issue or submit a pull request.
Have feedback? Let me know on twitter: @JanMolak
Support for Jenkins 2.0
Jenkins 2.0 is out and you can enjoy it even more now that Build Monitor is compatible with it.
This release introduces:
- Support for Jenkins 2.0 and its new CSRF breadcrumbs, #215
- Further improvements to the font scaling algorithm so that Build Monitor is more readable, #196 and #214.
- Better handling of impatient proxies that don't give Jenkins enough time to respond, #197
- New configuration option to order projects by their last execution time, #113. Thanks to @Dudssource :-)
By the way, if you're interested in software craftsmanship, quality and modern delivery practices, you might want to check out my new blog at janmolak.com.
As always - I'm looking forward to hearing your thoughts and hope that you find Build Monitor useful!
Best,
Jan Molak
Do you find Build Monitor useful? Support its development :)
Give it a star! ★
Found a bug? Raise an issue or submit a pull request.
Have feedback? Let me know on twitter: @JanMolak
Further improvements to the UI
Clean up of the UI continues! This release brings following improvements:
- #165 - the vertical scrollbar is displayed only when the number of jobs exceeds what can comfortably fit the screen
- #192 - the progress bar no longer overlaps the job name, so Build Monitor looks better on Chromium 22 running on a Raspberry Pi
- #190 - the auto-suggested font size is slightly larger to make sure that you can read who and what broke the build without squinting too much ;-)
I'm looking forward to hearing your thoughts on the latest changes!
Fun fact: Did you know that Build Monitors across the globe display between several to several hundred jobs per screen across over 200 different screen resolutions? It's not easy to test all the possible combinations, so I'm relying on your feedback to find out what works best for you 😃
Best,
Jan
Do you find Build Monitor useful? Support its development :)
Give it a star! ★
Found a bug? Raise an issue or submit a pull request.
Have feedback? Let me know on twitter: @JanMolak
You can also sponsor a feature on bountysource!
Tons of projects? Bring them on!
This release makes the Build Monitor UI just a little bit smarter:
- The base size of the font is automatically adjusted based on the number of dashboard rows displayed (closes #165 and quite possibly #172)
- You can still tweak the size of the font to make it up to 3x smaller or 2x larger than what's suggested
- If the number of widgets displayed becomes greater than what can comfortably fit on the screen, the dashboard becomes scrollable (closes #124)
Oh, the versioning scheme has changed to decouple the Build Monitor version number from the environment where the project is built (i.e. the Jenkins build number).
Now, instead of <major>.<minor>+build.<build number>
you'll see <major>.<minor>+build.<timestamp>
.
By the way, if you'd like to find out how to make Maven version your project in a similar fashion, check out my new Release Candidate maven plugin and the new pipeline.groovy Workflow script I use to build the Build Monitor to see how to use Release Candidate with Jenkins (or any other CI server for this matter).
As always - I'm looking forward to hearing your thoughts and hope that you find Build Monitor useful!
Best,
Jan Molak
Do you find Build Monitor useful? Support its development :)
Give it a star! ★
Found a bug? Raise an issue or submit a pull request.
Have feedback? Let me know on twitter: @JanMolak
You can also sponsor a feature on bountysource!
On top of your updates, on top of your builds!
Hello!
This version of Build Monitor brings quite a few changes, so grab your beverage of choice and enjoy reading the change log 😄
- The way "culprits" are displayed has been changed significantly to address issues #138 and #151.
Turns out that Jenkins doesn't cache culprit names and looks them up every single time the#getCulprits
method is called. As there is no caching built-in and the call itself is expensive, this resulted in Build Monitor taking a performance hit in situations where a build's been failing for a long time and there was a large number of committers who pushed their changes over such broken build...
Now, even though committing over a broken build or leaving it broken are "Bad Things To Do"®, this is no excuse for Build Monitor being sluggish ;-)
As the second conclusion I came to was that displaying a long list of culprits wasn't particularly useful anyway, the new approach is this:
If the build is broken - display the author(s) of the offending commit:
If there's a number of failed builds, display how many exactly:
- To help you keep up to date, Build Monitor will now check if there's been a new release since your last update and display a subtle notification if that's the case:
- Also, the version of your Build Monitor is displayed in the footer so you don't have to be a Jenkins administrator to see if you're up to date:
- Another thing is that in order to help avoid performance issues and better understand how Build Monitor is used out there in the wild, the app will now gather anonymous usage statistics.
- One last thing is that this release also brings a fix to #183, which prevented Build Monitor from loading its UI assets if they're stored on a shared Windows network drive defined using a UNC path.
- OK, maybe one more thing: Build Monitor is now using the Release Candidate Maven plugin which helps with retrieving and setting the project version during the CI process, if you're using Maven and doing Continuous Delivery you might want to check it out!
I hope you like the new features and fixes. Looking forward to hearing your thoughts on Twitter!
Best,
Jan
Do you find Build Monitor useful? Support its development :)
Give it a star! ★
Found a bug? Raise an issue or submit a pull request.
Have feedback? Let me know on twitter: @JanMolak
You can also sponsor a feature on bountysource!
Error dialogs are back
Bug squashing session continues!
Due to a bug that crept into the CSS, error dialogs were not shown correctly.
This build fixes the problem and should prevent issues such as #171 from occurring again.
Do you find Build Monitor useful? Support its development :)
Give it a star! ★
Found a bug? Raise an issue or submit a pull request.
Have feedback? Let me know on twitter: @JanMolak
You can also sponsor a feature on bountysource!
JavaScript dependencies cleanup
Some users of the newer instances of Jenkins noticed errors in the JavaScript console thrown by the hudson_behavior.js
script (#182).
This release removes dependency on that script, so the JS console should stay nice and clean.
Do you find Build Monitor useful? Support its development :)
Give it a star! ★
Found a bug? Raise an issue or submit a pull request.
Have feedback? Let me know on twitter: @JanMolak
You can also sponsor a feature on bountysource!