jenkinsci / apache-httpcomponents-client-5-api-plugin

Bundles Apache HttpComponents Client 5.x and allows it to be used by Jenkins plugins.
https://plugins.jenkins.io/apache-httpcomponents-client-5-api
MIT License
1 stars 2 forks source link

Use httpclient 5.3.1, not httpclient 5.4 #62

Closed MarkEWaite closed 1 month ago

MarkEWaite commented 1 month ago

Use httpclient 5.3.1, not httpclient 5.4

Reverts 199115451c4da86ff7d403575a57e586e270ab19 from

The failure that Docker plugin users encounter with httpclient 5.4 when connecting to the Docker daemon over a Unix domain socket is described in:

The test automation failure that happens with httpclient 5.4 is described in:

Two other issues note that there are problems in httpclient 5.4:

Intentionally sets the plugin version to 5.4 so that a release based on this change will supersede the previous 5.4 based release that users may have installed.

Intentionally disables renovate updates to 5.4 or newer. Once the issue is resolved in upstream, that block can be removed.

Testing done

Automated tests pass for this plugin.

Automated tests pass for the docker plugin with the incremental from this pull request. Automated tests fail in the docker plugin with the httpclient 5.4 version.

Incremental build tested in my development environment with a Docker daemon accessible over a TCP socket. Confirmed that the switch back to httpclient 5.3.1 did not regress existing functionality over a TCP socket.

Incremental build tested in a separate environment and confirmed that I can duplicate the problem using the httpclient 5.4 release and the httpclient incremental build from this pull request fixes the issue. The git repository that I used to record the passing and failing configuration is included as httpclient-59.tar.gz. The username in that installation is "mwaite" and the password is "mwaite". Run the environment with the command bash ./README on a Linux computer with a local Docker daemon. Be sure that you are running from a user account that has access to Docker.

Dependent plugins include:

Confirmed that the most recent release of the SAML plugin has a dependency on release 5.4-120.v6b_5b_322da_5c4. That release requires Jenkins 2.479 or newer. I did not find any changes in that release that depend on httpclient 5.4 features. The downgrade from httpclient 5.4 to httpclient 5.3.1 seems safe for that plugin

The previous release (4.487.v9f1c3328f1c0) of the SAML plugin depends on 5.3.1-110.v77252fb_d4da_5 so has no issue with this proposed change.

Submitter checklist

MarkEWaite commented 1 month ago

@basil this is the pull request that proposes to revert httpclient 5.4 from the apache-httpcomponents-client-5-api-plugin