-
Notifications
You must be signed in to change notification settings - Fork 4
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 R-CMD-CHECK workflow ubuntu issues #39
Conversation
Codecov Report
@@ Coverage Diff @@
## master #39 +/- ##
=======================================
Coverage 84.86% 84.86%
=======================================
Files 4 4
Lines 218 218
=======================================
Hits 185 185
Misses 33 33 Continue to review full report at Codecov.
|
So everything installs correctly now! 💪 However new errors introduced now in all ubuntu runs!! 😭 https://github.com/EMODnet/EMODnetWFS/runs/5078071611?check_suite_focus=true#step:13:31
The offending lines in the vignette are: 🤷♀️ have no idea why so more digging needed |
This may be an issue with setup of FreshRSS/FreshRSS#3029 (comment) More context about server signatures and this error here: openssl/openssl#7126 (comment) |
In #40 I am trying using the latest r-lib/actions workflows (that are much shorter so easier to read & tweak). |
Which gets me to the same state at this PR. I'm now running things locally. The new error might be a server problem so to be reported. 🤔 |
yay I can reproduce the error locally :-) |
|
and with another URL (that works)
|
urls <- EMODnetWFS::emodnet_wfs$service_url
check_url <- function(url) {
try <- try(httr2::request(url) |>
httr2::req_perform())
if (inherits(try, "try-error")) print(url)
}
purrr::walk(urls, check_url)
#> Error in resp_check_status(resp, error_body(req, resp)) :
#> HTTP 400 Bad Request.
#> [1] "https://ows.emodnet-bathymetry.eu/wfs"
#> Error in resp_check_status(resp, error_body(req, resp)) :
#> HTTP 400 Bad Request.
#> [1] "https://nodc.ogs.trieste.it/geoserver/Contaminants/wfs"
#> Error : error:1414D172:SSL routines:tls12_check_peer_sigalg:wrong signature type
#> [1] "https://drive.emodnet-geology.eu/geoserver/tno/wfs"
#> Error : error:1414D172:SSL routines:tls12_check_peer_sigalg:wrong signature type
#> [1] "https://drive.emodnet-geology.eu/geoserver/ispra/wfs"
#> Error : error:1414D172:SSL routines:tls12_check_peer_sigalg:wrong signature type
#> [1] "https://drive.emodnet-geology.eu/geoserver/gsi/wfs"
#> Error : error:1414D172:SSL routines:tls12_check_peer_sigalg:wrong signature type
#> [1] "https://drive.emodnet-geology.eu/geoserver/bgr/wfs"
#> Error : error:1414D172:SSL routines:tls12_check_peer_sigalg:wrong signature type
#> [1] "https://drive.emodnet-geology.eu/geoserver/gtk/wfs"
#> Error : error:1414D172:SSL routines:tls12_check_peer_sigalg:wrong signature type
#> [1] "https://drive.emodnet-geology.eu/geoserver/bgs/wfs"
#> Error in resp_check_status(resp, error_body(req, resp)) :
#> HTTP 400 Bad Request.
#> [1] "https://ows.emodnet-humanactivities.eu/wfs"
#> Error in resp_check_status(resp, error_body(req, resp)) :
#> HTTP 400 Bad Request.
#> [1] "https://geoserver.emodnet-physics.eu/geoserver/emodnet/wfs"
#> Error in resp_check_status(resp, error_body(req, resp)) :
#> HTTP 400 Bad Request.
#> [1] "https://ows.emodnet-seabedhabitats.eu/geoserver/emodnet_open/wfs"
#> Error in resp_check_status(resp, error_body(req, resp)) :
#> HTTP 400 Bad Request.
#> [1] "https://ows.emodnet-seabedhabitats.eu/geoserver/emodnet_open_maplibrary/wfs" Created on 2022-03-01 by the reprex package (v2.0.1) |
The actually problematic ones (no client inits possible) are the drive dot emodnet |
urls <- EMODnetWFS::emodnet_wfs$service_url
urls <- urls[grepl("drive\\.emodnet-geology", urls)]
urls
#> [1] "https://drive.emodnet-geology.eu/geoserver/tno/wfs"
#> [2] "https://drive.emodnet-geology.eu/geoserver/ispra/wfs"
#> [3] "https://drive.emodnet-geology.eu/geoserver/gsi/wfs"
#> [4] "https://drive.emodnet-geology.eu/geoserver/bgr/wfs"
#> [5] "https://drive.emodnet-geology.eu/geoserver/gtk/wfs"
#> [6] "https://drive.emodnet-geology.eu/geoserver/bgs/wfs"
check_url <- function(url, service_version = "2.0.0") {
try <- try(
EMODnetWFS:::perform_http_request(url)
)
if (inherits(try, "try-error")) print(url)
}
purrr::walk(urls, check_url)
#> x WFS client creation failed.
#> ℹ Service: 'https://drive.emodnet-geology.eu/geoserver/tno/wfs'
#> Error in curl::curl_fetch_memory(url, handle = handle) :
#> error:1414D172:SSL routines:tls12_check_peer_sigalg:wrong signature type
#> [1] "https://drive.emodnet-geology.eu/geoserver/tno/wfs"
#> x WFS client creation failed.
#> ℹ Service: 'https://drive.emodnet-geology.eu/geoserver/ispra/wfs'
#> Error in curl::curl_fetch_memory(url, handle = handle) :
#> error:1414D172:SSL routines:tls12_check_peer_sigalg:wrong signature type
#> [1] "https://drive.emodnet-geology.eu/geoserver/ispra/wfs"
#> x WFS client creation failed.
#> ℹ Service: 'https://drive.emodnet-geology.eu/geoserver/gsi/wfs'
#> Error in curl::curl_fetch_memory(url, handle = handle) :
#> error:1414D172:SSL routines:tls12_check_peer_sigalg:wrong signature type
#> [1] "https://drive.emodnet-geology.eu/geoserver/gsi/wfs"
#> x WFS client creation failed.
#> ℹ Service: 'https://drive.emodnet-geology.eu/geoserver/bgr/wfs'
#> Error in curl::curl_fetch_memory(url, handle = handle) :
#> error:1414D172:SSL routines:tls12_check_peer_sigalg:wrong signature type
#> [1] "https://drive.emodnet-geology.eu/geoserver/bgr/wfs"
#> x WFS client creation failed.
#> ℹ Service: 'https://drive.emodnet-geology.eu/geoserver/gtk/wfs'
#> Error in curl::curl_fetch_memory(url, handle = handle) :
#> error:1414D172:SSL routines:tls12_check_peer_sigalg:wrong signature type
#> [1] "https://drive.emodnet-geology.eu/geoserver/gtk/wfs"
#> x WFS client creation failed.
#> ℹ Service: 'https://drive.emodnet-geology.eu/geoserver/bgs/wfs'
#> Error in curl::curl_fetch_memory(url, handle = handle) :
#> error:1414D172:SSL routines:tls12_check_peer_sigalg:wrong signature type
#> [1] "https://drive.emodnet-geology.eu/geoserver/bgs/wfs" Created on 2022-03-01 by the reprex package (v2.0.1) |
Until we can use the curl hack via ows4r or the web services are fixed, how about we drop the web services from the package for Linux and open an issue? The other possibility would be to write some sort of workaround for not having to wait for a decision in ows4r but that does not seem like the best use of time. |
We have been in touch with EMODnet Geology. |
I think the simplest and most transparent option would be to just put a note in the README for Linux users, warning of the potential problem and explaining it is an issue with the affected servers. We can point them to the workaround but warn them about the security implications. Then it's really on EMODnet to ensure their servers are following best practice in security protocols which really is where the issue lies. I don't feel there is anything more we can or should do to handle it beyond what you've already done (I.e. notify of the issue). |
@annakrystalli I'll close this PR, could you review the changes I made in #43? |
Looking into the failures in the ubuntu runs on the R-CMD-CHECK workflow. In the end, it's probably not an issue with sf itself but changes in the testing environment when moving to 20.04. The errors during sf install point to it potentially being a problem with configurations arising from multiple versions of proj.
Experimenting with whether the
update
command might be causing multiple copies.The test-services workflow was not in fact failing on
sf
installation which was successful, and the only Linux configuration details I can see between the two setups I can see is that test-services did not include an update step.Instead, test-services was failing on the installation of
ows4r
because of error in installation ofsodium
(see https://github.com/EMODnet/EMODnetWFS/runs/5045539315?check_suite_focus=true#step:6:2764)which leads to a cascade of missing packages affecting
ows4r
https://github.com/EMODnet/EMODnetWFS/runs/5045539315?check_suite_focus=true#step:6:4853Looks like the issue started through adding
keyring
as ageometa
dependency in https://github.com/eblondel/geometa/blob/d22371e78a1367174c4437d7f9915e66cc332346/DESCRIPTION, 12 days ago, which is roughly when the errors started appearing in Test-Services.In any case, I've added
libsodium-dev
as a system dependency for Linux.Will now test to see whether the not updating solves gdal and proj configuration issues. 🤞