CI: Fix dependencies hash (until next xmake version)

This commit is contained in:
Jérôme Leclercq 2021-05-07 14:15:57 +02:00
parent 1cefad6f3b
commit df31666d0e
3 changed files with 26 additions and 2 deletions

View File

@ -53,7 +53,7 @@ jobs:
# Fetch xmake dephash
- name: Retrieve dependencies hash
id: dep_hash
run: echo "::set-output name=hash::$(xmake l utils.ci.packageskey)"
run: echo "::set-output name=hash::$(xmake dephash)"
# Cache xmake dependencies
- name: Retrieve cached xmake dependencies

View File

@ -45,7 +45,7 @@ jobs:
# Fetch xmake dephash
- name: Retrieve dependencies hash
id: dep_hash
run: echo "::set-output name=hash::$(xmake.exe l utils.ci.packageskey)"
run: echo "::set-output name=hash::$(xmake.exe dephash)"
# Cache xmake dependencies
- name: Retrieve cached xmake dependencies

View File

@ -190,3 +190,27 @@ rule("build_rendererplugins")
end
end
end)
-- Generates a hash key made of packages confs/version, for CI
task("dephash")
on_run(function ()
import("core.project.project")
import("private.action.require.impl.package")
local requires, requires_extra = project.requires_str()
local key = {}
for _, instance in irpairs(package.load_packages(requires, {requires_extra = requires_extra})) do
table.insert(key, instance:name() .. "-" .. instance:version_str() .. "-" .. instance:buildhash())
end
table.sort(key)
key = table.concat(key, ",")
print(hash.uuid4(key):gsub('-', ''):lower())
end)
set_menu {
usage = "xmake dephash",
description = "Outputs a hash key of current dependencies version/configuration"
}