local optimizations = { tiny = "-Oz", size = "-Os", debug = "-Og", zero = "-O0", one = "-O1", two = "-O2", three = "-O3", } local debug = { release = "", debug = "-g", } local lua_versions = { ["51"] = true, ["52"] = true, ["53"] = true, ["54"] = true, } local compilers = {--[["mingw32",]]"mingw64"--[[,"clang32","clang64"]]} local builds = {} for name, optimization, rel, flag, _, image, lua_version, _ in cartesian(optimizations, debug, compilers, lua_versions) do local name = "yuescript-" .. lua_version .. "-" .. name .. "-" .. rel .. "-" .. image builds[name] = { image = "image-luarocks-" .. lua_version .. "-" .. image, requires = { {"git","yuescript#main"}, {"cicd", "image-" .. image}, }, produces = { ["yue.so"] = true, }, env = { CFLAGS = optimization .. " " .. flag, }, timeout=300, } break end return builds