mirror of
https://github.com/NixOS/nix.git
synced 2025-12-22 08:51:08 +01:00
This progress on #11896. It introduces some issues temporarily which will be fixed when #11928 is fixed. The SQL tables are left in place because there is no point inducing a migration now, when we will be immediately landing more changes after this that also require schema changes. They will simply be ignored by in this commit, and so all data will be preserved.
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-v2.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.
|