diff --git a/packages/mcl/src/src/mcl/commands/ci_matrix.d b/packages/mcl/src/src/mcl/commands/ci_matrix.d index 8cb022ee..e8c4e121 100755 --- a/packages/mcl/src/src/mcl/commands/ci_matrix.d +++ b/packages/mcl/src/src/mcl/commands/ci_matrix.d @@ -141,12 +141,16 @@ version (unittest) ]; } -Params params; +immutable Params params; -export void ci_matrix() +version (unittest) {} else +shared static this() { params = parseEnv!Params; +} +export void ci_matrix() +{ createResultDirs(); nixEvalForAllSystems().array.printTableForCacheStatus(); } @@ -184,7 +188,6 @@ Package[] checkCacheStatus(Package[] packages) export void print_table() { - params = parseEnv!Params; createResultDirs(); getPrecalcMatrix() @@ -194,7 +197,7 @@ export void print_table() struct Params { - @optional() string flakePre; + @optional() string flakePre = "checks"; @optional() string flakePost; @optional() string precalcMatrix; @optional() int maxWorkers; @@ -393,9 +396,6 @@ SupportedSystem[] getSupportedSystems(string flakeRef = ".") Package[] nixEvalForAllSystems() { - if (params.flakePre == "") - params.flakePre = "checks"; - const cachixUrl = "https://" ~ params.cachixCache ~ ".cachix.org"; const systems = getSupportedSystems(); @@ -536,7 +536,7 @@ unittest } } -string getStatus(JSONValue pkg, string key) +string getStatus(JSONValue pkg, string key, bool isInitial) { if (key in pkg) { @@ -544,7 +544,7 @@ string getStatus(JSONValue pkg, string key) { return "[✅ cached](" ~ pkg[key]["cacheUrl"].str ~ ")"; } - else if (params.isInitial) + else if (isInitial) { return "⏳ building..."; } @@ -559,7 +559,10 @@ string getStatus(JSONValue pkg, string key) } } -SummaryTableEntry[] convertNixEvalToTableSummary(Package[] packages) +SummaryTableEntry[] convertNixEvalToTableSummary( + const Package[] packages, + bool isInitial +) { SummaryTableEntry[] tableSummary = packages @@ -574,9 +577,10 @@ SummaryTableEntry[] convertNixEvalToTableSummary(Package[] packages) } SummaryTableEntry entry = { name, { - getStatus(pkg, "x86_64_linux"), getStatus(pkg, "x86_64_darwin") + getStatus(pkg, "x86_64_linux", isInitial), + getStatus(pkg, "x86_64_darwin", isInitial) }, { - getStatus(pkg, "aarch64_darwin") + getStatus(pkg, "aarch64_darwin", isInitial) } }; return entry; @@ -590,7 +594,10 @@ SummaryTableEntry[] convertNixEvalToTableSummary(Package[] packages) @("convertNixEvalToTableSummary/getStatus") unittest { - auto tableSummary = convertNixEvalToTableSummary(cast(Package[]) testPackageArray); + auto tableSummary = convertNixEvalToTableSummary( + testPackageArray, + isInitial: false + ); assert(tableSummary[0].name == testPackageArray[0].name); assert(tableSummary[0].x86_64.linux == "[✅ cached](https://testPackage.com)"); assert(tableSummary[0].x86_64.darwin == "🚫 not supported"); @@ -600,9 +607,10 @@ unittest assert(tableSummary[1].x86_64.darwin == "🚫 not supported"); assert(tableSummary[1].aarch64.darwin == "❌ build failed"); - params.isInitial = true; - tableSummary = convertNixEvalToTableSummary(cast(Package[]) testPackageArray); - params.isInitial = false; + tableSummary = convertNixEvalToTableSummary( + testPackageArray, + isInitial: true + ); assert(tableSummary[0].name == testPackageArray[0].name); assert(tableSummary[0].x86_64.linux == "[✅ cached](https://testPackage.com)"); assert(tableSummary[0].x86_64.darwin == "🚫 not supported"); @@ -621,7 +629,7 @@ void printTableForCacheStatus(Package[] packages) saveGHCIMatrix(packages); } saveCachixDeploySpec(packages); - saveGHCIComment(convertNixEvalToTableSummary(packages)); + saveGHCIComment(convertNixEvalToTableSummary(packages, params.isInitial)); } Package checkPackage(Package pkg) diff --git a/packages/mcl/src/src/mcl/commands/deploy_spec.d b/packages/mcl/src/src/mcl/commands/deploy_spec.d index 077048e9..19b67ad1 100644 --- a/packages/mcl/src/src/mcl/commands/deploy_spec.d +++ b/packages/mcl/src/src/mcl/commands/deploy_spec.d @@ -20,8 +20,6 @@ export void deploy_spec() { const deploySpecFile = resultDir.buildPath("cachix-deploy-spec.json"); - params = parseEnv!Params; - if (!exists(deploySpecFile)) { auto nixosConfigs = flakeAttr("legacyPackages", SupportedSystem.x86_64_linux, "bareMetalMachines")