Skip to content
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 broken icons in Jenkins 2.333, replace PNGs with SVGs and use modern build status icons instead of balls #170

Merged
merged 3 commits into from
Mar 4, 2022

Conversation

NotMyFault
Copy link
Member

@NotMyFault NotMyFault commented Feb 20, 2022

Originally, I was going ahead to fix the broken icons that referenced to paths that have been removed from core, e.g. in

but I've taken the opportunity to exchange the GIF and PNG icons with SVGs that were already added and got a rid of the ball colors in favor of the modernized build status:

@NotMyFault
Copy link
Member Author

Heyo,

uh I'm not sure who maintains this plugin at the moment but I noticed that @batmat pushed some maintenance commits, would you mind taking a look at this PR?
I think, it would be great to have it available sometime around the next LTS, 2.332.1, which releases on March the 9th, which focuses a lot on UI improvements.
Thanks in advance!

@jtnord
Copy link
Member

jtnord commented Mar 4, 2022

Why where the icons removed from core without replacement or aliasing? Icons are part of the API as much as java code and this would appear to be a regression?

Is this purely because the plugin was not using l:icon and if it was it would have been unaffected? (in which case I agree this is an issue in this plugin), if not then how many other plugins are affected by this change?

(cloudbees-folder I recall also was tripped up as the GREY icon got removed (and then re-added) )

@NotMyFault
Copy link
Member Author

Why where the icons removed from core without replacement or aliasing? Icons are part of the API as much as java code and this would appear to be a regression?

Is this purely because the plugin was not using l:icon and if it was it would have been unaffected? (in which case I agree this is an issue in this plugin), if not then how many other plugins are affected by this change?

Core does overwrite icons in order of GIF -> PNG -> SVG (for Tango) -> ionicon, hence there's a blue arrow on the screenshot I attached, because the promotions plugin does now reference icon-up to place this icon which core provides.

Previously, the promotions plugin read the icon from its path

<l:task icon="images/24x24/up.png"
href="${h.getNearestAncestorUrl(request,it.targetBuild)}/promotion/"
title="${%Back to Promotion Status}" />

The path does no longer exist, because the GIF and PNG sprites have been removed in favor of the SVG ones.

However, if a plugin does use the API of the icon class to place an icon, e.g. icon-up for l:task, l:icon or t:summary, they are unaffected by the icon removal, because the overwrite rule from above applies here and let core choose which icon to place, depending on the core version used.

The plugins affected by the removal are the ones that didn't use the API in the first place and relied on the icon path itself.

I published a blog article at jenkins.io to provide a bit of guidance how to migrate from the usage of icon paths to the appropriate icon class API.

(cloudbees-folder I recall also was tripped up as the GREY icon got removed (and then re-added) )

Yeah, but that was down to the icon not being registered in the first place, hence the icon overwrite couldn't apply here.

@jtnord jtnord added the bug label Mar 4, 2022
@jtnord jtnord changed the title Fix broken icons, replace PNGs with SVGs and use modern build status icons instead of balls Fix broken icons in Jenkins 2.333, replace PNGs with SVGs and use modern build status icons instead of balls Mar 4, 2022
@jtnord jtnord merged commit 38257fe into jenkinsci:master Mar 4, 2022
@NotMyFault NotMyFault deleted the fix/master/fix-broken-icons branch March 4, 2022 18:15
@batmat
Copy link
Member

batmat commented Mar 4, 2022

Looks like now the master branch is failing for some reason I don't have the time to look into now.

I have asked @car-roll to give it a try. I've given him access as a maintainer.

MarkEWaite pushed a commit to MarkEWaite/parameterized-trigger-plugin that referenced this pull request May 6, 2024
892.vd6219fc0a_efb was released 2 years ago.  Over 50% of all
installations of the promoted builds plugin are already using
892.vd6219fc0a_efb or newer.  Those users will see no difference from
this change, since they are already using 892.vd6219fc0a_efb.

Recent Jenkins versions will display broken icons with
older versions of the promoted builds plugin.  Fixed in
jenkinsci/promoted-builds-plugin#170 as part
of 873.v6149db_d64130

https://stats.jenkins.io/pluginversions/promoted-builds.html shows that
892.vd6219fc0a_efb is the second most popular release.  It is second
only to the most recent release, 945.v597f5c6a_d3fd.

