GitRoot
Craft your forge, Build your project, Grow your community freely
1// SPDX-FileCopyrightText: 2025 Romain Maneschi <romain@gitroot.dev>
2//
3// SPDX-License-Identifier: MIT
4
5@json
6export class Exec {
7 constructor(
8 public build: string, //image docker, path to Dockerfile
9 public reportStats: bool,
10 public cmds: Array<Cmd>,
11 public env: Array<string>,
12 public artifacts: Array<string>,
13 public cache: Array<Cache>,
14 ) {}
15}
16
17@json
18export class Cmd {
19 constructor(
20 public cmd: string,
21 public args: Array<string>,
22 ) {}
23}
24
25@json
26export class Cache {
27 constructor(
28 public key: string,
29 public path: string,
30 public readOnly: bool,
31 ) {}
32}
33
34@json
35export class ExecStatus {
36 constructor(
37 public cmdsExec: Array<string>,
38 public cmdsStatus: Array<u32>,
39 public cmdsLogs: Array<string>,
40 public cmdsStats: Array<CmdStats>,
41 public artifacts: Array<string>,
42 ) {}
43}
44
45@json
46export class CmdStats {
47 constructor(
48 public maxMemoryBytes: u64,
49 public maxThreads: u32,
50 public readBytesTotal: u64,
51 public writeBytesTotal: u64,
52 public totalCPUTimeMs: u64,
53 ) {}
54}