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}