From d35853d20fa46e2181852986d0d56103e4dd3e0f Mon Sep 17 00:00:00 2001 From: Jose Esparza Date: Thu, 6 Nov 2025 01:20:16 -0500 Subject: [PATCH 1/9] Upgrading Julia LTS version to `1.10` in CI job --- .github/workflows/ci.yml | 2 +- .github/workflows/documentation.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 2121b2a..c494e22 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -17,7 +17,7 @@ jobs: fail-fast: false matrix: version: - - '1.6' + - '1.10' - '1' os: - ubuntu-latest diff --git a/.github/workflows/documentation.yml b/.github/workflows/documentation.yml index b09ec97..cb43dda 100644 --- a/.github/workflows/documentation.yml +++ b/.github/workflows/documentation.yml @@ -14,7 +14,7 @@ jobs: - uses: actions/checkout@v2 - uses: julia-actions/setup-julia@latest with: - version: '1.6' + version: '1.10' - name: Install dependencies run: julia --project=docs/ -e 'using Pkg; Pkg.develop(PackageSpec(path=pwd())); Pkg.instantiate()' - name: Build and deploy From 3902a507b2e3880ed6c3f8e5335eac289c731015 Mon Sep 17 00:00:00 2001 From: Jose Esparza <28990958+pebeto@users.noreply.github.com> Date: Thu, 6 Nov 2025 01:28:30 -0500 Subject: [PATCH 2/9] Update .github/workflows/ci.yml Co-authored-by: Dilum Aluthge --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index c494e22..d1bb190 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -17,7 +17,7 @@ jobs: fail-fast: false matrix: version: - - '1.10' + - 'lts' - '1' os: - ubuntu-latest From 6b282650d3eb1504de51f43a44725ebea86c15be Mon Sep 17 00:00:00 2001 From: Jose Esparza <28990958+pebeto@users.noreply.github.com> Date: Thu, 6 Nov 2025 01:28:38 -0500 Subject: [PATCH 3/9] Update .github/workflows/documentation.yml Co-authored-by: Dilum Aluthge --- .github/workflows/documentation.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/documentation.yml b/.github/workflows/documentation.yml index cb43dda..65fdf37 100644 --- a/.github/workflows/documentation.yml +++ b/.github/workflows/documentation.yml @@ -14,7 +14,7 @@ jobs: - uses: actions/checkout@v2 - uses: julia-actions/setup-julia@latest with: - version: '1.10' + version: 'lts' - name: Install dependencies run: julia --project=docs/ -e 'using Pkg; Pkg.develop(PackageSpec(path=pwd())); Pkg.instantiate()' - name: Build and deploy From c0ce30a28595fcd647d70106610a33142fa2fcc4 Mon Sep 17 00:00:00 2001 From: Jose Esparza Date: Thu, 6 Nov 2025 12:01:56 -0500 Subject: [PATCH 4/9] Fixing package dependencies to work with Julia LTS --- Project.toml | 36 ++++++++++---- tatus | 91 ++++++++++++++++++++++++++++++++++++ test/Project.toml | 10 ---- test/interface/fitpredict.jl | 4 +- 4 files changed, 121 insertions(+), 20 deletions(-) create mode 100644 tatus diff --git a/Project.toml b/Project.toml index 17c63cb..a7d099d 100644 --- a/Project.toml +++ b/Project.toml @@ -1,7 +1,7 @@ name = "MLJLinearModels" uuid = "6ee0df7b-362f-4a72-a706-9e79364fb692" -authors = ["Thibaut Lienart "] version = "0.10.1" +authors = ["Thibaut Lienart "] [deps] DocStringExtensions = "ffbed154-4ef7-542d-bbb7-c09d3a79fcae" @@ -13,10 +13,30 @@ Optim = "429524aa-4258-5aef-a3af-852621145aeb" Parameters = "d96e819e-fc66-5662-9728-84c9c7592b0a" [compat] -DocStringExtensions = "0.8, 0.9" -IterativeSolvers = "0.8, 0.9" -LinearMaps = "2.6, 3.2" -MLJModelInterface = "1.4" -Optim = "0.20, 0.21, 1" -Parameters = "0.12" -julia = "1.6, 1" +DocStringExtensions = "0.9.5" +IterativeSolvers = "0.9.4" +LinearMaps = "3.11.4" +MLJModelInterface = "1.12.0" +Optim = "1.13.2" +Parameters = "0.12.3" +julia = "1.10" + +[extras] +CSV = "336ed68f-0bac-5ca0-87d4-7b16caf5d00b" +DataFrames = "a93c6f00-e57d-5684-b7b6-d8193f3e46c0" +DelimitedFiles = "8bb1440f-4735-579b-a4ab-409b98df4dab" +Downloads = "f43a241f-c20a-4ad4-852c-f6b1247861c6" +ForwardDiff = "f6369f11-7733-5829-9624-2563aa707210" +LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" +MLJ = "add582a8-e3ab-11e8-2d5e-e98b27df1bc7" +MLJBase = "a7f614a8-145f-11e9-1d2a-a57a1082229d" +Optim = "429524aa-4258-5aef-a3af-852621145aeb" +PyCall = "438e738f-606a-5dbb-bf0a-cddfbfd45ab0" +RCall = "6f49c342-dc21-5d91-9882-a32aef131414" +RDatasets = "ce6b1742-4840-55fa-b093-852dadbb1d8b" +Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c" +StableRNGs = "860ef19b-820b-49d6-a774-d7a799459cd3" +Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" + +[targets] +test = ["CSV", "DataFrames", "DelimitedFiles", "Downloads", "ForwardDiff", "LinearAlgebra", "MLJ", "MLJBase", "Optim", "PyCall", "RCall", "RDatasets", "Random", "StableRNGs", "Test"] diff --git a/tatus b/tatus new file mode 100644 index 0000000..9a8d11f --- /dev/null +++ b/tatus @@ -0,0 +1,91 @@ +diff --git a/Project.toml b/Project.toml +index 17c63cb..a7d099d 100644 +--- a/Project.toml ++++ b/Project.toml +@@ -1,7 +1,7 @@ + name = "MLJLinearModels" + uuid = "6ee0df7b-362f-4a72-a706-9e79364fb692" +-authors = ["Thibaut Lienart "] + version = "0.10.1" ++authors = ["Thibaut Lienart "] +  + [deps] + DocStringExtensions = "ffbed154-4ef7-542d-bbb7-c09d3a79fcae" +@@ -13,10 +13,30 @@ Optim = "429524aa-4258-5aef-a3af-852621145aeb" + Parameters = "d96e819e-fc66-5662-9728-84c9c7592b0a" +  + [compat] +-DocStringExtensions = "0.8, 0.9" +-IterativeSolvers = "0.8, 0.9" +-LinearMaps = "2.6, 3.2" +-MLJModelInterface = "1.4" +-Optim = "0.20, 0.21, 1" +-Parameters = "0.12" +-julia = "1.6, 1" ++DocStringExtensions = "0.9.5" ++IterativeSolvers = "0.9.4" ++LinearMaps = "3.11.4" ++MLJModelInterface = "1.12.0" ++Optim = "1.13.2" ++Parameters = "0.12.3" ++julia = "1.10" ++ ++[extras] ++CSV = "336ed68f-0bac-5ca0-87d4-7b16caf5d00b" ++DataFrames = "a93c6f00-e57d-5684-b7b6-d8193f3e46c0" ++DelimitedFiles = "8bb1440f-4735-579b-a4ab-409b98df4dab" ++Downloads = "f43a241f-c20a-4ad4-852c-f6b1247861c6" ++ForwardDiff = "f6369f11-7733-5829-9624-2563aa707210" ++LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" ++MLJ = "add582a8-e3ab-11e8-2d5e-e98b27df1bc7" ++MLJBase = "a7f614a8-145f-11e9-1d2a-a57a1082229d" ++Optim = "429524aa-4258-5aef-a3af-852621145aeb" ++PyCall = "438e738f-606a-5dbb-bf0a-cddfbfd45ab0" ++RCall = "6f49c342-dc21-5d91-9882-a32aef131414" ++RDatasets = "ce6b1742-4840-55fa-b093-852dadbb1d8b" ++Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c" ++StableRNGs = "860ef19b-820b-49d6-a774-d7a799459cd3" ++Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" ++ ++[targets] ++test = ["CSV", "DataFrames", "DelimitedFiles", "Downloads", "ForwardDiff", "LinearAlgebra", "MLJ", "MLJBase", "Optim", "PyCall", "RCall", "RDatasets", "Random", "StableRNGs", "Test"] +diff --git a/test/Project.toml b/test/Project.toml +index ac1e430..498be2e 100644 +--- a/test/Project.toml ++++ b/test/Project.toml +@@ -14,13 +14,3 @@ RDatasets = "ce6b1742-4840-55fa-b093-852dadbb1d8b" + Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c" + StableRNGs = "860ef19b-820b-49d6-a774-d7a799459cd3" + Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" +- +-[compat] +-DataFrames = "1.4" +-ForwardDiff = "0.10" +-MLJ = "0.19" +-MLJBase = "0.21" +-PyCall = "1.95" +-RCall = "0.13" +-RDatasets = "0.7" +-StableRNGs = "1.0" +diff --git a/test/interface/fitpredict.jl b/test/interface/fitpredict.jl +index 3e15c55..8687d8f 100644 +--- a/test/interface/fitpredict.jl ++++ b/test/interface/fitpredict.jl +@@ -37,7 +37,7 @@ end + ŷ = MLJBase.predict(lr, fr, Xt) + ŷ = MLJBase.mode.(ŷ) +  +- mcr = MLJBase.misclassification_rate(ŷ, yc) ++ mcr = MLJ.misclassification_rate(ŷ, yc) + @test mcr ≤ 0.2 + end +  +@@ -62,7 +62,7 @@ end + ŷ = MLJBase.predict(mc, fr, Xt) + ŷ = MLJBase.mode.(ŷ) +  +- mcr = MLJBase.misclassification_rate(ŷ, yc) ++ mcr = MLJ.misclassification_rate(ŷ, yc) + @test mcr ≤ 0.3 + end +  diff --git a/test/Project.toml b/test/Project.toml index ac1e430..498be2e 100644 --- a/test/Project.toml +++ b/test/Project.toml @@ -14,13 +14,3 @@ RDatasets = "ce6b1742-4840-55fa-b093-852dadbb1d8b" Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c" StableRNGs = "860ef19b-820b-49d6-a774-d7a799459cd3" Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" - -[compat] -DataFrames = "1.4" -ForwardDiff = "0.10" -MLJ = "0.19" -MLJBase = "0.21" -PyCall = "1.95" -RCall = "0.13" -RDatasets = "0.7" -StableRNGs = "1.0" diff --git a/test/interface/fitpredict.jl b/test/interface/fitpredict.jl index 3e15c55..8687d8f 100644 --- a/test/interface/fitpredict.jl +++ b/test/interface/fitpredict.jl @@ -37,7 +37,7 @@ end ŷ = MLJBase.predict(lr, fr, Xt) ŷ = MLJBase.mode.(ŷ) - mcr = MLJBase.misclassification_rate(ŷ, yc) + mcr = MLJ.misclassification_rate(ŷ, yc) @test mcr ≤ 0.2 end @@ -62,7 +62,7 @@ end ŷ = MLJBase.predict(mc, fr, Xt) ŷ = MLJBase.mode.(ŷ) - mcr = MLJBase.misclassification_rate(ŷ, yc) + mcr = MLJ.misclassification_rate(ŷ, yc) @test mcr ≤ 0.3 end From 13afbb421339e5368f304873c7b190d68eddae09 Mon Sep 17 00:00:00 2001 From: Jose Esparza Date: Thu, 6 Nov 2025 12:19:21 -0500 Subject: [PATCH 5/9] Fixing documentation generation --- docs/Project.toml | 14 +++++++++++++- docs/make.jl | 4 +++- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/docs/Project.toml b/docs/Project.toml index 91bb752..dafbfe8 100644 --- a/docs/Project.toml +++ b/docs/Project.toml @@ -1,5 +1,17 @@ [deps] +DocStringExtensions = "ffbed154-4ef7-542d-bbb7-c09d3a79fcae" +IterativeSolvers = "42fd0dbc-a981-5370-80f2-aaf504508153" +LinearMaps = "7a12625a-238d-50fd-b39a-03d52299707e" +MLJModelInterface = "e80e1ace-859a-464e-9ed9-23947d8ae3ea" Documenter = "e30172f5-a6a5-5a46-863b-614d45cd2de4" +Optim = "429524aa-4258-5aef-a3af-852621145aeb" +Parameters = "d96e819e-fc66-5662-9728-84c9c7592b0a" [compat] -Documenter = "^0.24" +DocStringExtensions = "0.9.5" +IterativeSolvers = "0.9.4" +LinearMaps = "3.11.4" +MLJModelInterface = "1.12.0" +Documenter = "1.15.0" +Optim = "1.13.2" +Parameters = "0.12.3" diff --git a/docs/make.jl b/docs/make.jl index 70f337d..e3d08e9 100644 --- a/docs/make.jl +++ b/docs/make.jl @@ -1,3 +1,4 @@ +push!(LOAD_PATH, "../src/") using Documenter, MLJLinearModels makedocs( @@ -13,7 +14,8 @@ makedocs( "Models" => "models.md", "Solvers" => "solvers.md", "API" => "api.md" - ] + ], + warnonly=[:cross_references, :missing_docs], ) deploydocs( From da37eb2a596cb46d52301fa6c554d5c4f043ec1f Mon Sep 17 00:00:00 2001 From: Jose Esparza Date: Thu, 6 Nov 2025 12:32:00 -0500 Subject: [PATCH 6/9] Adding setup R step in CI --- .github/workflows/ci.yml | 7 ++-- tatus | 91 ---------------------------------------- 2 files changed, 4 insertions(+), 94 deletions(-) delete mode 100644 tatus diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index d1bb190..ac2232d 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -25,6 +25,10 @@ jobs: - x64 steps: - uses: actions/checkout@v4 + - name: Setup R + uses: r-lib/actions/setup-r@v2 + with: + r-version: 'latest' - uses: julia-actions/setup-julia@v2 with: version: ${{ matrix.version }} @@ -41,9 +45,6 @@ jobs: ${{ runner.os }}- - uses: julia-actions/julia-buildpkg@v1 - uses: julia-actions/julia-runtest@v1 - env: - RUN_COMPARISONS: "false" - R_HOME: "*" - uses: julia-actions/julia-processcoverage@v1 - uses: codecov/codecov-action@v1 with: diff --git a/tatus b/tatus deleted file mode 100644 index 9a8d11f..0000000 --- a/tatus +++ /dev/null @@ -1,91 +0,0 @@ -diff --git a/Project.toml b/Project.toml -index 17c63cb..a7d099d 100644 ---- a/Project.toml -+++ b/Project.toml -@@ -1,7 +1,7 @@ - name = "MLJLinearModels" - uuid = "6ee0df7b-362f-4a72-a706-9e79364fb692" --authors = ["Thibaut Lienart "] - version = "0.10.1" -+authors = ["Thibaut Lienart "] -  - [deps] - DocStringExtensions = "ffbed154-4ef7-542d-bbb7-c09d3a79fcae" -@@ -13,10 +13,30 @@ Optim = "429524aa-4258-5aef-a3af-852621145aeb" - Parameters = "d96e819e-fc66-5662-9728-84c9c7592b0a" -  - [compat] --DocStringExtensions = "0.8, 0.9" --IterativeSolvers = "0.8, 0.9" --LinearMaps = "2.6, 3.2" --MLJModelInterface = "1.4" --Optim = "0.20, 0.21, 1" --Parameters = "0.12" --julia = "1.6, 1" -+DocStringExtensions = "0.9.5" -+IterativeSolvers = "0.9.4" -+LinearMaps = "3.11.4" -+MLJModelInterface = "1.12.0" -+Optim = "1.13.2" -+Parameters = "0.12.3" -+julia = "1.10" -+ -+[extras] -+CSV = "336ed68f-0bac-5ca0-87d4-7b16caf5d00b" -+DataFrames = "a93c6f00-e57d-5684-b7b6-d8193f3e46c0" -+DelimitedFiles = "8bb1440f-4735-579b-a4ab-409b98df4dab" -+Downloads = "f43a241f-c20a-4ad4-852c-f6b1247861c6" -+ForwardDiff = "f6369f11-7733-5829-9624-2563aa707210" -+LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" -+MLJ = "add582a8-e3ab-11e8-2d5e-e98b27df1bc7" -+MLJBase = "a7f614a8-145f-11e9-1d2a-a57a1082229d" -+Optim = "429524aa-4258-5aef-a3af-852621145aeb" -+PyCall = "438e738f-606a-5dbb-bf0a-cddfbfd45ab0" -+RCall = "6f49c342-dc21-5d91-9882-a32aef131414" -+RDatasets = "ce6b1742-4840-55fa-b093-852dadbb1d8b" -+Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c" -+StableRNGs = "860ef19b-820b-49d6-a774-d7a799459cd3" -+Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" -+ -+[targets] -+test = ["CSV", "DataFrames", "DelimitedFiles", "Downloads", "ForwardDiff", "LinearAlgebra", "MLJ", "MLJBase", "Optim", "PyCall", "RCall", "RDatasets", "Random", "StableRNGs", "Test"] -diff --git a/test/Project.toml b/test/Project.toml -index ac1e430..498be2e 100644 ---- a/test/Project.toml -+++ b/test/Project.toml -@@ -14,13 +14,3 @@ RDatasets = "ce6b1742-4840-55fa-b093-852dadbb1d8b" - Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c" - StableRNGs = "860ef19b-820b-49d6-a774-d7a799459cd3" - Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" -- --[compat] --DataFrames = "1.4" --ForwardDiff = "0.10" --MLJ = "0.19" --MLJBase = "0.21" --PyCall = "1.95" --RCall = "0.13" --RDatasets = "0.7" --StableRNGs = "1.0" -diff --git a/test/interface/fitpredict.jl b/test/interface/fitpredict.jl -index 3e15c55..8687d8f 100644 ---- a/test/interface/fitpredict.jl -+++ b/test/interface/fitpredict.jl -@@ -37,7 +37,7 @@ end - ŷ = MLJBase.predict(lr, fr, Xt) - ŷ = MLJBase.mode.(ŷ) -  -- mcr = MLJBase.misclassification_rate(ŷ, yc) -+ mcr = MLJ.misclassification_rate(ŷ, yc) - @test mcr ≤ 0.2 - end -  -@@ -62,7 +62,7 @@ end - ŷ = MLJBase.predict(mc, fr, Xt) - ŷ = MLJBase.mode.(ŷ) -  -- mcr = MLJBase.misclassification_rate(ŷ, yc) -+ mcr = MLJ.misclassification_rate(ŷ, yc) - @test mcr ≤ 0.3 - end -  From 729acc80639998a046cf1212039624a07482308b Mon Sep 17 00:00:00 2001 From: Jose Esparza Date: Thu, 6 Nov 2025 14:08:15 -0500 Subject: [PATCH 7/9] Removing test suite `Project.toml` in favor to root definition --- test/Project.toml | 16 ---------------- 1 file changed, 16 deletions(-) delete mode 100644 test/Project.toml diff --git a/test/Project.toml b/test/Project.toml deleted file mode 100644 index 498be2e..0000000 --- a/test/Project.toml +++ /dev/null @@ -1,16 +0,0 @@ -[deps] -CSV = "336ed68f-0bac-5ca0-87d4-7b16caf5d00b" -DataFrames = "a93c6f00-e57d-5684-b7b6-d8193f3e46c0" -DelimitedFiles = "8bb1440f-4735-579b-a4ab-409b98df4dab" -Downloads = "f43a241f-c20a-4ad4-852c-f6b1247861c6" -ForwardDiff = "f6369f11-7733-5829-9624-2563aa707210" -LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" -MLJ = "add582a8-e3ab-11e8-2d5e-e98b27df1bc7" -MLJBase = "a7f614a8-145f-11e9-1d2a-a57a1082229d" -Optim = "429524aa-4258-5aef-a3af-852621145aeb" -PyCall = "438e738f-606a-5dbb-bf0a-cddfbfd45ab0" -RCall = "6f49c342-dc21-5d91-9882-a32aef131414" -RDatasets = "ce6b1742-4840-55fa-b093-852dadbb1d8b" -Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c" -StableRNGs = "860ef19b-820b-49d6-a774-d7a799459cd3" -Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" From f139fa5187178ba210b1a4dbd48243bdb0508422 Mon Sep 17 00:00:00 2001 From: Jose Esparza Date: Thu, 6 Nov 2025 14:18:26 -0500 Subject: [PATCH 8/9] Explicitly set `R_HOME` env var in CI pipeline --- .github/workflows/ci.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index ac2232d..0fd8655 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -29,6 +29,10 @@ jobs: uses: r-lib/actions/setup-r@v2 with: r-version: 'latest' + - name: Configure RCall to use system R + run: | + echo "R_HOME=$(R RHOME)" >> $GITHUB_ENV + shell: bash - uses: julia-actions/setup-julia@v2 with: version: ${{ matrix.version }} From 7449761bf9ba04ffaf6c1e0b606a1d5a2efcd41b Mon Sep 17 00:00:00 2001 From: Jose Esparza Date: Thu, 6 Nov 2025 16:41:56 -0500 Subject: [PATCH 9/9] Rollback to use `R_HOME="*"` instead of installing it manually --- .github/workflows/ci.yml | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 0fd8655..6dfcaa9 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -25,14 +25,6 @@ jobs: - x64 steps: - uses: actions/checkout@v4 - - name: Setup R - uses: r-lib/actions/setup-r@v2 - with: - r-version: 'latest' - - name: Configure RCall to use system R - run: | - echo "R_HOME=$(R RHOME)" >> $GITHUB_ENV - shell: bash - uses: julia-actions/setup-julia@v2 with: version: ${{ matrix.version }} @@ -49,6 +41,8 @@ jobs: ${{ runner.os }}- - uses: julia-actions/julia-buildpkg@v1 - uses: julia-actions/julia-runtest@v1 + env: + R_HOME: "*" - uses: julia-actions/julia-processcoverage@v1 - uses: codecov/codecov-action@v1 with: