From 651f0bc3acfc5c884a5bc3f1f876f57352911f99 Mon Sep 17 00:00:00 2001 From: Andreas Noack Date: Fri, 13 Nov 2026 13:50:43 +0100 Subject: [PATCH 1/2] Replace CompatHelper with Dependabot for Julia compat updates Dependabot now supports the `julia` package ecosystem, so use it to keep the `[compat]` entries of `Project.toml` and `docs/Project.toml` up to date instead of the CompatHelper workflow. Updates are grouped into a single PR, mirroring the setup in Distributions.jl. Add a `[workspace]` section listing `docs` so that Pkg (on Julia 1.12+) and Dependabot resolve the package and the docs environment together. Dependabot then only needs the root directory. Older Julia versions ignore the section. --- .github/dependabot.yml | 12 +++++++++++ .github/workflows/CompatHelper.yml | 32 ------------------------------ Project.toml | 3 +++ 3 files changed, 15 insertions(+), 32 deletions(-) delete mode 100644 .github/workflows/CompatHelper.yml diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 82618bb3..b18f031f 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -5,3 +5,15 @@ updates: directory: "/" # Location of package manifests schedule: interval: "daily" + # Maintain compat entries of Julia dependencies (replaces CompatHelper). + # The `docs` project is part of the workspace defined in Project.toml and + # is therefore resolved together with the package. + - package-ecosystem: "julia" + directory: "/" + schedule: + interval: "daily" + groups: + # Group all Julia package updates into a single PR + all-julia-packages: + patterns: + - "*" diff --git a/.github/workflows/CompatHelper.yml b/.github/workflows/CompatHelper.yml deleted file mode 100644 index d94b38df..00000000 --- a/.github/workflows/CompatHelper.yml +++ /dev/null @@ -1,32 +0,0 @@ -name: CompatHelper -on: - schedule: - - cron: 0 0 * * * - workflow_dispatch: -jobs: - CompatHelper: - runs-on: ubuntu-latest - steps: - - name: "Add the General registry via Git" - run: | - import Pkg - ENV["JULIA_PKG_SERVER"] = "" - Pkg.Registry.add("General") - shell: julia --color=yes {0} - - name: "Install CompatHelper" - run: | - import Pkg - name = "CompatHelper" - uuid = "aa819f21-2bde-4658-8897-bab36330d9b7" - version = "3" - Pkg.add(; name, uuid, version) - shell: julia --color=yes {0} - - name: "Run CompatHelper" - run: | - import CompatHelper - CompatHelper.main() - shell: julia --color=yes {0} - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - COMPATHELPER_PRIV: ${{ secrets.DOCUMENTER_KEY }} - # COMPATHELPER_PRIV: ${{ secrets.COMPATHELPER_PRIV }} diff --git a/Project.toml b/Project.toml index bc723cb4..46ca0cb7 100644 --- a/Project.toml +++ b/Project.toml @@ -47,3 +47,6 @@ WeakRefStrings = "ea10d353-3f73-51f8-a26c-33c1cb351aa5" [targets] test = ["Aqua", "CategoricalArrays", "DataFrames", "Statistics", "Test", "TestSetExtensions", "WeakRefStrings"] + +[workspace] +projects = ["docs"] From 0530f2129bbc213af8eecc47308c60e9ea8efc4b Mon Sep 17 00:00:00 2001 From: Andreas Noack Date: Fri, 13 Nov 2026 14:12:58 +0100 Subject: [PATCH 2/2] Require WeakRefStrings 1.4 or later in tests With the docs workspace, the test environment on Julia 1.12+ resolves InlineStrings 2, which WeakRefStrings 1.4 does not allow. The resolver then falls back to WeakRefStrings 1.3, which uses the removed `Base.memhash_seed` and errors on current Julia. Allow WeakRefStrings 2 and exclude the releases before 1.4. --- Project.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Project.toml b/Project.toml index 46ca0cb7..2bfc409c 100644 --- a/Project.toml +++ b/Project.toml @@ -33,7 +33,7 @@ StatsFuns = "0.9, 1.0, 2" Tables = "0.2, 1" Test = "1" TestSetExtensions = "3" -WeakRefStrings = "1" +WeakRefStrings = "1.4, 2" julia = "1.6" [extras]