Skip to content

Add rotation examples for transform #1526

Add rotation examples for transform

Add rotation examples for transform #1526

Triggered via pull request April 3, 2026 10:27
Status Failure
Total duration 22m 42s
Artifacts

CI.yml

on: pull_request
Matrix: test
Fit to window
Zoom out
Zoom in

Annotations

1 error and 17 warnings
Documentation
Process completed with exit code 1.
Julia 1.11 - ubuntu-latest - x64 - pull_request
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: julia-actions/setup-julia@v2. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
Julia nightly - ubuntu-latest - x64 - pull_request
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: julia-actions/setup-julia@v2. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
Doctests
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: julia-actions/setup-julia@v2. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
Julia 1 - macos-latest - arm64 - pull_request
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: julia-actions/setup-julia@v2. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
Julia 1 - ubuntu-latest - x64 - pull_request
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: julia-actions/setup-julia@v2. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
Documentation
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: julia-actions/setup-julia@v2. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
Documentation: ../../../.julia/packages/Documenter/AXNMp/src/utilities/utilities.jl#L49
failed to run `@example` block in docs/src/source/utils/UnitSpherical/cap.md:37-44 ```@example sphericalcap using GeometryOps using GeoInterface # Create a spherical cap from a point and radius point = UnitSphericalPoint(1.0, 0.0, 0.0) # Point on the unit sphere cap = SphericalCap(point, 0.5) # Cap with radius 0.5 radians ``` exception = UndefVarError: `UnitSphericalPoint` not defined in `Main.__atexample__named__sphericalcap` Suggestion: check for spelling errors or missing imports. Stacktrace: [1] top-level scope @ cap.md:42 [2] eval(m::Module, e::Any) @ Core ./boot.jl:489 [3] #61 @ ~/.julia/packages/Documenter/AXNMp/src/expander_pipeline.jl:879 [inlined] [4] cd(f::Documenter.var"#61#62"{Module, Expr}, dir::String) @ Base.Filesystem ./file.jl:112 [5] (::Documenter.var"#59#60"{Documenter.Page, Module, Expr})() @ Documenter ~/.julia/packages/Documenter/AXNMp/src/expander_pipeline.jl:878 [6] (::IOCapture.var"#12#13"{Type{InterruptException}, Documenter.var"#59#60"{Documenter.Page, Module, Expr}, IOContext{Base.PipeEndpoint}, IOContext{Base.PipeEndpoint}, IOContext{Base.PipeEndpoint}, IOContext{Base.PipeEndpoint}})() @ IOCapture ~/.julia/packages/IOCapture/MR051/src/IOCapture.jl:170 [7] with_logstate(f::IOCapture.var"#12#13"{Type{InterruptException}, Documenter.var"#59#60"{Documenter.Page, Module, Expr}, IOContext{Base.PipeEndpoint}, IOContext{Base.PipeEndpoint}, IOContext{Base.PipeEndpoint}, IOContext{Base.PipeEndpoint}}, logstate::Base.CoreLogging.LogState) @ Base.CoreLogging ./logging/logging.jl:542 [8] with_logger(f::Function, logger::Base.CoreLogging.ConsoleLogger) @ Base.CoreLogging ./logging/logging.jl:653 [9] capture(f::Documenter.var"#59#60"{Documenter.Page, Module, Expr}; rethrow::Type, color::Bool, passthrough::Bool, capture_buffer::IOBuffer, io_context::Vector{Any}) @ IOCapture ~/.julia/packages/IOCapture/MR051/src/IOCapture.jl:167 [10] runner(::Type{Documenter.Expanders.ExampleBlocks}, node::MarkdownAST.Node{Nothing}, page::Documenter.Page, doc::Documenter.Document) @ Documenter ~/.julia/packages/Documenter/AXNMp/src/expander_pipeline.jl:877
Documentation: ../../../.julia/packages/Documenter/AXNMp/src/utilities/utilities.jl#L49
undefined binding 'GeometryOps.circumcenter_on_unit_sphere' in `@docs` block in docs/src/source/utils/UnitSpherical/cap.md:14-17 ```@docs; canonical=false SphericalCap circumcenter_on_unit_sphere ```
Documentation: ../../../.julia/packages/Documenter/AXNMp/src/utilities/utilities.jl#L49
undefined binding 'GeometryOps.depth_first_search' in `@docs` block in docs/src/source/utils/SpatialTreeInterface/depth_first_search.md:2-4 ```@docs; canonical=false depth_first_search ```
Documentation: ../../../.julia/packages/Documenter/AXNMp/src/utilities/utilities.jl#L49
failed to run `@example` block in docs/src/source/transformations/smooth.md:33-46 ```@example smooth using CairoMakie import GeoInterface as GI, GeometryOps as GO line = GI.LineString([(0.0, 0.0), (1.0, 1.0), (2.0, 0.0)]) smoothed = GO.smooth(GO.Spherical(), line) |> x -> GO.transform(GO.UnitSpherical.GeographicFromUnitSpherical(), x) smoothed_2 = GO.smooth(GO.Spherical(), line; iterations=2) |> x -> GO.transform(GO.UnitSpherical.GeographicFromUnitSpherical(), x) f, a, p = lines(line; label = "Original", axis = (; title = "Spherical smoothing")) lines!(a, smoothed; label = "1 iteration") lines!(a, smoothed_2; label = "2 iterations") axislegend(a) f ``` exception = UndefVarError: `GeographicFromUnitSpherical` not defined in `GeometryOps.UnitSpherical` Suggestion: check for spelling errors or missing imports. Stacktrace: [1] getproperty @ ./Base_compiler.jl:47 [inlined] [2] (::Main.__atexample__named__smooth.var"#2#3")(x::GeoInterface.Wrappers.LineString{true, false, Vector{GeometryOps.UnitSpherical.UnitSphericalPoint{Float64}}, Nothing, Nothing}) @ Main.__atexample__named__smooth ./smooth.md:38 [3] |>(x::GeoInterface.Wrappers.LineString{true, false, Vector{GeometryOps.UnitSpherical.UnitSphericalPoint{Float64}}, Nothing, Nothing}, f::Main.__atexample__named__smooth.var"#2#3") @ Base ./operators.jl:972 [4] top-level scope @ smooth.md:38 [5] eval(m::Module, e::Any) @ Core ./boot.jl:489 [6] #61 @ ~/.julia/packages/Documenter/AXNMp/src/expander_pipeline.jl:879 [inlined] [7] cd(f::Documenter.var"#61#62"{Module, Expr}, dir::String) @ Base.Filesystem ./file.jl:112 [8] (::Documenter.var"#59#60"{Documenter.Page, Module, Expr})() @ Documenter ~/.julia/packages/Documenter/AXNMp/src/expander_pipeline.jl:878 [9] (::IOCapture.var"#12#13"{Type{InterruptException}, Documenter.var"#59#60"{Documenter.Page, Module, Expr}, IOContext{Base.PipeEndpoint}, IOContext{Base.PipeEndpoint}, IOContext{Base.PipeEndpoint}, IOContext{Base.PipeEndpoint}})() @ IOCapture ~/.julia/packages/IOCapture/MR051/src/IOCapture.jl:170 [10] with_logstate(f::IOCapture.var"#12#13"{Type{InterruptException}, Documenter.var"#59#60"{Documenter.Page, Module, Expr}, IOContext{Base.PipeEndpoint}, IOContext{Base.PipeEndpoint}, IOContext{Base.PipeEndpoint}, IOContext{Base.PipeEndpoint}}, logstate::Base.CoreLogging.LogState) @ Base.CoreLogging ./logging/logging.jl:542 [11] with_logger(f::Function, logger::Base.CoreLogging.ConsoleLogger) @ Base.CoreLogging ./logging/logging.jl:653 [12] capture(f::Documenter.var"#59#60"{Documenter.Page, Module, Expr}; rethrow::Type, color::Bool, passthrough::Bool, capture_buffer::IOBuffer, io_context::Vector{Any}) @ IOCapture ~/.julia/packages/IOCapture/MR051/src/IOCapture.jl:167 [13] runner(::Type{Documenter.Expanders.ExampleBlocks}, node::MarkdownAST.Node{Nothing}, page::Documenter.Page, doc::Documenter.Document) @ Documenter ~/.julia/packages/Documenter/AXNMp/src/expander_pipeline.jl:877
Documentation: ../../../.julia/packages/Documenter/AXNMp/src/utilities/utilities.jl#L49
failed to run `@example` block in docs/src/source/transformations/segmentize.md:85-115 ```@example benchmark # These are initial distances, which yield similar numbers of points # in the final geometry. init_lin = 0.01 init_geo = 900 # LibGEOS.jl doesn't offer this function, so we just wrap it ourselves! function densify(obj::LG.Geometry, tol::Real, context::LG.GEOSContext = LG.get_context(obj)) result = LG.GEOSDensify_r(context, obj, tol) if result == C_NULL error("LibGEOS: Error in GEOSDensify") end LG.geomFromGEOS(result, context) end # now, we get to the actual benchmarking: for scalefactor in exp10.(LinRange(log10(0.1), log10(10), 5)) lin_dist = init_lin * scalefactor geo_dist = init_geo * scalefactor npoints_linear = GI.npoint(GO.segmentize(rectangle; max_distance = lin_dist)) npoints_geodesic = GI.npoint(GO.segmentize(GO.Geodesic(), rectangle; max_distance = geo_dist)) npoints_libgeos = GI.npoint(densify(lg_rectangle, lin_dist)) segmentize_suite["Linear"][npoints_linear] = @be GO.segmentize($(GO.Planar()), $rectangle; max_distance = $lin_dist) seconds=1 segmentize_suite["Geodesic"][npoints_geodesic] = @be GO.segmentize($(GO.Geodesic()), $rectangle; max_distance = $geo_dist) seconds=1 segmentize_suite["LibGEOS"][npoints_libgeos] = @be densify($lg_rectangle, $lin_dist) seconds=1 end plot_trials(segmentize_suite) ``` exception = Cannot attach input with name alpha - already exists! Stacktrace: [1] error(s::String) @ Base ./error.jl:44 [2] _add_input!(func::Function, attr::ComputePipeline.ComputeGraph, key::Symbol, value::Float64) @ ComputePipeline ~/.julia/packages/ComputePipeline/30b0T/src/ComputePipeline.jl:717 [3] setproperty!(plot::Lines{Tuple{Vector{Point{2, Float64}}}}, key::Symbol, val::Float64) @ Makie ~/.julia/packages/Makie/kJl0u/src/compute-plots.jl:86 [4] _broadcast_getindex_evalf @ ./broadcast.jl:699 [inlined] [5] _broadcast_getindex @ ./broadcast.jl:672 [inlined] [6] _getindex @ ./broadcast.jl:620 [inlined] [7] getindex @ ./broadcast.jl:616 [inlined] [8] copy(bc::Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1}, Tuple{Base.OneTo{Int64}}, typeof(setproperty!), Tuple{Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1}, Nothing, typeof(getindex), Tuple{Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1}, Nothing, typeof(getproperty), Tuple{Vector{ScatterLines{Tuple{Vector{Point{2, Float64}}}}}, Base.RefValue{Symbol}}}, Int64}}, Base.RefValue{Symbol}, Float64}}) @ Base.Broadcast ./broadcast.jl:933 [9] materialize @ ./broadcast.jl:894 [inlined] [10] (::var"#5#6"{Makie.Automatic, Symbol, Float64, Float64, @NamedTuple{}, GridPosition, GridPosition, Attributes, Vector{Any}, Vector{Any}, Vector{Any}})() @ Main ~/work/GeometryOps.jl/GeometryOps.jl/benchmarks/benchmark_plots.jl:115 [11] (::Makie.var"#1075#1076"{@kwargs{}, var"#5#6"{Makie.Automatic, Symbol, Float64, Float64, @NamedTuple{}, GridPosition, GridPosition, Attributes, Vector{Any}, Vector{Any}, Vector{Any}}, Attributes})() @ Makie ~/.julia/packages/Makie/kJl0u/src/theming.jl:240 [12] lock(f::Makie.var"#1075#1076"{@kwargs{}, var"#5#6"{Makie.Automatic, Symbol, Float64, Float64, @NamedTuple{}, GridPosition, GridPosition, Attributes, Vector{Any}, Vector{Any}, Vector{Any}}, Attributes}, l::ReentrantLock) @ Base ./lock.jl:335 [13] #with_theme#1073 @ ~/.julia/packages/Makie/kJl0u/src/theming.jl:236 [inlined] [14] with_theme @ ~/.julia/packages/Makie/kJl0u/src/theming.jl:235 [inlined] [15] plot_trials(gp::GridPosition, results::BenchmarkGroup; theme::Attributes, legend_position::Makie.Automatic, legend_orientation::Symbol, legend_halign::Float64, legend_valign::Float64, legend_kws::@NamedTuple{}) @ Main ~/work/GeometryOps.jl/GeometryOps.jl/benchmarks/benchmark_plots.jl:104 [16] plot_trials @ ~/work/GeometryOps.jl/GeometryOps.jl/benchmarks/benc
Documentation: ../../../.julia/packages/Documenter/AXNMp/src/utilities/utilities.jl#L49
duplicate docs found for 'applyreduce' in `@docs` block in docs/src/source/src/applyreduce.md:2-4 ```@docs applyreduce ```
Documentation: ../../../.julia/packages/Documenter/AXNMp/src/utilities/utilities.jl#L49
duplicate docs found for 'GeometryOps.reproject' in docs/src/api.md:60-62 ```@autodocs Modules = [GeometryOps] ```
Documentation: ../../../.julia/packages/Documenter/AXNMp/src/utilities/utilities.jl#L49
no docs found for 'barycentric_interpolate' in `@docs` block in docs/src/api.md:52-56 ```@docs barycentric_coordinates barycentric_coordinates! barycentric_interpolate ```
Documentation: ../../../.julia/packages/Documenter/AXNMp/src/utilities/utilities.jl#L49
no docs found for 'barycentric_coordinates!' in `@docs` block in docs/src/api.md:52-56 ```@docs barycentric_coordinates barycentric_coordinates! barycentric_interpolate ```
Documentation: ../../../.julia/packages/Documenter/AXNMp/src/utilities/utilities.jl#L49
no docs found for 'barycentric_coordinates' in `@docs` block in docs/src/api.md:52-56 ```@docs barycentric_coordinates barycentric_coordinates! barycentric_interpolate ```
Julia 1 - windows-latest - x64 - pull_request
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: julia-actions/setup-julia@v2. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/