build-raptor-api 0.114.0 → 0.115.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1,4 +1,8 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
+
/**
|
|
3
|
+
* Represents a union of possible build step types, discriminated by the 'step' field.
|
|
4
|
+
* Each step type contains specific information about different phases of the build process.
|
|
5
|
+
*/
|
|
2
6
|
export declare const Step: z.ZodDiscriminatedUnion<"step", [z.ZodObject<{
|
|
3
7
|
step: z.ZodLiteral<"BUILD_RUN_STARTED">;
|
|
4
8
|
buildRunId: z.ZodString;
|
|
@@ -86,6 +90,24 @@ export declare const Step: z.ZodDiscriminatedUnion<"step", [z.ZodObject<{
|
|
|
86
90
|
testPath: string[];
|
|
87
91
|
verdict: "TEST_PASSED" | "TEST_FAILED" | "TEST_CRASHED" | "TEST_TIMEDOUT";
|
|
88
92
|
durationMillis?: number | undefined;
|
|
93
|
+
}>, z.ZodObject<{
|
|
94
|
+
step: z.ZodLiteral<"TASK_ENDED">;
|
|
95
|
+
/** The fully qualified name of the task (e.g., 'my-module:build') */
|
|
96
|
+
taskName: z.ZodString;
|
|
97
|
+
/** The final verdict that represents whether the task succeeded or failed */
|
|
98
|
+
verdict: z.ZodUnion<[z.ZodLiteral<"OK">, z.ZodLiteral<"FAIL">, z.ZodLiteral<"CRASH">, z.ZodLiteral<"UNKNOWN">]>;
|
|
99
|
+
/** Indicates how the task was processed during the build run */
|
|
100
|
+
executionType: z.ZodUnion<[z.ZodLiteral<"EXECUTED">, z.ZodLiteral<"CACHED">, z.ZodLiteral<"CANNOT_START">, z.ZodLiteral<"UNKNOWN">]>;
|
|
101
|
+
}, "strip", z.ZodTypeAny, {
|
|
102
|
+
step: "TASK_ENDED";
|
|
103
|
+
taskName: string;
|
|
104
|
+
verdict: "OK" | "FAIL" | "CRASH" | "UNKNOWN";
|
|
105
|
+
executionType: "UNKNOWN" | "EXECUTED" | "CACHED" | "CANNOT_START";
|
|
106
|
+
}, {
|
|
107
|
+
step: "TASK_ENDED";
|
|
108
|
+
taskName: string;
|
|
109
|
+
verdict: "OK" | "FAIL" | "CRASH" | "UNKNOWN";
|
|
110
|
+
executionType: "UNKNOWN" | "EXECUTED" | "CACHED" | "CANNOT_START";
|
|
89
111
|
}>, z.ZodObject<{
|
|
90
112
|
step: z.ZodLiteral<"ASSET_PUBLISHED">;
|
|
91
113
|
labels: z.ZodArray<z.ZodString, "many">;
|
|
@@ -135,7 +157,7 @@ export declare const Step: z.ZodDiscriminatedUnion<"step", [z.ZodObject<{
|
|
|
135
157
|
step: z.ZodLiteral<"PUBLIC_FILES">;
|
|
136
158
|
taskName: z.ZodString;
|
|
137
159
|
/**
|
|
138
|
-
* Maps path-in-repo (of "public output" files) to the hash of the
|
|
160
|
+
* Maps path-in-repo (of "public output" files) to the hash of the content of the file.
|
|
139
161
|
*/
|
|
140
162
|
publicFiles: z.ZodRecord<z.ZodString, z.ZodString>;
|
|
141
163
|
}, "strip", z.ZodTypeAny, {
|
|
@@ -239,6 +261,24 @@ export declare const StepByStep: z.ZodArray<z.ZodDiscriminatedUnion<"step", [z.Z
|
|
|
239
261
|
testPath: string[];
|
|
240
262
|
verdict: "TEST_PASSED" | "TEST_FAILED" | "TEST_CRASHED" | "TEST_TIMEDOUT";
|
|
241
263
|
durationMillis?: number | undefined;
|
|
264
|
+
}>, z.ZodObject<{
|
|
265
|
+
step: z.ZodLiteral<"TASK_ENDED">;
|
|
266
|
+
/** The fully qualified name of the task (e.g., 'my-module:build') */
|
|
267
|
+
taskName: z.ZodString;
|
|
268
|
+
/** The final verdict that represents whether the task succeeded or failed */
|
|
269
|
+
verdict: z.ZodUnion<[z.ZodLiteral<"OK">, z.ZodLiteral<"FAIL">, z.ZodLiteral<"CRASH">, z.ZodLiteral<"UNKNOWN">]>;
|
|
270
|
+
/** Indicates how the task was processed during the build run */
|
|
271
|
+
executionType: z.ZodUnion<[z.ZodLiteral<"EXECUTED">, z.ZodLiteral<"CACHED">, z.ZodLiteral<"CANNOT_START">, z.ZodLiteral<"UNKNOWN">]>;
|
|
272
|
+
}, "strip", z.ZodTypeAny, {
|
|
273
|
+
step: "TASK_ENDED";
|
|
274
|
+
taskName: string;
|
|
275
|
+
verdict: "OK" | "FAIL" | "CRASH" | "UNKNOWN";
|
|
276
|
+
executionType: "UNKNOWN" | "EXECUTED" | "CACHED" | "CANNOT_START";
|
|
277
|
+
}, {
|
|
278
|
+
step: "TASK_ENDED";
|
|
279
|
+
taskName: string;
|
|
280
|
+
verdict: "OK" | "FAIL" | "CRASH" | "UNKNOWN";
|
|
281
|
+
executionType: "UNKNOWN" | "EXECUTED" | "CACHED" | "CANNOT_START";
|
|
242
282
|
}>, z.ZodObject<{
|
|
243
283
|
step: z.ZodLiteral<"ASSET_PUBLISHED">;
|
|
244
284
|
labels: z.ZodArray<z.ZodString, "many">;
|
|
@@ -288,7 +328,7 @@ export declare const StepByStep: z.ZodArray<z.ZodDiscriminatedUnion<"step", [z.Z
|
|
|
288
328
|
step: z.ZodLiteral<"PUBLIC_FILES">;
|
|
289
329
|
taskName: z.ZodString;
|
|
290
330
|
/**
|
|
291
|
-
* Maps path-in-repo (of "public output" files) to the hash of the
|
|
331
|
+
* Maps path-in-repo (of "public output" files) to the hash of the content of the file.
|
|
292
332
|
*/
|
|
293
333
|
publicFiles: z.ZodRecord<z.ZodString, z.ZodString>;
|
|
294
334
|
}, "strip", z.ZodTypeAny, {
|
|
@@ -2,6 +2,10 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.StepByStep = exports.Step = void 0;
|
|
4
4
|
const zod_1 = require("zod");
|
|
5
|
+
/**
|
|
6
|
+
* Represents a union of possible build step types, discriminated by the 'step' field.
|
|
7
|
+
* Each step type contains specific information about different phases of the build process.
|
|
8
|
+
*/
|
|
5
9
|
exports.Step = zod_1.z.discriminatedUnion('step', [
|
|
6
10
|
zod_1.z.object({
|
|
7
11
|
step: zod_1.z.literal('BUILD_RUN_STARTED'),
|
|
@@ -42,6 +46,54 @@ exports.Step = zod_1.z.discriminatedUnion('step', [
|
|
|
42
46
|
zod_1.z.literal('TEST_TIMEDOUT'),
|
|
43
47
|
]),
|
|
44
48
|
}),
|
|
49
|
+
/**
|
|
50
|
+
* Indicates the completion of a build task. This step is emitted when a task either completes execution or is
|
|
51
|
+
* determined to be skippable due to caching.
|
|
52
|
+
*
|
|
53
|
+
* @example
|
|
54
|
+
* // Example of a successfully executed task
|
|
55
|
+
* {
|
|
56
|
+
* step: 'TASK_ENDED',
|
|
57
|
+
* taskName: 'webapp:build',
|
|
58
|
+
* verdict: 'OK',
|
|
59
|
+
* executionType: 'EXECUTED'
|
|
60
|
+
* }
|
|
61
|
+
*
|
|
62
|
+
* // Example of a skipped task due to cache hit
|
|
63
|
+
* {
|
|
64
|
+
* step: 'TASK_ENDED',
|
|
65
|
+
* taskName: 'webapp:test',
|
|
66
|
+
* verdict: 'OK',
|
|
67
|
+
* executionType: 'CACHED'
|
|
68
|
+
* }
|
|
69
|
+
*/
|
|
70
|
+
zod_1.z.object({
|
|
71
|
+
step: zod_1.z.literal('TASK_ENDED'),
|
|
72
|
+
/** The fully qualified name of the task (e.g., 'my-module:build') */
|
|
73
|
+
taskName: zod_1.z.string(),
|
|
74
|
+
/** The final verdict that represents whether the task succeeded or failed */
|
|
75
|
+
verdict: zod_1.z.union([
|
|
76
|
+
/** Task executed and completed successfully */
|
|
77
|
+
zod_1.z.literal('OK'),
|
|
78
|
+
/** Task executed but failed with an error code */
|
|
79
|
+
zod_1.z.literal('FAIL'),
|
|
80
|
+
/** Task execution terminated unexpectedly (e.g., ran out of memory) */
|
|
81
|
+
zod_1.z.literal('CRASH'),
|
|
82
|
+
/** Task verdict is indeterminate due to an unexpected failure of the build system */
|
|
83
|
+
zod_1.z.literal('UNKNOWN'),
|
|
84
|
+
]),
|
|
85
|
+
/** Indicates how the task was processed during the build run */
|
|
86
|
+
executionType: zod_1.z.union([
|
|
87
|
+
/** Task was executed in this build run */
|
|
88
|
+
zod_1.z.literal('EXECUTED'),
|
|
89
|
+
/** Task outputs were retrieved from cache without execution */
|
|
90
|
+
zod_1.z.literal('CACHED'),
|
|
91
|
+
/** Task could not be started (typically due to a 'FAIL' verdict in a dependency task) */
|
|
92
|
+
zod_1.z.literal('CANNOT_START'),
|
|
93
|
+
/** Execution type is indeterminate due to an unexpected failure of the build system */
|
|
94
|
+
zod_1.z.literal('UNKNOWN'),
|
|
95
|
+
]),
|
|
96
|
+
}),
|
|
45
97
|
zod_1.z.object({
|
|
46
98
|
step: zod_1.z.literal('ASSET_PUBLISHED'),
|
|
47
99
|
labels: zod_1.z.string().array(),
|
|
@@ -69,10 +121,10 @@ exports.Step = zod_1.z.discriminatedUnion('step', [
|
|
|
69
121
|
step: zod_1.z.literal('PUBLIC_FILES'),
|
|
70
122
|
taskName: zod_1.z.string(),
|
|
71
123
|
/**
|
|
72
|
-
* Maps path-in-repo (of "public output" files) to the hash of the
|
|
124
|
+
* Maps path-in-repo (of "public output" files) to the hash of the content of the file.
|
|
73
125
|
*/
|
|
74
126
|
publicFiles: zod_1.z.record(zod_1.z.string(), zod_1.z.string()),
|
|
75
127
|
}),
|
|
76
128
|
]);
|
|
77
129
|
exports.StepByStep = exports.Step.array();
|
|
78
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
130
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGQtcmFwdG9yLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9idWlsZC1yYXB0b3ItYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZCQUF1QjtBQUV2Qjs7O0dBR0c7QUFDVSxRQUFBLElBQUksR0FBRyxPQUFDLENBQUMsa0JBQWtCLENBQUMsTUFBTSxFQUFFO0lBQy9DLE9BQUMsQ0FBQyxNQUFNLENBQUM7UUFDUCxJQUFJLEVBQUUsT0FBQyxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQztRQUNwQyxVQUFVLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRTtRQUN0QixVQUFVLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtLQUNsQyxDQUFDO0lBQ0YsT0FBQyxDQUFDLE1BQU0sQ0FBQztRQUNQLElBQUksRUFBRSxPQUFDLENBQUMsT0FBTyxDQUFDLGlCQUFpQixDQUFDO0tBQ25DLENBQUM7SUFDRixPQUFDLENBQUMsTUFBTSxDQUFDO1FBQ1AsSUFBSSxFQUFFLE9BQUMsQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUM7UUFDakMsV0FBVyxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7UUFDbEMsUUFBUSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUU7UUFDcEIsTUFBTSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUU7UUFDbEIsUUFBUSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUU7UUFDcEIsTUFBTSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUU7UUFDbEIsS0FBSyxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxLQUFLLEVBQUU7S0FDMUIsQ0FBQztJQUNGLE9BQUMsQ0FBQyxNQUFNLENBQUM7UUFDUCxJQUFJLEVBQUUsT0FBQyxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQztRQUNqQyxXQUFXLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFD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
|
|
@@ -1,22 +1,35 @@
|
|
|
1
1
|
import { Step } from './build-raptor-api';
|
|
2
2
|
/**
|
|
3
3
|
* StepByStepProcessor is a function type for processing build steps in real-time.
|
|
4
|
+
* Each step's details are passed to your processor as it occurs during the build.
|
|
4
5
|
*
|
|
5
6
|
* To use with build-raptor:
|
|
6
|
-
* 1. Create a
|
|
7
|
-
* 2.
|
|
8
|
-
* 3.
|
|
9
|
-
* 4. Export the function as 'processor'.
|
|
7
|
+
* 1. Create a file that imports the necessary types from 'build-raptor-api'
|
|
8
|
+
* 2. Implement and export a function called `processor` matching the `StepByStepProcessor` type
|
|
9
|
+
* 3. The function can be async or sync and should handle the `Step` object according to your needs
|
|
10
10
|
*
|
|
11
|
-
* Example
|
|
11
|
+
* ## Example Implementation (my-step-processor.ts)
|
|
12
12
|
* ```typescript
|
|
13
13
|
* import { Step, StepByStepProcessor } from 'build-raptor-api'
|
|
14
|
-
*
|
|
15
|
-
*
|
|
14
|
+
*
|
|
15
|
+
* export const processor: StepByStepProcessor = async (step: Step) => {
|
|
16
|
+
* // Log step details
|
|
17
|
+
* console.log(`Step "${step.name}" status: ${step.status}`)
|
|
18
|
+
*
|
|
19
|
+
* // Send metrics to monitoring system
|
|
20
|
+
* await sendMetrics({
|
|
21
|
+
* stepName: step.name,
|
|
22
|
+
* duration: step.duration,
|
|
23
|
+
* status: step.status
|
|
24
|
+
* })
|
|
16
25
|
* }
|
|
17
26
|
* ```
|
|
18
27
|
*
|
|
19
|
-
* Usage
|
|
20
|
-
*
|
|
28
|
+
* ## Usage
|
|
29
|
+
* To make build-raptor use your own processor:
|
|
30
|
+
*
|
|
31
|
+
* ```bash
|
|
32
|
+
* build-raptor --step-by-step-processor ./path/to/my-step-processor.js
|
|
33
|
+
* ```
|
|
21
34
|
*/
|
|
22
35
|
export declare type StepByStepProcessor = (step: Step) => void | Promise<void>;
|