A step towards eventually upgrading the promoted-builds optional
dependency that is part of the git plugin.  Attempts to update that
optional dependency have shown consistent failures in the plugin bill
of materials.

* jenkinsci/bom#3170
* jenkinsci/bom#2809

Bumps [promoted-builds](https://github.com/jenkinsci/promoted-builds-plugin) from 3.11 to 892.vd6219fc0a_efb
- [Release notes](https://github.com/jenkinsci/promoted-builds-plugin/releases/tag/892.vd6219fc0a_efb)

Also removes unnecessary exclusions
MarkEWaite added a commit to MarkEWaite/git-plugin that referenced this pull request May 6, 2024
892.vd6219fc0a_efb was released 2 years ago.  Over 50% of all
installations of the promoted builds plugin are already using
892.vd6219fc0a_efb or newer.  Those users will see no difference from
this change, since they are already using 892.vd6219fc0a_efb.

Recent Jenkins versions will display broken icons with
older versions of the promoted builds plugin.  Fixed in
jenkinsci/promoted-builds-plugin#170 as part
of 873.v6149db_d64130.  Upgrading to 892.vd6219fc0a_efb will fix that
issue for users.

https://stats.jenkins.io/pluginversions//promoted-builds.html shows that
892.vd6219fc0a_efb is the second most popular release.  It is second
only to the most recent release, 945.v597f5c6a_d3fd.  Attempts to update
that optional dependency to the most recent release have shown consistent
failures in the plugin bill of materials.

* jenkinsci/bom#3170
* jenkinsci/bom#2809

This likely needs to be combined with the parameterized trigger plugin
upgrade of the same dependency to the same version.  Refer to

* jenkinsci/parameterized-trigger-plugin#378

Bumps [promoted-builds](https://github.com/jenkinsci/promoted-builds-plugin) from 3.11 to 892.vd6219fc0a_efb
- [Release notes](https://github.com/jenkinsci/promoted-builds-plugin/releases/tag/892.vd6219fc0a_efb)
MarkEWaite added a commit to jenkinsci/git-plugin that referenced this pull request May 7, 2024
* Require Jenkins 2.426.3 or newer

https://stats.jenkins.io/pluginversions/git.html shows that 82% of the
125k installations of the 5.2.1 release (most recent, 6 months old)
are already running 2.426.3 or newer.

https://www.jenkins.io/security/advisory/2024-01-24/#SECURITY-3314 was
published in Jan 2024 and strongly recommends that users upgrade to
2.426.3 or newer.

* Test with promoted-builds 940.va_9b_59a_717a_b_1

Removes the dependency on project-inheritance.  Previous releases resolved
the security issue that was still open in 3.11.

* Remove recently introduced trailing white space

* Remove dependabot exclusion of promoted builds

* Use (optional) promoted builds 945.v597f5c6a_d3fd

* Remove diff to master branch

* Bump promoted-builds optional dependency to 892.vd6219fc0a_efb

892.vd6219fc0a_efb was released 2 years ago.  Over 50% of all
installations of the promoted builds plugin are already using
892.vd6219fc0a_efb or newer.  Those users will see no difference from
this change, since they are already using 892.vd6219fc0a_efb.

Recent Jenkins versions will display broken icons with
older versions of the promoted builds plugin.  Fixed in
jenkinsci/promoted-builds-plugin#170 as part
of 873.v6149db_d64130.  Upgrading to 892.vd6219fc0a_efb will fix that
issue for users.

https://stats.jenkins.io/pluginversions//promoted-builds.html shows that
892.vd6219fc0a_efb is the second most popular release.  It is second
only to the most recent release, 945.v597f5c6a_d3fd.  Attempts to update
that optional dependency to the most recent release have shown consistent
failures in the plugin bill of materials.

* jenkinsci/bom#3170
* jenkinsci/bom#2809

This likely needs to be combined with the parameterized trigger plugin
upgrade of the same dependency to the same version.  Refer to

* jenkinsci/parameterized-trigger-plugin#378

Bumps [promoted-builds](https://github.com/jenkinsci/promoted-builds-plugin) from 3.11 to 892.vd6219fc0a_efb
- [Release notes](https://github.com/jenkinsci/promoted-builds-plugin/releases/tag/892.vd6219fc0a_efb)

* Do not check for promoted-builds updates
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants