Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
34 changes: 12 additions & 22 deletions packages/mcl/src/src/mcl/commands/ci.d
Original file line number Diff line number Diff line change
Expand Up @@ -25,18 +25,13 @@ export void ci(string[] args)
auto shardMatrix = generateShardMatrix();
foreach (shard; shardMatrix.include)
{
writeln("Shard ", shard.prefix ~ " ", shard.postfix ~ " ", shard.digit);
params.flakePre = shard.prefix;
params.flakePost = shard.postfix;

if (params.flakePre == "")
{
params.flakePre = "checks";
}
if (params.flakePost != "")
{
params.flakePost = "." ~ params.flakePost;
}
string cachixUrl = "https://" ~ params.cachixCache ~ ".cachix.org";
version (AArch64) {
string arch = "aarch64";
Expand All @@ -57,25 +52,20 @@ export void ci(string[] args)

foreach (pkg; matrix)
{
if (pkg.isCached)
{
writeln("Package ", pkg.name, " is cached");
}
else
{
writeln("Package ", pkg.name, " is not cached; building...");
ProcessPipes res = execute!ProcessPipes(["nix", "build", "--json", ".#" ~ pkg.attrPath]);
if (pkg.isCached) continue;

writeln("Package ", pkg.name, " is not cached; building...");
ProcessPipes res = execute!ProcessPipes(["nix", "build", "--json", ".#" ~ pkg.attrPath]);

foreach (line; res.stderr.byLine)
{
"\r".write;
line.write;
}
"".writeln;
auto json = parseJSON(res.stdout.byLine.join("\n").to!string);
auto path = json.array[0]["outputs"]["out"].str;
execute(["cachix", "push", params.cachixCache, path], false, true).writeln;
foreach (line; res.stderr.byLine)
{
"\r".write;
line.write;
}
"".writeln;
auto json = parseJSON(res.stdout.byLine.join("\n").to!string);
auto path = json.array[0]["outputs"]["out"].str;
execute(["cachix", "push", params.cachixCache, path], false, true).writeln;
}

}
Expand Down
5 changes: 3 additions & 2 deletions packages/mcl/src/src/mcl/commands/ci_matrix.d
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ module mcl.commands.ci_matrix;

import std.stdio : writeln, stderr, stdout;
import std.traits : EnumMembers;
import std.string : indexOf, splitLines;
import std.string : indexOf, splitLines, strip;
import std.algorithm : map, filter, reduce, chunkBy, find, any, sort, startsWith, each, canFind, fold;
import std.file : write, readText;
import std.range : array, front, join, split;
Expand Down Expand Up @@ -378,7 +378,8 @@ Package[] nixEvalJobs(string flakeAttrPrefix, string cachixUrl, bool doCheck = t
.filter!(line => !uselessWarnings.any!(w => line.canFind(w)))
.join("\n");

logWarning(stderrLogs);
if (stderrLogs.strip != "")
logWarning(stderrLogs);

int status = wait(pipes.pid);

Expand Down
3 changes: 2 additions & 1 deletion packages/secret/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,8 @@ pkgs.writeShellApplication {
secretsFolder="$machineFolder/secrets/$service"
echo "Re-encripting secrets for service $s"
if [ "$vm" == true ]; then
RULES="$(nix eval --raw ".#nixosConfigurations.$machine.config.virtualisation.vmVariant.mcl.secrets.services.$service.nix-file")"
RULES="$(nix eval --raw ".#nixosConfigurations.''${machine}-vm.config.mcl.secrets.services.$service.nix-file")"
else
RULES="$(nix eval --raw ".#nixosConfigurations.$machine.config.mcl.secrets.services.$service.nix-file")"
fi
Expand Down