Skip to content

Commit 40dac52

Browse files
monyarmPetarKirov
authored andcommitted
feat(mcl): Add commandline argument support
1 parent cd20928 commit 40dac52

File tree

9 files changed

+21
-14
lines changed

9 files changed

+21
-14
lines changed

packages/mcl/src/main.d

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ alias supportedCommands = imported!`std.traits`.AliasSeq!(
1616
cmds.shard_matrix,
1717
cmds.host_info,
1818
cmds.ci,
19-
cmds.machine_create
19+
cmds.machine,
2020
);
2121

2222
int main(string[] args)
@@ -42,7 +42,7 @@ int main(string[] args)
4242
{
4343

4444
infof("Running %s task", cmd.bold);
45-
command();
45+
command(args[2..$]);
4646
infof("Execution Succesfull");
4747
return 0;
4848
}

packages/mcl/src/src/mcl/commands/ci.d

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ import mcl.utils.json : toJSON;
1818

1919
Params params;
2020

21-
export void ci()
21+
export void ci(string[] args)
2222
{
2323
params = parseEnv!Params;
2424

packages/mcl/src/src/mcl/commands/ci_matrix.d

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -149,7 +149,7 @@ shared static this()
149149
params = parseEnv!Params;
150150
}
151151

152-
export void ci_matrix()
152+
export void ci_matrix(string[] args)
153153
{
154154
createResultDirs();
155155
nixEvalForAllSystems().array.printTableForCacheStatus();
@@ -186,7 +186,7 @@ Package[] checkCacheStatus(Package[] packages)
186186
return packages;
187187
}
188188

189-
export void print_table()
189+
export void print_table(string[] args)
190190
{
191191
createResultDirs();
192192

packages/mcl/src/src/mcl/commands/deploy_spec.d

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ import mcl.utils.json : tryDeserializeFromJsonFile, writeJsonFile;
1313

1414
import mcl.commands.ci_matrix : flakeAttr, params, nixEvalJobs, SupportedSystem;
1515

16-
export void deploy_spec()
16+
export void deploy_spec(string[] args)
1717
{
1818
const deploySpecFile = resultDir.buildPath("cachix-deploy-spec.json");
1919

packages/mcl/src/src/mcl/commands/get_fstab.d

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ import mcl.utils.nix : queryStorePath, nix;
1313
import mcl.utils.string : camelCaseToCapitalCase;
1414
import mcl.utils.process : execute;
1515

16-
export void get_fstab()
16+
export void get_fstab(string[] args)
1717
{
1818
const params = parseEnv!Params;
1919
const machineStorePath = getCachixDeploymentStorePath(params);

packages/mcl/src/src/mcl/commands/host_info.d

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ string[string] getProcInfo(string fileOrData, bool file = true)
5959
return r;
6060
}
6161

62-
export void host_info()
62+
export void host_info(string[] args)
6363
{
6464
const Params params = parseEnv!Params;
6565

packages/mcl/src/src/mcl/commands/machine_create.d renamed to packages/mcl/src/src/mcl/commands/machine.d

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
module mcl.commands.machine_create;
1+
module mcl.commands.machine;
22

33
import std;
44
import mcl.utils.log : prompt;
@@ -221,7 +221,7 @@ struct MachineConfiguration
221221
}
222222

223223
void createMachine(MachineType machineType, string machineName, User user) {
224-
auto infoJSON = execute(["ssh", params.sshPath, "sudo nix --experimental-features \\'nix-command flakes\\' --refresh --accept-flake-config run github:metacraft-labs/nixos-modules/feat/machine_create#mcl host_info"],false, false);
224+
auto infoJSON = execute(["ssh", params.sshPath, "sudo nix --experimental-features \\'nix-command flakes\\' --refresh --accept-flake-config run github:metacraft-labs/nixos-modules/#mcl host_info"],false, false);
225225
auto infoJSONParsed = infoJSON.parseJSON;
226226
Info info = infoJSONParsed.fromJSON!Info;
227227

@@ -377,10 +377,17 @@ void createMachineConfiguration()
377377

378378
Params params;
379379

380-
export void machine_create()
380+
export void machine(string[] args)
381381
{
382382
params = parseEnv!Params;
383-
createMachineConfiguration();
383+
switch (args.front)
384+
{
385+
case "create":
386+
createMachineConfiguration();
387+
break;
388+
default:
389+
assert(0, "Unknown machine action: " ~ args.front);
390+
}
384391
}
385392
struct Params
386393
{

packages/mcl/src/src/mcl/commands/package.d

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,4 @@ public import mcl.commands.ci_matrix : ci_matrix, print_table;
66
public import mcl.commands.shard_matrix : shard_matrix;
77
public import mcl.commands.ci : ci;
88
public import mcl.commands.host_info : host_info;
9-
public import mcl.commands.machine_create : machine_create;
9+
public import mcl.commands.machine : machine;

packages/mcl/src/src/mcl/commands/shard_matrix.d

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ import mcl.utils.json : toJSON;
1818
import mcl.utils.nix : nix;
1919
import mcl.utils.path : createResultDirs, resultDir, rootDir;
2020

21-
export void shard_matrix()
21+
export void shard_matrix(string[] args)
2222
{
2323
const params = parseEnv!Params;
2424
auto matrix = generateShardMatrix();

0 commit comments

Comments
 (0)