Skip to content

Commit f8e7a54

Browse files
authored
Merge pull request #5 from fluent-ci-templates/feat/pipeline-args
feat: handle pipeline arguments
2 parents 7482980 + 0d38649 commit f8e7a54

File tree

5 files changed

+24
-3
lines changed

5 files changed

+24
-3
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ test(
8383
You can also use this pipeline programmatically:
8484

8585
```ts
86-
import { test, build } from "https://pkg.fluentci.io/nodejs_pipeline@v0.4.2/mod.ts";
86+
import { test, build } from "https://pkg.fluentci.io/nodejs_pipeline@v0.5.0/mod.ts";
8787

8888
await test();
8989
await build();

ci.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import {
22
test,
33
build,
4-
} from "https://pkg.fluentci.io/nodejs_pipeline@v0.4.2/mod.ts";
4+
} from "https://pkg.fluentci.io/nodejs_pipeline@v0.5.0/mod.ts";
55

66
await test();
77
await build();

deno.lock

Lines changed: 5 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

deps.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,8 @@ export {
2626
join,
2727
resolve,
2828
} from "https://deno.land/[email protected]/path/mod.ts";
29+
export { parse } from "https://deno.land/[email protected]/flags/mod.ts";
30+
export { snakeCase, camelCase } from "https://cdn.skypack.dev/lodash";
2931

3032
export * as FluentGitlabCI from "https://deno.land/x/[email protected]/mod.ts";
3133
export * as FluentGithubActions from "https://deno.land/x/[email protected]/mod.ts";

src/dagger/runner.ts

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,17 @@
11
import pipeline from "./pipeline.ts";
2+
import { parse, camelCase, snakeCase } from "../../deps.ts";
23

3-
await pipeline(".", Deno.args);
4+
const args = parse(Deno.args.map((x) => x.split(" ")).flat());
5+
6+
if (!Array.isArray(Deno.args)) {
7+
for (const param of Object.keys(args)
8+
.filter((x) => x !== "_")
9+
.map((x) => snakeCase(x).toUpperCase())) {
10+
Deno.env.set(param, args[camelCase(param)]);
11+
}
12+
}
13+
14+
await pipeline(
15+
".",
16+
Array.isArray(Deno.args) ? Deno.args : (args._ as string[])
17+
);

0 commit comments

Comments
 (0)