Skip to content

Fix CI #424

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

Merged
merged 4 commits into from
May 18, 2025
Merged

Fix CI #424

merged 4 commits into from
May 18, 2025

Conversation

andreasnoack
Copy link
Member

There are two separate commits here. One that adjust the versions to min, lts, 1, and pre. The first one is just a convenient way to keep CI i sync with the requirement in the projects file. The latter is in my opinion a better choice for most packages as it avoids tests failures due to unintended breakage on nightly. Instead, we'll detect the regressions only during the testing period of new releases.

The second commit removes the Mac and Windows testing. I generally think there is little value to testing on these targets when the package doesn't have any direct binary dependencies. It will provide faster CI and it will also avoid an unrelated issue with Plots triggering a segfault on Windows.

The package doesn't have any binary dependendencies so there is
not much value in testing on all platforms except sometimes
detecting issues in test dependencies.
@andreasnoack andreasnoack requested a review from nalimilan May 17, 2025 15:17
@andreasnoack
Copy link
Member Author

Hm. Do we really want to allow the GR brittleness to cause test failures for this package?

@nalimilan
Copy link
Member

Thanks, I didn't know about min. Sounds useful, though it would make more sense for it to use 1.6.5 rather than 1.6.0 as users are supposed to move to the latest bugfix release (without requiring us to bump the minimum version). Thankfully it appears we no longer need to install the full Plots.jl, RecipesPipeline.jl is all we need to run our basic test for the Plots extension. It should avoid the GR failure. Can you update the PR?

@andreasnoack
Copy link
Member Author

andreasnoack commented May 17, 2025

I tried that but I'm getting

julia> @testset "plot recipes" begin
           x = categorical(["B", "A", "C", "A"], levels=["C", "A", "B"])
           y = categorical([10, 1, missing, 2], levels=[10, 2, 1])

           res = RecipesBase.apply_recipe(Dict{Symbol, Any}(:plot_object => nothing), x, y)[1]
           @test res.args[1] isa Formatted
           @test res.args[1].data == [3, 2, 1, 2]
           @test res.args[2] isa Formatted
           @test res.args[2].data == [1, 3, 4, 2]
       end
plot recipes: Error During Test at REPL[19]:1
  Got exception outside of a @test
  MethodError: no method matching apply_recipe(::Dict{Symbol, Any}, ::CategoricalVector{String, UInt32, String, CategoricalValue{String, UInt32}, Union{}}, ::CategoricalVector{Union{Missing, Int64}, UInt32, Int64, CategoricalValue{Int64, UInt32}, Missing})
  The function `apply_recipe` exists, but no method is defined for this combination of argument types.

  Closest candidates are:
    apply_recipe(::AbstractDict{Symbol, Any}, ::AbstractVector{<:TimeZones.ZonedDateTime}, ::Any)
     @ TimeZonesRecipesBaseExt ~/.julia/packages/RecipesBase/BRe07/src/RecipesBase.jl:296
    apply_recipe(::AbstractDict{Symbol, Any}, ::Type{T}, ::T) where T<:CategoricalValue
     @ CategoricalArraysRecipesBaseExt ~/.julia/packages/RecipesBase/BRe07/src/RecipesBase.jl:296
    apply_recipe(::AbstractDict{Symbol, Any}, ::RecipesBase.__RecipesBasePrecompileType)
     @ RecipesBase ~/.julia/packages/RecipesBase/BRe07/src/RecipesBase.jl:296

if I don't add and load Plots

os:
- ubuntu-latest
- macOS-latest
- windows-latest
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we need the tests on 32-bit machines. Does ubuntu-latest include them?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OK - I see it does, so I think it is OK.

@nalimilan
Copy link
Member

Are you sure you loaded RecipesPipeline? I had the same error but then I found I could use that package. I've pushed a commit which works locally at least.

@andreasnoack
Copy link
Member Author

I did not. I read it as RecipesBase.

@nalimilan
Copy link
Member

OK. We still have a failure on 1.6.0 due to a method ambiguity in Arrow. Let's stick to target 1.6 instead of min for now?

@andreasnoack
Copy link
Member Author

Yes. Let's just stick with 1.6 for now. Then we can switch to min once we bump the required version.

@andreasnoack andreasnoack merged commit 5dfe71e into master May 18, 2025
9 checks passed
@andreasnoack andreasnoack deleted the an/ci branch May 18, 2025 19:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants