From df467da416ce72c90a79eb106673bb0f13ef7197 Mon Sep 17 00:00:00 2001 From: ruki Date: Sun, 1 Dec 2024 22:20:21 +0800 Subject: [PATCH 01/12] merge configs --- .../compatibility/deps_with_version/xmake.lua | 4 +- .../private/action/require/impl/package.lua | 50 ++++++++++++++----- 2 files changed, 39 insertions(+), 15 deletions(-) diff --git a/tests/projects/package/compatibility/deps_with_version/xmake.lua b/tests/projects/package/compatibility/deps_with_version/xmake.lua index 1ceb5f3a15..89a388cb11 100644 --- a/tests/projects/package/compatibility/deps_with_version/xmake.lua +++ b/tests/projects/package/compatibility/deps_with_version/xmake.lua @@ -7,14 +7,14 @@ package_end() package("bar") add_deps("zlib 1.2.x") -- add_deps("libpng dev") --- add_deps("libpng", {configs = {debug = true}}) + add_deps("libpng", {configs = {shared = false}}) set_policy("package.install_locally", true) on_install(function () end) package_end() package("zoo") -- add_deps("libpng master") --- add_deps("libpng", {configs = {shared = true}}) + add_deps("libpng", {configs = {shared = true}}) set_policy("package.install_locally", true) on_install(function () end) package_end() diff --git a/xmake/modules/private/action/require/impl/package.lua b/xmake/modules/private/action/require/impl/package.lua index 100a24560a..b030f7eec3 100644 --- a/xmake/modules/private/action/require/impl/package.lua +++ b/xmake/modules/private/action/require/impl/package.lua @@ -1212,24 +1212,12 @@ function _get_requirepaths(package) return requirepaths end --- get configs key for compatibility +-- get compatibility key function _get_package_compatkey(dep) local key = dep:plat() .. "/" .. dep:arch() .. "/" .. (dep:kind() or "") if dep:is_system() then key = key .. "/system" end - local configs = dep:requireinfo().configs - if configs then - local configs_order = {} - for k, v in pairs(configs) do - if type(v) == "table" then - v = string.serialize(v, {strip = true, indent = false, orderkeys = true}) - end - table.insert(configs_order, k .. "=" .. tostring(v)) - end - table.sort(configs_order) - key = key .. ":" .. string.serialize(configs_order, true) - end return key end @@ -1298,16 +1286,42 @@ function _check_and_resolve_package_depconflicts_impl(package, name, deps, resol -- check configs compatibility local prevkey + local configs local configs_conflict = false for _, dep in ipairs(deps) do local key = _get_package_compatkey(dep) if prevkey then if prevkey ~= key then configs_conflict = true + break end else prevkey = key end + local depconfigs = dep:requireinfo().configs + if configs and depconfigs then + for k, v in pairs(depconfigs) do + local oldv = configs[k] + if oldv ~= nil then + local v_key = tostring(v) + local oldv_key = tostring(oldv) + if type(v) == "table" then + v_key = string.serialize(v, {strip = true, indent = false, orderkeys = true}) + end + if type(oldv) == "table" then + oldv_key = string.serialize(oldv, {strip = true, indent = false, orderkeys = true}) + end + if v_key ~= oldv_key then + configs_conflict = true + break + end + else + configs[k] = v + end + end + else + configs = depconfigs + end end if configs_conflict then print("package(%s): add_deps(%s, ...)", package:name(), name) @@ -1335,6 +1349,16 @@ function _check_and_resolve_package_depconflicts_impl(package, name, deps, resol end end end + + -- resolve configs + if configs then + for _, dep in ipairs(deps) do + for _, requirepath in ipairs(_get_requirepaths(dep)) do + resolvedinfo[requirepath] = resolvedinfo[requirepath] or {} + resolvedinfo[requirepath].configs = configs + end + end + end end -- check and resolve dependencies conflicts From d36ccc63a37662aa47359be90dc19cd6f09c32a5 Mon Sep 17 00:00:00 2001 From: ruki Date: Tue, 3 Dec 2024 23:33:30 +0800 Subject: [PATCH 02/12] resolve configs --- .../private/action/require/impl/package.lua | 36 ++++++++++--------- 1 file changed, 20 insertions(+), 16 deletions(-) diff --git a/xmake/modules/private/action/require/impl/package.lua b/xmake/modules/private/action/require/impl/package.lua index b030f7eec3..178fd45428 100644 --- a/xmake/modules/private/action/require/impl/package.lua +++ b/xmake/modules/private/action/require/impl/package.lua @@ -183,6 +183,26 @@ function _load_require(require_str, requires_extra, opt) end end + -- resolve require info + local resolvedinfo = opt.resolvedinfo + local requirepath = opt.requirepath + if requirepath then + requirepath = requirepath .. "." .. packagename + else + requirepath = packagename + end + resolvedinfo = resolvedinfo and resolvedinfo[requirepath] + if resolvedinfo then + -- resolve the conflict package version + if resolvedinfo.version then + version = resolvedinfo.version + end + -- resolve the conflict package configs + if resolvedinfo.configs then + require_extra.configs = resolvedinfo.configs + end + end + -- get required building configurations -- we need to clone a new configs object, because the whole requireinfo will be modified later. -- @see https://github.com/xmake-io/xmake-repo/pull/2067 @@ -216,22 +236,6 @@ function _load_require(require_str, requires_extra, opt) require_extra.system = false end - -- resolve require info - local resolvedinfo = opt.resolvedinfo - local requirepath = opt.requirepath - if requirepath then - requirepath = requirepath .. "." .. packagename - else - requirepath = packagename - end - resolvedinfo = resolvedinfo and resolvedinfo[requirepath] - if resolvedinfo then - -- resolve the conflict package version - if resolvedinfo.version then - version = resolvedinfo.version - end - end - -- init required item local required = {} local parentinfo = opt.parentinfo From 50b8022ef3a6a25a0ef53775b6cf8dc17503f04a Mon Sep 17 00:00:00 2001 From: ruki Date: Tue, 3 Dec 2024 23:41:57 +0800 Subject: [PATCH 03/12] improve package install tips --- .../package/compatibility/deps_with_version/xmake.lua | 5 +++-- xmake/modules/private/action/require/impl/package.lua | 11 ++++++++++- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/tests/projects/package/compatibility/deps_with_version/xmake.lua b/tests/projects/package/compatibility/deps_with_version/xmake.lua index 89a388cb11..f82007af90 100644 --- a/tests/projects/package/compatibility/deps_with_version/xmake.lua +++ b/tests/projects/package/compatibility/deps_with_version/xmake.lua @@ -7,14 +7,14 @@ package_end() package("bar") add_deps("zlib 1.2.x") -- add_deps("libpng dev") - add_deps("libpng", {configs = {shared = false}}) +-- add_deps("boost", {system = false, configs = {}}) set_policy("package.install_locally", true) on_install(function () end) package_end() package("zoo") -- add_deps("libpng master") - add_deps("libpng", {configs = {shared = true}}) +-- add_deps("boost", {system = false, configs = {zlib = true}}) set_policy("package.install_locally", true) on_install(function () end) package_end() @@ -26,6 +26,7 @@ package("test") package_end() add_requires("test") +--add_requireconfs("**.boost", {override = true, configs = {zlib = false}}) target("test") set_kind("binary") diff --git a/xmake/modules/private/action/require/impl/package.lua b/xmake/modules/private/action/require/impl/package.lua index 178fd45428..9a79475e3f 100644 --- a/xmake/modules/private/action/require/impl/package.lua +++ b/xmake/modules/private/action/require/impl/package.lua @@ -261,7 +261,8 @@ function _load_require(require_str, requires_extra, opt) verify = require_extra.verify, -- default: true, we can set false to ignore sha256sum and select any version external = require_extra.external, -- default: true, we use sysincludedirs/-isystem instead of -I/xxx private = require_extra.private, -- default: false, private package, only for installation, do not export any links/includes and environments - build = require_extra.build -- default: false, always build packages, we do not use the precompiled artifacts + build = require_extra.build, -- default: false, always build packages, we do not use the precompiled artifacts + resolvedinfo = resolvedinfo -- the resolved info for the conflict version/configs } return required.packagename, required.requireinfo end @@ -1601,11 +1602,19 @@ function get_configs_str(package) if parents_str then table.insert(configs, "from:" .. parents_str) end + local license = package:get("license") + if license then + table.insert(configs, "license:" .. license) + end local configs_str = #configs > 0 and "[" .. table.concat(configs, ", ") .. "]" or "" local limitwidth = math.floor(os.getwinsize().width * 2 / 3) if #configs_str > limitwidth then configs_str = configs_str:sub(1, limitwidth) .. " ..)" end + local resolvedinfo = requireinfo.resolvedinfo + if resolvedinfo then + configs_str = configs_str .. " " .. "${color.warning}(conflict resolved)${clear}" + end return configs_str end From d2ac413d4cac84cdd15e1f28393967d4ae2efa70 Mon Sep 17 00:00:00 2001 From: ruki Date: Tue, 3 Dec 2024 23:44:34 +0800 Subject: [PATCH 04/12] update tests --- .../projects/package/compatibility/deps_with_version/xmake.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/projects/package/compatibility/deps_with_version/xmake.lua b/tests/projects/package/compatibility/deps_with_version/xmake.lua index f82007af90..9f9d49e296 100644 --- a/tests/projects/package/compatibility/deps_with_version/xmake.lua +++ b/tests/projects/package/compatibility/deps_with_version/xmake.lua @@ -7,7 +7,7 @@ package_end() package("bar") add_deps("zlib 1.2.x") -- add_deps("libpng dev") --- add_deps("boost", {system = false, configs = {}}) +-- add_deps("boost", {system = false, configs = {zlib = false}}) set_policy("package.install_locally", true) on_install(function () end) package_end() From ac7a4a527990ad2e0d2d034971ce7699818d8b61 Mon Sep 17 00:00:00 2001 From: ruki Date: Tue, 3 Dec 2024 23:46:51 +0800 Subject: [PATCH 05/12] add policy --- xmake/core/project/policy.lua | 2 ++ .../private/action/require/impl/package.lua | 22 +++++++++++++++++++ 2 files changed, 24 insertions(+) diff --git a/xmake/core/project/policy.lua b/xmake/core/project/policy.lua index 1eb28130f5..af8fb20e42 100644 --- a/xmake/core/project/policy.lua +++ b/xmake/core/project/policy.lua @@ -143,6 +143,8 @@ function policy.policies() ["package.cmake_generator.ninja"] = {description = "Set cmake package use ninja for build", type = "boolean"}, -- Enable msbuild MultiToolTask ["package.msbuild.multi_tool_task"] = {description = "Enable msbuild MultiToolTask.", default = false, type = "boolean"}, + -- Resolve package dependencies conflict automatically + ["package.resolve_depconflict"] = {description = "Automatically resolve package dependencies conflict.", default = true, type = "boolean"}, -- Stop to test on the first failure ["test.stop_on_first_failure"] = {description = "Stop to test on the first failure", default = false, type = "boolean"}, -- Return zero as exit code on failure diff --git a/xmake/modules/private/action/require/impl/package.lua b/xmake/modules/private/action/require/impl/package.lua index 9a79475e3f..e3700af9d4 100644 --- a/xmake/modules/private/action/require/impl/package.lua +++ b/xmake/modules/private/action/require/impl/package.lua @@ -1223,6 +1223,28 @@ function _get_package_compatkey(dep) if dep:is_system() then key = key .. "/system" end + local resolve_depconflict = project.policy("package.resolve_depconflict") + if resolve_depconflict == nil then + resolve_depconflict = dep:policy("package.resolve_depconflict") + end + if resolve_depconflict == false then + if dep:version_str() then + key = key .. "/" .. dep:version_str() + end + local configs = dep:requireinfo().configs + if configs then + local configs_order = {} + for k, v in pairs(configs) do + if type(v) == "table" then + v = string.serialize(v, {strip = true, indent = false, orderkeys = true}) + end + table.insert(configs_order, k .. "=" .. tostring(v)) + end + table.sort(configs_order) + key = key .. ":" .. string.serialize(configs_order, true) + end + + end return key end From 5823e8911274de13645ad8fc11668c8c4478d7af Mon Sep 17 00:00:00 2001 From: ruki Date: Tue, 3 Dec 2024 23:48:03 +0800 Subject: [PATCH 06/12] fix policy conflicts --- xmake/core/project/policy.lua | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/xmake/core/project/policy.lua b/xmake/core/project/policy.lua index af8fb20e42..0930b40fa3 100644 --- a/xmake/core/project/policy.lua +++ b/xmake/core/project/policy.lua @@ -136,6 +136,8 @@ function policy.policies() -- if true, then any updates to library dependencies, such as buildhash changes due to version changes, -- will force the installed packages to be recompiled and installed. @see https://github.com/xmake-io/xmake/issues/2719 ["package.librarydeps.strict_compatibility"] = {description = "Set strict compatibility for package and it's all library dependencies.", type = "boolean"}, + -- Resolve package dependencies conflict automatically + ["package.resolve_depconflict"] = {description = "Automatically resolve package dependencies conflict.", default = true, type = "boolean"}, -- Automatically passes dependency configuration for inner xmake package -- https://github.com/xmake-io/xmake/issues/3952 ["package.xmake.pass_depconfs"] = {description = "Automatically passes dependency configuration for inner xmake package", default = true, type = "boolean"}, @@ -143,8 +145,6 @@ function policy.policies() ["package.cmake_generator.ninja"] = {description = "Set cmake package use ninja for build", type = "boolean"}, -- Enable msbuild MultiToolTask ["package.msbuild.multi_tool_task"] = {description = "Enable msbuild MultiToolTask.", default = false, type = "boolean"}, - -- Resolve package dependencies conflict automatically - ["package.resolve_depconflict"] = {description = "Automatically resolve package dependencies conflict.", default = true, type = "boolean"}, -- Stop to test on the first failure ["test.stop_on_first_failure"] = {description = "Stop to test on the first failure", default = false, type = "boolean"}, -- Return zero as exit code on failure From b580caf8121ca38ef4413f428bd9b5cb0277695a Mon Sep 17 00:00:00 2001 From: ruki Date: Tue, 3 Dec 2024 23:54:36 +0800 Subject: [PATCH 07/12] add links --- xmake/core/project/policy.lua | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/xmake/core/project/policy.lua b/xmake/core/project/policy.lua index 0930b40fa3..0646bd3bcf 100644 --- a/xmake/core/project/policy.lua +++ b/xmake/core/project/policy.lua @@ -137,9 +137,10 @@ function policy.policies() -- will force the installed packages to be recompiled and installed. @see https://github.com/xmake-io/xmake/issues/2719 ["package.librarydeps.strict_compatibility"] = {description = "Set strict compatibility for package and it's all library dependencies.", type = "boolean"}, -- Resolve package dependencies conflict automatically + -- @see https://github.com/xmake-io/xmake/issues/5745 ["package.resolve_depconflict"] = {description = "Automatically resolve package dependencies conflict.", default = true, type = "boolean"}, -- Automatically passes dependency configuration for inner xmake package - -- https://github.com/xmake-io/xmake/issues/3952 + -- @see https://github.com/xmake-io/xmake/issues/3952 ["package.xmake.pass_depconfs"] = {description = "Automatically passes dependency configuration for inner xmake package", default = true, type = "boolean"}, -- It will force cmake package use ninja for build ["package.cmake_generator.ninja"] = {description = "Set cmake package use ninja for build", type = "boolean"}, From 34ee1cb9ceeec762cf986dc23a68d466e100e6e2 Mon Sep 17 00:00:00 2001 From: ruki Date: Wed, 4 Dec 2024 22:33:44 +0800 Subject: [PATCH 08/12] add package.sync_requires_to_deps policy --- .../sync_requires_to_deps/src/main.c | 6 ++++ .../sync_requires_to_deps/test.lua | 10 ++++++ .../sync_requires_to_deps/xmake.lua | 33 +++++++++++++++++++ xmake/core/project/policy.lua | 3 ++ 4 files changed, 52 insertions(+) create mode 100755 tests/projects/package/compatibility/sync_requires_to_deps/src/main.c create mode 100644 tests/projects/package/compatibility/sync_requires_to_deps/test.lua create mode 100644 tests/projects/package/compatibility/sync_requires_to_deps/xmake.lua diff --git a/tests/projects/package/compatibility/sync_requires_to_deps/src/main.c b/tests/projects/package/compatibility/sync_requires_to_deps/src/main.c new file mode 100755 index 0000000000..113930e1a2 --- /dev/null +++ b/tests/projects/package/compatibility/sync_requires_to_deps/src/main.c @@ -0,0 +1,6 @@ +#include + +int main(int argc, char** argv) { + printf("hello world!\n"); + return 0; +} diff --git a/tests/projects/package/compatibility/sync_requires_to_deps/test.lua b/tests/projects/package/compatibility/sync_requires_to_deps/test.lua new file mode 100644 index 0000000000..a6690754ba --- /dev/null +++ b/tests/projects/package/compatibility/sync_requires_to_deps/test.lua @@ -0,0 +1,10 @@ +function main(t) + -- freebsd ci is slower + if is_host("bsd") then + return + end + -- only for x86/x64, because it will take too long time on ci with arm/mips + if os.subarch():startswith("x") or os.subarch() == "i386" then + t:build() + end +end diff --git a/tests/projects/package/compatibility/sync_requires_to_deps/xmake.lua b/tests/projects/package/compatibility/sync_requires_to_deps/xmake.lua new file mode 100644 index 0000000000..2d3d0b0294 --- /dev/null +++ b/tests/projects/package/compatibility/sync_requires_to_deps/xmake.lua @@ -0,0 +1,33 @@ + +package("foo") + add_deps("zlib >=1.2.13") + set_policy("package.install_locally", true) + on_install(function () end) +package_end() + +package("bar") + add_deps("zlib 1.2.x") + set_policy("package.install_locally", true) + on_install(function () end) +package_end() + +package("zoo") + set_policy("package.install_locally", true) + on_install(function () end) +package_end() + +package("test") + add_deps("foo", "bar", "zoo") + set_policy("package.install_locally", true) + on_install(function () end) +package_end() + +set_policy("package.sync_requires_to_deps", true) + +add_requires("test") +add_requires("zlib", {system = false, configs = {shared = true}}) + +target("test") + set_kind("binary") + add_files("src/*.c") + add_packages("test") diff --git a/xmake/core/project/policy.lua b/xmake/core/project/policy.lua index 0646bd3bcf..b20a576b47 100644 --- a/xmake/core/project/policy.lua +++ b/xmake/core/project/policy.lua @@ -139,6 +139,9 @@ function policy.policies() -- Resolve package dependencies conflict automatically -- @see https://github.com/xmake-io/xmake/issues/5745 ["package.resolve_depconflict"] = {description = "Automatically resolve package dependencies conflict.", default = true, type = "boolean"}, + -- Synchronize add_requires configuration in toplevel to all package dependencies for this package + -- @see https://github.com/xmake-io/xmake/issues/5745 + ["package.sync_requires_to_deps"] = {description = "Synchronize requires configuration to all package dependencies.", default = false, type = "boolean"}, -- Automatically passes dependency configuration for inner xmake package -- @see https://github.com/xmake-io/xmake/issues/3952 ["package.xmake.pass_depconfs"] = {description = "Automatically passes dependency configuration for inner xmake package", default = true, type = "boolean"}, From 720cf65b54d50394a5a4110dff364734f6e54f0e Mon Sep 17 00:00:00 2001 From: ruki Date: Wed, 4 Dec 2024 22:41:35 +0800 Subject: [PATCH 09/12] impl sync_requires_to_deps --- .../sync_requires_to_deps/xmake.lua | 2 +- xmake/core/project/project.lua | 36 +++++++++++++++++++ .../private/action/require/impl/package.lua | 5 +++ 3 files changed, 42 insertions(+), 1 deletion(-) diff --git a/tests/projects/package/compatibility/sync_requires_to_deps/xmake.lua b/tests/projects/package/compatibility/sync_requires_to_deps/xmake.lua index 2d3d0b0294..439e322e94 100644 --- a/tests/projects/package/compatibility/sync_requires_to_deps/xmake.lua +++ b/tests/projects/package/compatibility/sync_requires_to_deps/xmake.lua @@ -25,7 +25,7 @@ package_end() set_policy("package.sync_requires_to_deps", true) add_requires("test") -add_requires("zlib", {system = false, configs = {shared = true}}) +add_requires("zlib >=1.2.13", {system = false, configs = {shared = true}}) target("test") set_kind("binary") diff --git a/xmake/core/project/project.lua b/xmake/core/project/project.lua index 6c896dde58..77793d3e50 100644 --- a/xmake/core/project/project.lua +++ b/xmake/core/project/project.lua @@ -1030,6 +1030,42 @@ function project.requireconfs_str() project.requires_str() local requireconfs_str = project._memcache():get("requireconfs_str") local requireconfs_extra = project._memcache():get("requireconfs_extra") + -- synchronize requires configuration to all package dependencies. + -- @see https://github.com/xmake-io/xmake/issues/5745#issuecomment-2513951471 + if project.policy("package.sync_requires_to_deps") then + local requires_str = project._memcache():get("requires_str") + local requires_extra = project._memcache():get("requires_extra") + local sync_requires_to_deps = project._memcache():get("package.sync_requires_to_deps") + if requires_str and not sync_requires_to_deps then + requires_extra = requires_extra and table.wrap(requires_extra) or {} + requireconfs_str = requireconfs_str and table.wrap(requireconfs_str) or {} + requireconfs_extra = requireconfs_extra and table.wrap(requireconfs_extra) or {} + for _, require_str in ipairs(table.wrap(requires_str)) do + if not require_str:find("::", 1, true) then + local splitinfo = require_str:split("%s") + local packagename = splitinfo[1] + local packageversion = splitinfo[2] + local requireconf_str = "**." .. packagename + local requireconf_extra = table.clone(requires_extra[require_str]) + if requireconf_extra then + requireconf_extra.configs = table.clone(requireconf_extra.configs) or {} + end + if packageversion then + requireconf_extra = requireconf_extra or {configs = {}} + requireconf_extra.configs.version = packageversion + end + if requireconf_extra then + requireconf_extra.override = true + table.insert(requireconfs_str, requireconf_str) + requireconfs_extra[requireconf_str] = requireconf_extra + end + end + end + project._memcache():set("requireconfs_str", requireconfs_str) + project._memcache():set("requireconfs_extra", requireconfs_extra) + project._memcache():set("package.sync_requires_to_deps", true) + end + end return requireconfs_str, requireconfs_extra end diff --git a/xmake/modules/private/action/require/impl/package.lua b/xmake/modules/private/action/require/impl/package.lua index e3700af9d4..30c571592e 100644 --- a/xmake/modules/private/action/require/impl/package.lua +++ b/xmake/modules/private/action/require/impl/package.lua @@ -1211,6 +1211,11 @@ function _get_requirepaths(package) table.insert(requirepaths, requirepath .. "." .. package:name()) end end + -- we also need to resolve requires conflict in toplevel, if `package.sync_requires_to_deps` policy is enabled. + -- @see https://github.com/xmake-io/xmake/issues/5745#issuecomment-2513951471 + if project.policy("package.sync_requires_to_deps") then + table.insert(requirepaths, package:name()) + end else table.insert(requirepaths, package:name()) end From 993342a4d6460670436ab6488574b65592957028 Mon Sep 17 00:00:00 2001 From: ruki Date: Wed, 4 Dec 2024 22:45:16 +0800 Subject: [PATCH 10/12] update ci --- .github/workflows/macos.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index f6129fbfdb..e0465de826 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -11,7 +11,7 @@ jobs: strategy: matrix: - os: [macos-12] + os: [macos-latest] arch: [x86_64] runs-on: ${{ matrix.os }} From 0305118e84901ca0932ff2ca09471686016fc38d Mon Sep 17 00:00:00 2001 From: ruki Date: Wed, 4 Dec 2024 22:51:58 +0800 Subject: [PATCH 11/12] update ci --- .github/workflows/macos.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index e0465de826..a280c8b4b6 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -11,7 +11,7 @@ jobs: strategy: matrix: - os: [macos-latest] + os: [macos-14] arch: [x86_64] runs-on: ${{ matrix.os }} From cd93b9aa6fd61bccc5b91bf6a3e01b8d00e4a106 Mon Sep 17 00:00:00 2001 From: ruki Date: Wed, 4 Dec 2024 22:52:02 +0800 Subject: [PATCH 12/12] update ci --- .github/workflows/macos.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index a280c8b4b6..623d1f8586 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -11,7 +11,7 @@ jobs: strategy: matrix: - os: [macos-14] + os: [macos-13] arch: [x86_64] runs-on: ${{ matrix.os }}