{
 "run": {
  "id": 38709509580,
  "created": "2026-10-15T08:58:28Z",
  "conclusion": "failure",
  "url": "https://github.com/hypertidy/gdal-r-ci/actions/runs/38709509580",
  "event": "schedule"
 },
 "cells": [
  {
   "name": "sf (cran) / gdal-r-full:dev",
   "conclusion": "success",
   "url": "https://github.com/hypertidy/gdal-r-ci/actions/runs/38709509580/job/116337167039"
  },
  {
   "name": "terra (github) / gdal-r-full:latest",
   "conclusion": "success",
   "url": "https://github.com/hypertidy/gdal-r-ci/actions/runs/38709509580/job/116337167081"
  },
  {
   "name": "terra (cran) / gdal-r-full:latest",
   "conclusion": "success",
   "url": "https://github.com/hypertidy/gdal-r-ci/actions/runs/38709509580/job/116337167097"
  },
  {
   "name": "sf (github) / gdal-r-full:dev",
   "conclusion": "failure",
   "url": "https://github.com/hypertidy/gdal-r-ci/actions/runs/38709509580/job/116337167129",
   "diagnosis": {
    "reason": "tests: ERROR"
   }
  },
  {
   "name": "gdalraster (github) / gdal-r-full:dev",
   "conclusion": "success",
   "url": "https://github.com/hypertidy/gdal-r-ci/actions/runs/38709509580/job/116337167143"
  },
  {
   "name": "gdalraster (github) / gdal-r-full:latest",
   "conclusion": "success",
   "url": "https://github.com/hypertidy/gdal-r-ci/actions/runs/38709509580/job/116337167152"
  },
  {
   "name": "sf (cran) / gdal-r-full:latest",
   "conclusion": "success",
   "url": "https://github.com/hypertidy/gdal-r-ci/actions/runs/38709509580/job/116337167195"
  },
  {
   "name": "gdalraster (cran) / gdal-r-full:dev",
   "conclusion": "success",
   "url": "https://github.com/hypertidy/gdal-r-ci/actions/runs/38709509580/job/116337167201"
  },
  {
   "name": "gdalcubes (github) / gdal-r-full:dev",
   "conclusion": "success",
   "url": "https://github.com/hypertidy/gdal-r-ci/actions/runs/38709509580/job/116337167204"
  },
  {
   "name": "vapour (cran) / gdal-r-full:dev",
   "conclusion": "success",
   "url": "https://github.com/hypertidy/gdal-r-ci/actions/runs/38709509580/job/116337167218"
  },
  {
   "name": "gdalraster (cran) / gdal-r-full:latest",
   "conclusion": "success",
   "url": "https://github.com/hypertidy/gdal-r-ci/actions/runs/38709509580/job/116337167220"
  },
  {
   "name": "sf (github) / gdal-r-full:latest",
   "conclusion": "failure",
   "url": "https://github.com/hypertidy/gdal-r-ci/actions/runs/38709509580/job/116337167229",
   "diagnosis": {
    "reason": "tests: ERROR"
   }
  },
  {
   "name": "gdalcubes (cran) / gdal-r-full:latest",
   "conclusion": "failure",
   "url": "https://github.com/hypertidy/gdal-r-ci/actions/runs/38709509580/job/116337167232",
   "diagnosis": {
    "reason": "(see job log)"
   }
  },
  {
   "name": "terra (github) / gdal-r-full:dev",
   "conclusion": "success",
   "url": "https://github.com/hypertidy/gdal-r-ci/actions/runs/38709509580/job/116337167291"
  },
  {
   "name": "vapour (github) / gdal-r-full:latest",
   "conclusion": "success",
   "url": "https://github.com/hypertidy/gdal-r-ci/actions/runs/38709509580/job/116337167294"
  },
  {
   "name": "vapour (github) / gdal-r-full:dev",
   "conclusion": "success",
   "url": "https://github.com/hypertidy/gdal-r-ci/actions/runs/38709509580/job/116337167332"
  },
  {
   "name": "terra (cran) / gdal-r-full:dev",
   "conclusion": "success",
   "url": "https://github.com/hypertidy/gdal-r-ci/actions/runs/38709509580/job/116337167334"
  },
  {
   "name": "gdalcubes (github) / gdal-r-full:latest",
   "conclusion": "success",
   "url": "https://github.com/hypertidy/gdal-r-ci/actions/runs/38709509580/job/116337167358"
  },
  {
   "name": "gdalcubes (cran) / gdal-r-full:dev",
   "conclusion": "failure",
   "url": "https://github.com/hypertidy/gdal-r-ci/actions/runs/38709509580/job/116337167410",
   "diagnosis": {
    "reason": "(see job log)"
   }
  },
  {
   "name": "vapour (cran) / gdal-r-full:latest",
   "conclusion": "success",
   "url": "https://github.com/hypertidy/gdal-r-ci/actions/runs/38709509580/job/116337167570"
  }
 ],
 "conda_run": {
  "id": 40600459617,
  "created": "2026-10-27T23:12:06Z",
  "conclusion": "failure",
  "url": "https://github.com/hypertidy/gdal-r-ci/actions/runs/40600459617",
  "event": "workflow_run",
  "cells": [
   {
    "name": "gdalcubes (cran) / gdal-conda:dev",
    "conclusion": "failure",
    "url": "https://github.com/hypertidy/gdal-r-ci/actions/runs/40600459617/job/122527020079",
    "diagnosis": {
     "reason": "(see job log)"
    }
   },
   {
    "name": "terra (cran) / gdal-conda:latest",
    "conclusion": "success",
    "url": "https://github.com/hypertidy/gdal-r-ci/actions/runs/40600459617/job/122527020085"
   },
   {
    "name": "terra (github) / gdal-conda:latest",
    "conclusion": "success",
    "url": "https://github.com/hypertidy/gdal-r-ci/actions/runs/40600459617/job/122527020121"
   },
   {
    "name": "gdalraster (github) / gdal-conda:latest",
    "conclusion": "success",
    "url": "https://github.com/hypertidy/gdal-r-ci/actions/runs/40600459617/job/122527020140"
   },
   {
    "name": "gdalcubes (github) / gdal-conda:dev",
    "conclusion": "success",
    "url": "https://github.com/hypertidy/gdal-r-ci/actions/runs/40600459617/job/122527020149"
   },
   {
    "name": "vapour (github) / gdal-conda:latest",
    "conclusion": "success",
    "url": "https://github.com/hypertidy/gdal-r-ci/actions/runs/40600459617/job/122527020150"
   },
   {
    "name": "gdalraster (github) / gdal-conda:dev",
    "conclusion": "success",
    "url": "https://github.com/hypertidy/gdal-r-ci/actions/runs/40600459617/job/122527020172"
   },
   {
    "name": "vapour (github) / gdal-conda:dev",
    "conclusion": "success",
    "url": "https://github.com/hypertidy/gdal-r-ci/actions/runs/40600459617/job/122527020175"
   },
   {
    "name": "sf (github) / gdal-conda:latest",
    "conclusion": "failure",
    "url": "https://github.com/hypertidy/gdal-r-ci/actions/runs/40600459617/job/122527020186",
    "diagnosis": {
     "reason": "tests: ERROR",
     "snippets": {
      "sf.Rcheck/00check.log": "> 8  0.114     1.442  1825    1825  37009        5  1091     1      10  1364\n> 9  0.114     1.442  1825    1825  37009        5  1091     1      10  1364\n> 10 0.114     1.442  1825    1825  37009        5  1091     1      10  1364\n>    SID79 NWBIR79                   geometry\n> 1      0      19 POINT (-81.65795 36.58003)\n> 2      0      19  POINT (-81.6387 36.58003)\n> 3      0      19 POINT (-81.61945 36.58003)\n> 4      0      19  POINT (-81.6002 36.58003)\n> 5      0      19 POINT (-81.58096 36.58003)\n> 6      0      19 POINT (-81.56171 36.58003)\n> 7      0      19 POINT (-81.54246 36.58003)\n> 8      0      19 POINT (-81.52321 36.58003)\n> 9      0      19 POINT (-81.50396 36.58003)\n> 10     0      19 POINT (-81.48471 36.58003)\n> \n> \n> \n> \n  Running \u2018test-by-element.R\u2019\n  Comparing \u2018test-by-element.Rout\u2019 to \u2018test-by-element.Rout.save\u2019 ... OK\n  Running \u2018testthat.R\u2019\nRunning the tests in \u2018tests/testthat.R\u2019 failed.\nLast 13 lines of output:\n    \"6.0.0\" is not TRUE (1): 'test-crs.R:61:3'\n  \u2022 sf_extSoftVersion()[[\"GDAL\"]] >= \"2.5.0\" is TRUE (1): 'test-gdal.R:46:3'\n  \u2022 sf_extSoftVersion()[[\"proj.4\"]] >= \"6.0.0\" is TRUE (3): 'test-crs.R:44:3',\n    'test-crs.R:49:3', 'test-crs.R:55:3'\n  \u2022 Sys.getenv(\"USER\") == \"edzer\" is not TRUE (3): 'test-gdal.R:55:3',\n    'test-write.R:47:3', 'test-write.R:130:3'\n  \n  \u2550\u2550 Failed tests \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n  \u2500\u2500 Failure ('test-plot.R:35:2'): plot.sf restores the graphics state after a key error \u2500\u2500\n  Expected `plot(nc[\"toy\"], key.pos = 2)` to throw a error.\n  \n  [ FAIL 1 | WARN 4 | SKIP 46 | PASS 767 ]\n  Error:\n  ! Test failures.\n  Execution halted\n* DONE\nStatus: 2 ERRORs, 1 NOTE",
      "sf.Rcheck/tests/testthat.Rout.fail": "Geodetic CRS:  NAD27\nOGR: Unsupported geometry type\nFailed to create feature 1 in x\nFailed to create feature 1 in x\n[ FAIL 1 | WARN 4 | SKIP 46 | PASS 767 ]\n\n\u2550\u2550 Skipped tests (46) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\u2022 {dplyr} is not installed (22): 'test-tidyverse.R:5:3',\n  'test-tidyverse.R:11:3', 'test-tidyverse.R:25:3', 'test-tidyverse.R:33:3',\n  'test-tidyverse.R:55:2', 'test-tidyverse.R:63:3', 'test-tidyverse.R:79:2',\n  'test-tidyverse.R:100:3', 'test-tidyverse.R:114:2', 'test-tidyverse.R:160:2',\n  'test-tidyverse.R:209:5', 'test-tidyverse.R:224:3', 'test-tidyverse.R:249:2',\n  'test-tidyverse.R:260:2', 'test-tidyverse.R:270:2', 'test-tidyverse.R:278:2',\n  'test-tidyverse.R:283:2', 'test-tidyverse.R:288:2', 'test-tidyverse.R:293:2',\n  'test-tidyverse.R:298:2', 'test-tidyverse.R:313:2', 'test-tidyverse.R:343:3'\n\u2022 {lwgeom} is not installed (3): 'test-geos.R:19:5', 'test-geos.R:66:3',\n  'test-sample.R:2:2'\n\u2022 {raster} is not installed (1): 'test-crs.R:107:3'\n\u2022 {RPostgres} is not installed (3): 'test-postgis_ODBC.R:1:1',\n  'test-postgis_RPostgres.R:12:1', 'test-postgis_RPostgreSQL.R:1:1'\n\u2022 empty test (8): 'test-crs.R:66:1', 'test-crs.R:99:1',\n  'test-normalize.R:29:1', 'test-proj.R:1:1', 'test-read.R:7:1',\n  'test-s2.R:19:1', 'test-sf.R:52:1', 'test-tidyverse-vctrs.R:347:1'\n\u2022 On CRAN (1): 'test-gdal.R:101:5'\n\u2022 sf_extSoftVersion()[[\"GDAL\"]] < \"2.5.0\" && sf_extSoftVersion()[[\"proj.4\"]] <\n  \"6.0.0\" is not TRUE (1): 'test-crs.R:61:3'\n\u2022 sf_extSoftVersion()[[\"GDAL\"]] >= \"2.5.0\" is TRUE (1): 'test-gdal.R:46:3'\n\u2022 sf_extSoftVersion()[[\"proj.4\"]] >= \"6.0.0\" is TRUE (3): 'test-crs.R:44:3',\n  'test-crs.R:49:3', 'test-crs.R:55:3'\n\u2022 Sys.getenv(\"USER\") == \"edzer\" is not TRUE (3): 'test-gdal.R:55:3',\n  'test-write.R:47:3', 'test-write.R:130:3'\n\n\u2550\u2550 Failed tests \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\u2500\u2500 Failure ('test-plot.R:35:2'): plot.sf restores the graphics state after a key error \u2500\u2500\nExpected `plot(nc[\"toy\"], key.pos = 2)` to throw a error.\n\n[ FAIL 1 | WARN 4 | SKIP 46 | PASS 767 ]\nError:\n! Test failures.\nExecution halted",
      "sf.Rcheck/sf-Ex.Rout": "1       1   1   NA POINT (1 1)\n2       2   2 12.5 POINT (2 2)\n3       3   3 14.0 POINT (3 3)\n> if (require(dplyr, quietly = TRUE)) {\n+  st_join(a, b) |> group_by(a.x) |> summarise(mean(a.y))\n+ }\n> # example of largest = TRUE:\n> nc <- st_transform(st_read(system.file(\"shape/nc.shp\", package=\"sf\")), 2264)                \nReading layer `nc' from data source \n  `/__w/gdal-r-ci/gdal-r-ci/pkg/sf.Rcheck/sf/shape/nc.shp' using driver `ESRI Shapefile'\nSimple feature collection with 100 features and 14 fields\nGeometry type: MULTIPOLYGON\nDimension:     XY\nBounding box:  xmin: -84.32385 ymin: 33.88199 xmax: -75.45698 ymax: 36.58965\nGeodetic CRS:  NAD27\n> gr = st_sf(\n+     label = apply(expand.grid(1:10, LETTERS[10:1])[,2:1], 1, paste0, collapse = \" \"),\n+     geom = st_make_grid(st_as_sfc(st_bbox(nc))))\n> gr$col = sf.colors(10, categorical = TRUE, alpha = .3)\n> # cut, to check, NA's work out:\n> gr = gr[-(1:30),]\n> nc_j <- st_join(nc, gr, largest = TRUE)\nWarning: attribute variables are assumed to be spatially constant throughout all geometries\n> # the two datasets:\n> opar = par(mfrow = c(2,1), mar = rep(0,4))\n> plot(st_geometry(nc_j))\n> plot(st_geometry(gr), add = TRUE, col = gr$col)\n> text(st_coordinates(st_centroid(gr)), labels = gr$label)\nWarning: st_centroid assumes attributes are constant over geometries\n> # the joined dataset:\n> plot(st_geometry(nc_j), border = 'black', col = nc_j$col)\n> text(st_coordinates(st_centroid(nc_j)), labels = nc_j$label, cex = .8)\nWarning: st_centroid assumes attributes are constant over geometries\n> plot(st_geometry(gr), border = 'green', add = TRUE)\n> par(opar)\n> # st_filter keeps the geometries in x where .predicate(x,y) returns any match in y for x\n> st_filter(a, b)\nError in st_filter.sf(a, b) : dplyr is not installed: install first?\nCalls: st_filter -> st_filter.sf\nExecution halted"
     }
    }
   },
   {
    "name": "gdalcubes (cran) / gdal-conda:latest",
    "conclusion": "failure",
    "url": "https://github.com/hypertidy/gdal-r-ci/actions/runs/40600459617/job/122527020187",
    "diagnosis": {
     "reason": "(see job log)"
    }
   },
   {
    "name": "terra (cran) / gdal-conda:dev",
    "conclusion": "success",
    "url": "https://github.com/hypertidy/gdal-r-ci/actions/runs/40600459617/job/122527020189"
   },
   {
    "name": "terra (github) / gdal-conda:dev",
    "conclusion": "success",
    "url": "https://github.com/hypertidy/gdal-r-ci/actions/runs/40600459617/job/122527020190"
   },
   {
    "name": "gdalraster (cran) / gdal-conda:dev",
    "conclusion": "success",
    "url": "https://github.com/hypertidy/gdal-r-ci/actions/runs/40600459617/job/122527020196"
   },
   {
    "name": "sf (cran) / gdal-conda:latest",
    "conclusion": "failure",
    "url": "https://github.com/hypertidy/gdal-r-ci/actions/runs/40600459617/job/122527020197",
    "diagnosis": {
     "reason": "examples: ERROR",
     "snippets": {
      "sf.Rcheck/00check.log": "> Geometry type: POINT\n> Dimension:     XY\n> Bounding box:  xmin: -84.31423 ymin: 33.88525 xmax: -75.45997 ymax: 36.58003\n> Geodetic CRS:  NAD27\n> First 10 features:\n>     AREA PERIMETER CNTY_ CNTY_ID FIPSNO CRESS_ID BIR74 SID74 NWBIR74 BIR79\n> 1  0.114     1.442  1825    1825  37009        5  1091     1      10  1364\n> 2  0.114     1.442  1825    1825  37009        5  1091     1      10  1364\n> 3  0.114     1.442  1825    1825  37009        5  1091     1      10  1364\n> 4  0.114     1.442  1825    1825  37009        5  1091     1      10  1364\n> 5  0.114     1.442  1825    1825  37009        5  1091     1      10  1364\n> 6  0.114     1.442  1825    1825  37009        5  1091     1      10  1364\n> 7  0.114     1.442  1825    1825  37009        5  1091     1      10  1364\n> 8  0.114     1.442  1825    1825  37009        5  1091     1      10  1364\n> 9  0.114     1.442  1825    1825  37009        5  1091     1      10  1364\n> 10 0.114     1.442  1825    1825  37009        5  1091     1      10  1364\n>    SID79 NWBIR79                   geometry\n> 1      0      19 POINT (-81.65795 36.58003)\n> 2      0      19  POINT (-81.6387 36.58003)\n> 3      0      19 POINT (-81.61945 36.58003)\n> 4      0      19  POINT (-81.6002 36.58003)\n> 5      0      19 POINT (-81.58096 36.58003)\n> 6      0      19 POINT (-81.56171 36.58003)\n> 7      0      19 POINT (-81.54246 36.58003)\n> 8      0      19 POINT (-81.52321 36.58003)\n> 9      0      19 POINT (-81.50396 36.58003)\n> 10     0      19 POINT (-81.48471 36.58003)\n> \n> \n> \n> \n  Running \u2018test-by-element.R\u2019\n  Comparing \u2018test-by-element.Rout\u2019 to \u2018test-by-element.Rout.save\u2019 ... OK\n  Running \u2018testthat.R\u2019\n  Running \u2018units.R\u2019\n  Comparing \u2018units.Rout\u2019 to \u2018units.Rout.save\u2019 ... OK\n  Running \u2018wkb.R\u2019\n  Comparing \u2018wkb.Rout\u2019 to \u2018wkb.Rout.save\u2019 ... OK\n* DONE\nStatus: 1 ERROR, 2 NOTEs",
      "sf.Rcheck/sf-Ex.Rout": "1       1   1   NA POINT (1 1)\n2       2   2 12.5 POINT (2 2)\n3       3   3 14.0 POINT (3 3)\n> if (require(dplyr, quietly = TRUE)) {\n+  st_join(a, b) |> group_by(a.x) |> summarise(mean(a.y))\n+ }\n> # example of largest = TRUE:\n> nc <- st_transform(st_read(system.file(\"shape/nc.shp\", package=\"sf\")), 2264)                \nReading layer `nc' from data source \n  `/__w/gdal-r-ci/gdal-r-ci/pkg/sf.Rcheck/sf/shape/nc.shp' using driver `ESRI Shapefile'\nSimple feature collection with 100 features and 14 fields\nGeometry type: MULTIPOLYGON\nDimension:     XY\nBounding box:  xmin: -84.32385 ymin: 33.88199 xmax: -75.45698 ymax: 36.58965\nGeodetic CRS:  NAD27\n> gr = st_sf(\n+     label = apply(expand.grid(1:10, LETTERS[10:1])[,2:1], 1, paste0, collapse = \" \"),\n+     geom = st_make_grid(st_as_sfc(st_bbox(nc))))\n> gr$col = sf.colors(10, categorical = TRUE, alpha = .3)\n> # cut, to check, NA's work out:\n> gr = gr[-(1:30),]\n> nc_j <- st_join(nc, gr, largest = TRUE)\nWarning: attribute variables are assumed to be spatially constant throughout all geometries\n> # the two datasets:\n> opar = par(mfrow = c(2,1), mar = rep(0,4))\n> plot(st_geometry(nc_j))\n> plot(st_geometry(gr), add = TRUE, col = gr$col)\n> text(st_coordinates(st_centroid(gr)), labels = gr$label)\nWarning: st_centroid assumes attributes are constant over geometries\n> # the joined dataset:\n> plot(st_geometry(nc_j), border = 'black', col = nc_j$col)\n> text(st_coordinates(st_centroid(nc_j)), labels = nc_j$label, cex = .8)\nWarning: st_centroid assumes attributes are constant over geometries\n> plot(st_geometry(gr), border = 'green', add = TRUE)\n> par(opar)\n> # st_filter keeps the geometries in x where .predicate(x,y) returns any match in y for x\n> st_filter(a, b)\nError in st_filter.sf(a, b) : dplyr is not installed: install first?\nCalls: st_filter -> st_filter.sf\nExecution halted"
     }
    }
   },
   {
    "name": "sf (github) / gdal-conda:dev",
    "conclusion": "failure",
    "url": "https://github.com/hypertidy/gdal-r-ci/actions/runs/40600459617/job/122527020203",
    "diagnosis": {
     "reason": "tests: ERROR",
     "snippets": {
      "sf.Rcheck/00check.log": "> 8  0.114     1.442  1825    1825  37009        5  1091     1      10  1364\n> 9  0.114     1.442  1825    1825  37009        5  1091     1      10  1364\n> 10 0.114     1.442  1825    1825  37009        5  1091     1      10  1364\n>    SID79 NWBIR79                   geometry\n> 1      0      19 POINT (-81.65795 36.58003)\n> 2      0      19  POINT (-81.6387 36.58003)\n> 3      0      19 POINT (-81.61945 36.58003)\n> 4      0      19  POINT (-81.6002 36.58003)\n> 5      0      19 POINT (-81.58096 36.58003)\n> 6      0      19 POINT (-81.56171 36.58003)\n> 7      0      19 POINT (-81.54246 36.58003)\n> 8      0      19 POINT (-81.52321 36.58003)\n> 9      0      19 POINT (-81.50396 36.58003)\n> 10     0      19 POINT (-81.48471 36.58003)\n> \n> \n> \n> \n  Running \u2018test-by-element.R\u2019\n  Comparing \u2018test-by-element.Rout\u2019 to \u2018test-by-element.Rout.save\u2019 ... OK\n  Running \u2018testthat.R\u2019\nRunning the tests in \u2018tests/testthat.R\u2019 failed.\nLast 13 lines of output:\n    'test-crs.R:49:3', 'test-crs.R:55:3'\n  \u2022 Sys.getenv(\"USER\") == \"edzer\" is not TRUE (3): 'test-gdal.R:55:3',\n    'test-write.R:47:3', 'test-write.R:130:3'\n  \n  \u2550\u2550 Failed tests \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n  \u2500\u2500 Failure ('test-plot.R:35:2'): plot.sf restores the graphics state after a key error \u2500\u2500\n  Expected `plot(nc[\"toy\"], key.pos = 2)` to throw a error.\n  \u2500\u2500 Failure ('test-write.R:20:9'): sf can write to all writable formats \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n  Expected `st_write(meuse, paste0(tf, \".\", ext), quiet = TRUE)` to run silently.\n  Actual noise: warnings.\n  \n  [ FAIL 2 | WARN 4 | SKIP 46 | PASS 766 ]\n  Error:\n  ! Test failures.\n  Execution halted\n* DONE\nStatus: 2 ERRORs, 1 NOTE",
      "sf.Rcheck/tests/testthat.Rout.fail": "Failed to create feature 1 in x\n[ FAIL 2 | WARN 4 | SKIP 46 | PASS 766 ]\n\n\u2550\u2550 Skipped tests (46) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\u2022 {dplyr} is not installed (22): 'test-tidyverse.R:5:3',\n  'test-tidyverse.R:11:3', 'test-tidyverse.R:25:3', 'test-tidyverse.R:33:3',\n  'test-tidyverse.R:55:2', 'test-tidyverse.R:63:3', 'test-tidyverse.R:79:2',\n  'test-tidyverse.R:100:3', 'test-tidyverse.R:114:2', 'test-tidyverse.R:160:2',\n  'test-tidyverse.R:209:5', 'test-tidyverse.R:224:3', 'test-tidyverse.R:249:2',\n  'test-tidyverse.R:260:2', 'test-tidyverse.R:270:2', 'test-tidyverse.R:278:2',\n  'test-tidyverse.R:283:2', 'test-tidyverse.R:288:2', 'test-tidyverse.R:293:2',\n  'test-tidyverse.R:298:2', 'test-tidyverse.R:313:2', 'test-tidyverse.R:343:3'\n\u2022 {lwgeom} is not installed (3): 'test-geos.R:19:5', 'test-geos.R:66:3',\n  'test-sample.R:2:2'\n\u2022 {raster} is not installed (1): 'test-crs.R:107:3'\n\u2022 {RPostgres} is not installed (3): 'test-postgis_ODBC.R:1:1',\n  'test-postgis_RPostgres.R:12:1', 'test-postgis_RPostgreSQL.R:1:1'\n\u2022 empty test (8): 'test-crs.R:66:1', 'test-crs.R:99:1',\n  'test-normalize.R:29:1', 'test-proj.R:1:1', 'test-read.R:7:1',\n  'test-s2.R:19:1', 'test-sf.R:52:1', 'test-tidyverse-vctrs.R:347:1'\n\u2022 On CRAN (1): 'test-gdal.R:101:5'\n\u2022 sf_extSoftVersion()[[\"GDAL\"]] < \"2.5.0\" && sf_extSoftVersion()[[\"proj.4\"]] <\n  \"6.0.0\" is not TRUE (1): 'test-crs.R:61:3'\n\u2022 sf_extSoftVersion()[[\"GDAL\"]] >= \"2.5.0\" is TRUE (1): 'test-gdal.R:46:3'\n\u2022 sf_extSoftVersion()[[\"proj.4\"]] >= \"6.0.0\" is TRUE (3): 'test-crs.R:44:3',\n  'test-crs.R:49:3', 'test-crs.R:55:3'\n\u2022 Sys.getenv(\"USER\") == \"edzer\" is not TRUE (3): 'test-gdal.R:55:3',\n  'test-write.R:47:3', 'test-write.R:130:3'\n\n\u2550\u2550 Failed tests \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\u2500\u2500 Failure ('test-plot.R:35:2'): plot.sf restores the graphics state after a key error \u2500\u2500\nExpected `plot(nc[\"toy\"], key.pos = 2)` to throw a error.\n\u2500\u2500 Failure ('test-write.R:20:9'): sf can write to all writable formats \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\nExpected `st_write(meuse, paste0(tf, \".\", ext), quiet = TRUE)` to run silently.\nActual noise: warnings.\n\n[ FAIL 2 | WARN 4 | SKIP 46 | PASS 766 ]\nError:\n! Test failures.\nExecution halted",
      "sf.Rcheck/sf-Ex.Rout": "1       1   1   NA POINT (1 1)\n2       2   2 12.5 POINT (2 2)\n3       3   3 14.0 POINT (3 3)\n> if (require(dplyr, quietly = TRUE)) {\n+  st_join(a, b) |> group_by(a.x) |> summarise(mean(a.y))\n+ }\n> # example of largest = TRUE:\n> nc <- st_transform(st_read(system.file(\"shape/nc.shp\", package=\"sf\")), 2264)                \nReading layer `nc' from data source \n  `/__w/gdal-r-ci/gdal-r-ci/pkg/sf.Rcheck/sf/shape/nc.shp' using driver `ESRI Shapefile'\nSimple feature collection with 100 features and 14 fields\nGeometry type: MULTIPOLYGON\nDimension:     XY\nBounding box:  xmin: -84.32385 ymin: 33.88199 xmax: -75.45698 ymax: 36.58965\nGeodetic CRS:  NAD27\n> gr = st_sf(\n+     label = apply(expand.grid(1:10, LETTERS[10:1])[,2:1], 1, paste0, collapse = \" \"),\n+     geom = st_make_grid(st_as_sfc(st_bbox(nc))))\n> gr$col = sf.colors(10, categorical = TRUE, alpha = .3)\n> # cut, to check, NA's work out:\n> gr = gr[-(1:30),]\n> nc_j <- st_join(nc, gr, largest = TRUE)\nWarning: attribute variables are assumed to be spatially constant throughout all geometries\n> # the two datasets:\n> opar = par(mfrow = c(2,1), mar = rep(0,4))\n> plot(st_geometry(nc_j))\n> plot(st_geometry(gr), add = TRUE, col = gr$col)\n> text(st_coordinates(st_centroid(gr)), labels = gr$label)\nWarning: st_centroid assumes attributes are constant over geometries\n> # the joined dataset:\n> plot(st_geometry(nc_j), border = 'black', col = nc_j$col)\n> text(st_coordinates(st_centroid(nc_j)), labels = nc_j$label, cex = .8)\nWarning: st_centroid assumes attributes are constant over geometries\n> plot(st_geometry(gr), border = 'green', add = TRUE)\n> par(opar)\n> # st_filter keeps the geometries in x where .predicate(x,y) returns any match in y for x\n> st_filter(a, b)\nError in st_filter.sf(a, b) : dplyr is not installed: install first?\nCalls: st_filter -> st_filter.sf\nExecution halted"
     }
    }
   },
   {
    "name": "vapour (cran) / gdal-conda:dev",
    "conclusion": "success",
    "url": "https://github.com/hypertidy/gdal-r-ci/actions/runs/40600459617/job/122527020204"
   },
   {
    "name": "gdalraster (cran) / gdal-conda:latest",
    "conclusion": "success",
    "url": "https://github.com/hypertidy/gdal-r-ci/actions/runs/40600459617/job/122527020211"
   },
   {
    "name": "sf (cran) / gdal-conda:dev",
    "conclusion": "failure",
    "url": "https://github.com/hypertidy/gdal-r-ci/actions/runs/40600459617/job/122527020247",
    "diagnosis": {
     "reason": "tests: ERROR",
     "snippets": {
      "sf.Rcheck/00check.log": "> 8  0.114     1.442  1825    1825  37009        5  1091     1      10  1364\n> 9  0.114     1.442  1825    1825  37009        5  1091     1      10  1364\n> 10 0.114     1.442  1825    1825  37009        5  1091     1      10  1364\n>    SID79 NWBIR79                   geometry\n> 1      0      19 POINT (-81.65795 36.58003)\n> 2      0      19  POINT (-81.6387 36.58003)\n> 3      0      19 POINT (-81.61945 36.58003)\n> 4      0      19  POINT (-81.6002 36.58003)\n> 5      0      19 POINT (-81.58096 36.58003)\n> 6      0      19 POINT (-81.56171 36.58003)\n> 7      0      19 POINT (-81.54246 36.58003)\n> 8      0      19 POINT (-81.52321 36.58003)\n> 9      0      19 POINT (-81.50396 36.58003)\n> 10     0      19 POINT (-81.48471 36.58003)\n> \n> \n> \n> \n  Running \u2018test-by-element.R\u2019\n  Comparing \u2018test-by-element.Rout\u2019 to \u2018test-by-element.Rout.save\u2019 ... OK\n  Running \u2018testthat.R\u2019\nRunning the tests in \u2018tests/testthat.R\u2019 failed.\nLast 13 lines of output:\n  \u2022 sf_extSoftVersion()[[\"GDAL\"]] >= \"2.5.0\" is TRUE (1): 'test-gdal.R:46:3'\n  \u2022 sf_extSoftVersion()[[\"proj.4\"]] >= \"6.0.0\" is TRUE (3): 'test-crs.R:44:3',\n    'test-crs.R:49:3', 'test-crs.R:55:3'\n  \u2022 Sys.getenv(\"USER\") == \"edzer\" is not TRUE (3): 'test-gdal.R:55:3',\n    'test-write.R:47:3', 'test-write.R:130:3'\n  \n  \u2550\u2550 Failed tests \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n  \u2500\u2500 Failure ('test-write.R:20:9'): sf can write to all writable formats \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n  Expected `st_write(meuse, paste0(tf, \".\", ext), quiet = TRUE)` to run silently.\n  Actual noise: warnings.\n  \n  [ FAIL 1 | WARN 4 | SKIP 46 | PASS 761 ]\n  Error:\n  ! Test failures.\n  Execution halted\n* DONE\nStatus: 2 ERRORs, 1 NOTE",
      "sf.Rcheck/tests/testthat.Rout.fail": "Saving _problems/test-write-20.R\nFailed to create feature 1 in x\nFailed to create feature 1 in x\n[ FAIL 1 | WARN 4 | SKIP 46 | PASS 761 ]\n\n\u2550\u2550 Skipped tests (46) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\u2022 {dplyr} is not installed (22): 'test-tidyverse.R:5:3',\n  'test-tidyverse.R:11:3', 'test-tidyverse.R:25:3', 'test-tidyverse.R:33:3',\n  'test-tidyverse.R:55:2', 'test-tidyverse.R:63:3', 'test-tidyverse.R:79:2',\n  'test-tidyverse.R:100:3', 'test-tidyverse.R:114:2', 'test-tidyverse.R:160:2',\n  'test-tidyverse.R:209:5', 'test-tidyverse.R:224:3', 'test-tidyverse.R:249:2',\n  'test-tidyverse.R:260:2', 'test-tidyverse.R:270:2', 'test-tidyverse.R:278:2',\n  'test-tidyverse.R:283:2', 'test-tidyverse.R:288:2', 'test-tidyverse.R:293:2',\n  'test-tidyverse.R:298:2', 'test-tidyverse.R:313:2', 'test-tidyverse.R:343:3'\n\u2022 {lwgeom} is not installed (3): 'test-geos.R:19:5', 'test-geos.R:66:3',\n  'test-sample.R:2:2'\n\u2022 {raster} is not installed (1): 'test-crs.R:107:3'\n\u2022 {RPostgres} is not installed (3): 'test-postgis_ODBC.R:1:1',\n  'test-postgis_RPostgres.R:12:1', 'test-postgis_RPostgreSQL.R:1:1'\n\u2022 empty test (8): 'test-crs.R:66:1', 'test-crs.R:99:1',\n  'test-normalize.R:29:1', 'test-proj.R:1:1', 'test-read.R:7:1',\n  'test-s2.R:20:1', 'test-sf.R:52:1', 'test-tidyverse-vctrs.R:347:1'\n\u2022 On CRAN (1): 'test-gdal.R:101:5'\n\u2022 sf_extSoftVersion()[[\"GDAL\"]] < \"2.5.0\" && sf_extSoftVersion()[[\"proj.4\"]] <\n  \"6.0.0\" is not TRUE (1): 'test-crs.R:61:3'\n\u2022 sf_extSoftVersion()[[\"GDAL\"]] >= \"2.5.0\" is TRUE (1): 'test-gdal.R:46:3'\n\u2022 sf_extSoftVersion()[[\"proj.4\"]] >= \"6.0.0\" is TRUE (3): 'test-crs.R:44:3',\n  'test-crs.R:49:3', 'test-crs.R:55:3'\n\u2022 Sys.getenv(\"USER\") == \"edzer\" is not TRUE (3): 'test-gdal.R:55:3',\n  'test-write.R:47:3', 'test-write.R:130:3'\n\n\u2550\u2550 Failed tests \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\u2500\u2500 Failure ('test-write.R:20:9'): sf can write to all writable formats \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\nExpected `st_write(meuse, paste0(tf, \".\", ext), quiet = TRUE)` to run silently.\nActual noise: warnings.\n\n[ FAIL 1 | WARN 4 | SKIP 46 | PASS 761 ]\nError:\n! Test failures.\nExecution halted",
      "sf.Rcheck/sf-Ex.Rout": "1       1   1   NA POINT (1 1)\n2       2   2 12.5 POINT (2 2)\n3       3   3 14.0 POINT (3 3)\n> if (require(dplyr, quietly = TRUE)) {\n+  st_join(a, b) |> group_by(a.x) |> summarise(mean(a.y))\n+ }\n> # example of largest = TRUE:\n> nc <- st_transform(st_read(system.file(\"shape/nc.shp\", package=\"sf\")), 2264)                \nReading layer `nc' from data source \n  `/__w/gdal-r-ci/gdal-r-ci/pkg/sf.Rcheck/sf/shape/nc.shp' using driver `ESRI Shapefile'\nSimple feature collection with 100 features and 14 fields\nGeometry type: MULTIPOLYGON\nDimension:     XY\nBounding box:  xmin: -84.32385 ymin: 33.88199 xmax: -75.45698 ymax: 36.58965\nGeodetic CRS:  NAD27\n> gr = st_sf(\n+     label = apply(expand.grid(1:10, LETTERS[10:1])[,2:1], 1, paste0, collapse = \" \"),\n+     geom = st_make_grid(st_as_sfc(st_bbox(nc))))\n> gr$col = sf.colors(10, categorical = TRUE, alpha = .3)\n> # cut, to check, NA's work out:\n> gr = gr[-(1:30),]\n> nc_j <- st_join(nc, gr, largest = TRUE)\nWarning: attribute variables are assumed to be spatially constant throughout all geometries\n> # the two datasets:\n> opar = par(mfrow = c(2,1), mar = rep(0,4))\n> plot(st_geometry(nc_j))\n> plot(st_geometry(gr), add = TRUE, col = gr$col)\n> text(st_coordinates(st_centroid(gr)), labels = gr$label)\nWarning: st_centroid assumes attributes are constant over geometries\n> # the joined dataset:\n> plot(st_geometry(nc_j), border = 'black', col = nc_j$col)\n> text(st_coordinates(st_centroid(nc_j)), labels = nc_j$label, cex = .8)\nWarning: st_centroid assumes attributes are constant over geometries\n> plot(st_geometry(gr), border = 'green', add = TRUE)\n> par(opar)\n> # st_filter keeps the geometries in x where .predicate(x,y) returns any match in y for x\n> st_filter(a, b)\nError in st_filter.sf(a, b) : dplyr is not installed: install first?\nCalls: st_filter -> st_filter.sf\nExecution halted"
     }
    }
   },
   {
    "name": "vapour (cran) / gdal-conda:latest",
    "conclusion": "success",
    "url": "https://github.com/hypertidy/gdal-r-ci/actions/runs/40600459617/job/122527020258"
   },
   {
    "name": "gdalcubes (github) / gdal-conda:latest",
    "conclusion": "success",
    "url": "https://github.com/hypertidy/gdal-r-ci/actions/runs/40600459617/job/122527020360"
   }
  ]
 }
}