mirror of
https://github.com/NixOS/nix.git
synced 2025-11-08 19:46:02 +01:00
136 lines
3.5 KiB
YAML
136 lines
3.5 KiB
YAML
"$schema": "http://json-schema.org/draft-04/schema"
|
|
"$id": "https://nix.dev/manual/nix/latest/protocols/json/schema/build-result-v1.json"
|
|
title: Build Result
|
|
description: |
|
|
This schema describes the JSON representation of Nix's `BuildResult` type, which represents the result of building a derivation or substituting store paths.
|
|
|
|
Build results can represent either successful builds (with built outputs) or various types of failures.
|
|
|
|
oneOf:
|
|
- "$ref": "#/$defs/success"
|
|
- "$ref": "#/$defs/failure"
|
|
type: object
|
|
required:
|
|
- success
|
|
- status
|
|
properties:
|
|
timesBuilt:
|
|
type: integer
|
|
minimum: 0
|
|
title: Times built
|
|
description: |
|
|
How many times this build was performed.
|
|
|
|
startTime:
|
|
type: integer
|
|
minimum: 0
|
|
title: Start time
|
|
description: |
|
|
The start time of the build (or one of the rounds, if it was repeated), as a Unix timestamp.
|
|
|
|
stopTime:
|
|
type: integer
|
|
minimum: 0
|
|
title: Stop time
|
|
description: |
|
|
The stop time of the build (or one of the rounds, if it was repeated), as a Unix timestamp.
|
|
|
|
cpuUser:
|
|
type: integer
|
|
minimum: 0
|
|
title: User CPU time
|
|
description: |
|
|
User CPU time the build took, in microseconds.
|
|
|
|
cpuSystem:
|
|
type: integer
|
|
minimum: 0
|
|
title: System CPU time
|
|
description: |
|
|
System CPU time the build took, in microseconds.
|
|
|
|
"$defs":
|
|
success:
|
|
type: object
|
|
title: Successful Build Result
|
|
description: |
|
|
Represents a successful build with built outputs.
|
|
required:
|
|
- success
|
|
- status
|
|
- builtOutputs
|
|
properties:
|
|
success:
|
|
const: true
|
|
title: Success indicator
|
|
description: |
|
|
Always true for successful build results.
|
|
|
|
status:
|
|
type: string
|
|
title: Success status
|
|
description: |
|
|
Status string for successful builds.
|
|
enum:
|
|
- "Built"
|
|
- "Substituted"
|
|
- "AlreadyValid"
|
|
- "ResolvesToAlreadyValid"
|
|
|
|
builtOutputs:
|
|
type: object
|
|
title: Built outputs
|
|
description: |
|
|
A mapping from output names to their build trace entries.
|
|
additionalProperties:
|
|
"$ref": "build-trace-entry-v1.yaml"
|
|
|
|
failure:
|
|
type: object
|
|
title: Failed Build Result
|
|
description: |
|
|
Represents a failed build with error information.
|
|
required:
|
|
- success
|
|
- status
|
|
- errorMsg
|
|
properties:
|
|
success:
|
|
const: false
|
|
title: Success indicator
|
|
description: |
|
|
Always false for failed build results.
|
|
|
|
status:
|
|
type: string
|
|
title: Failure status
|
|
description: |
|
|
Status string for failed builds.
|
|
enum:
|
|
- "PermanentFailure"
|
|
- "InputRejected"
|
|
- "OutputRejected"
|
|
- "TransientFailure"
|
|
- "CachedFailure"
|
|
- "TimedOut"
|
|
- "MiscFailure"
|
|
- "DependencyFailed"
|
|
- "LogLimitExceeded"
|
|
- "NotDeterministic"
|
|
- "NoSubstituters"
|
|
- "HashMismatch"
|
|
|
|
errorMsg:
|
|
type: string
|
|
title: Error message
|
|
description: |
|
|
Information about the error if the build failed.
|
|
|
|
isNonDeterministic:
|
|
type: boolean
|
|
title: Non-deterministic flag
|
|
description: |
|
|
If timesBuilt > 1, whether some builds did not produce the same result.
|
|
|
|
Note that 'isNonDeterministic = false' does not mean the build is deterministic,
|
|
just that we don't have evidence of non-determinism.
|