diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 000000000..700707ced --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,7 @@ +# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates +version: 2 +updates: + - package-ecosystem: "github-actions" + directory: "/" # Location of package manifests + schedule: + interval: "weekly" diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 23a9b1fb4..5ea2e42c1 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -31,11 +31,11 @@ jobs: echo "head_ref is: ${{ github.head_ref }}" echo "target repository is: ${{ github.repository }}" echo "head repository is: ${{ github.event.pull_request.head.repo.full_name }}" - - uses: actions/checkout@v2 - - uses: julia-actions/setup-julia@v1 + - uses: actions/checkout@v4 + - uses: julia-actions/setup-julia@v2 with: version: ${{ matrix.version }} - - uses: julia-actions/cache@v1 + - uses: julia-actions/cache@v2 - uses: julia-actions/julia-buildpkg@v1 - uses: julia-actions/julia-runtest@v1 - uses: julia-actions/julia-processcoverage@v1 @@ -61,13 +61,13 @@ jobs: os: - 'ubuntu-latest' steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 with: persist-credentials: false - - uses: julia-actions/setup-julia@v1 + - uses: julia-actions/setup-julia@v2 with: version: ${{ matrix.version }} - - uses: julia-actions/cache@v1 + - uses: julia-actions/cache@v2 - uses: julia-actions/julia-buildpkg@v1 - uses: julia-actions/julia-runtest@v1 env: @@ -80,45 +80,45 @@ jobs: env: JULIA_PKG_SERVER: "" steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 with: persist-credentials: false - - uses: julia-actions/setup-julia@v1 + - uses: julia-actions/setup-julia@v2 with: version: '1' - run: | - julia -e ' - function set_environment_variable(name::AbstractString, value::AbstractString) - github_env = ENV["GITHUB_ENV"] - touch(github_env) - open(github_env, "a") do io - println(io, "$(name)=$(value)") - end - end - event_name = "${{ github.event_name }}" - if event_name == "pull_request" - base_ref = "${{ github.base_ref }}" - head_ref = "${{ github.head_ref }}" - base_repository = "${{ github.repository }}" - head_repository = "${{ github.event.pull_request.head.repo.full_name }}" - build_docs = (base_ref == "master") && (head_ref == "dev") && (base_repository == head_repository) - elseif event_name == "push" - ref = "${{ github.ref }}" - build_docs = (ref == "refs/heads/master") || (startswith(ref, "refs/tags/")) - elseif event_name == "schedule" - build_docs = ref == "refs/heads/master" - elseif event_name == "workflow_dispatch" - build_docs = ref == "refs/heads/master" - else - build_docs = false - end - if build_docs - @info("We will build the docs") - set_environment_variable("BUILD_DOCS", "true") - else - @info("We will NOT build the docs") - set_environment_variable("BUILD_DOCS", "false") - end' + function set_environment_variable(name::AbstractString, value::AbstractString) + github_env = ENV["GITHUB_ENV"] + touch(github_env) + open(github_env, "a") do io + println(io, "$(name)=$(value)") + end + end + event_name = "${{ github.event_name }}" + if event_name == "pull_request" + base_ref = "${{ github.base_ref }}" + head_ref = "${{ github.head_ref }}" + base_repository = "${{ github.repository }}" + head_repository = "${{ github.event.pull_request.head.repo.full_name }}" + build_docs = (base_ref == "master") && (head_ref == "dev") && (base_repository == head_repository) + elseif event_name == "push" + ref = "${{ github.ref }}" + build_docs = (ref == "refs/heads/master") || (startswith(ref, "refs/tags/")) + elseif event_name == "schedule" + build_docs = ref == "refs/heads/master" + elseif event_name == "workflow_dispatch" + build_docs = ref == "refs/heads/master" + else + build_docs = false + end + if build_docs + @info("We will build the docs") + set_environment_variable("BUILD_DOCS", "true") + else + @info("We will NOT build the docs") + set_environment_variable("BUILD_DOCS", "false") + end + shell: julia --color=yes {0} - run: | if ENV["BUILD_DOCS"] == "true" using Pkg diff --git a/Project.toml b/Project.toml index e208ffb82..cf07adca3 100644 --- a/Project.toml +++ b/Project.toml @@ -1,7 +1,7 @@ name = "MLJ" uuid = "add582a8-e3ab-11e8-2d5e-e98b27df1bc7" authors = ["Anthony D. Blaom "] -version = "0.20.7" +version = "0.20.8" [deps] CategoricalArrays = "324d7699-5711-5eae-9e2f-1d82baa6b597" diff --git a/docs/Project.toml b/docs/Project.toml old mode 100755 new mode 100644 diff --git a/docs/src/assets/favicon.ico b/docs/src/assets/favicon.ico new file mode 100644 index 000000000..1122a7808 Binary files /dev/null and b/docs/src/assets/favicon.ico differ diff --git a/test/integration.jl b/test/integration.jl index f1725f2fc..5c505e3ff 100644 --- a/test/integration.jl +++ b/test/integration.jl @@ -44,15 +44,9 @@ FILTER_GIVEN_ISSUE = Dict( "MultiTaskLassoCVRegressor", "MultiTaskLassoRegressor", ], - "https://github.com/JuliaAI/FeatureSelection.jl/issues/15" => - model -> model.package_name == "FeatureSelection" && - model.name == "RecursiveFeatureElimination", "https://github.com/sylvaticus/BetaML.jl/issues/75" => model -> model.package_name == "BetaML" && model.name == "NeuralNetworkClassifier", - "https://github.com/MilesCranmer/SymbolicRegression.jl/issues/390" => - model -> model.package_name == "SymbolicRegression" && - model.name == "SRRegressor", # "https://github.com/JuliaAI/Imbalance.jl/issues/103" => # model -> model.package_name == "Imbalance", ) @@ -140,7 +134,8 @@ for model in WITHOUT_DATASETS end # Additionally exclude some models for which the inferred datasets have a model-specific -# pathology that prevents valid generic test. +# pathology that prevents valid generic test, or for some other reason requiring complete +# exclusion from testing. PATHOLOGIES = filter(MODELS) do model # in the subsampling occuring in stacking, we get a Cholesky @@ -156,10 +151,8 @@ PATHOLOGIES = filter(MODELS) do model (model.name == "LOCIDetector" && model.package_name == "OutlierDetectionPython") || # TO REDUCE TESTING TIME model.package_name == "MLJScikitLearnInterface" || - # can be removed after resolution of - # https://github.com/JuliaAI/FeatureSelection.jl/issues/15 - # and a Model Registry update - model.name == "RecursiveFeatureElimination" + # "https://github.com/MilesCranmer/SymbolicRegression.jl/issues/390" => + model.package_name == "SymbolicRegression" end WITHOUT_DATASETS = vcat(WITHOUT_DATASETS, PATHOLOGIES)