.build.yml
Sourcehut Build Manifest
.build.yml
Validate
Check your file against this schema
Opens the validator with this schema already loaded. Paste your
.build.yml and it validates in your browser — nothing is uploaded.
Reference
Fields
Generated directly from the schema, following local
$refs, to two levels of nesting.
| Field | Type | Description |
|---|---|---|
imagerequired | string | Which OS image to build in. A list of available build images can be found at https://man.sr.ht/builds.sr.ht/compatibility.md |
arch | string | Which architecture to build for. See https://man.sr.ht/builds.sr.ht/compatibility.md for a list of available architectures. |
packages | array<string> | A list of packages to install on the image. For image-specific details, consult https://man.sr.ht/builds.sr.ht/compatibility.md |
repositories | object | A list of extra repositories to enable with the image's package manager. The specific format varies by base image, consult https://man.sr.ht/builds.sr.ht/compatibility.md for details. |
artifacts | array<string> | A list of files to extract from the completed build environment and make available for downloading from the jobs page. Artifacts are only uploaded for successful jobs and are pruned after 90 days. Note that the file names are interpreted |
shell | boolean | Whether to keep the build VM alive after all of the tasks have finished, even if it doesn't fail, so you can SSH in. You can also SSH in before the tasks have finished and tail the output of the build in your terminal. Learn more at |
sources | array<string> | A list of repositories to clone into the home directory of the build user in the build environment. Optionally, prefix the protocol with the source control management scheme, to specify a protocol other than git. To specify a non-default |
tasksrequired | array<object> | A list of scripts to execute in the build environment. Task names must use only lowercase alphanumeric characters, underscores or dashes and must be <=128 characters in length. Tasks are executed in the order specified. Each task is run in |
triggers | array<object> | A list of triggers to execute post-build, which can be used to send emails or do other post-build tasks. Learn more at https://man.sr.ht/builds.sr.ht/triggers.md |
environment | object | A list of key/value pairs for options to set in the build environment via ~/.buildenv |
secrets | array<string> | List of secret UUIDs to be added to the guest during the build. Learn more at https://man.sr.ht/builds.sr.ht/#secrets |
oauth | string | If present, and secrets are enabled for this build, an OAuth 2.0 bearer token is generated for this build with the given string as the list of grants. The acurl command may be used in the task scripts to perform authenticated GraphAL API |
Audit
What we found in this schema
- Declared draft: draft-07
- Validates cleanly against its own meta-schema.
- 14 properties, 100% carrying a description, max nesting depth 6.
Standards
Specification sections for the keywords in this schema
| Keyword | Document | Section |
|---|---|---|
$id | JSON Schema Core, draft 2020-12 | §8.2.1 — The "$id" Keyword |
$schema | JSON Schema Core, draft 2020-12 | §8.1.1 — "$schema" |
additionalProperties | JSON Schema Core, draft 2020-12 | §10.3.2.3 — "additionalProperties" |
description | JSON Schema Validation, draft 2020-12 | §9.1 — "title" and "description" |
enum | JSON Schema Validation, draft 2020-12 | §6.1.2 — "enum" |
examples | JSON Schema Validation, draft 2020-12 | §9.5 — "examples" |
items | JSON Schema Core, draft 2020-12 | §10.3.1.2 — "items" |
minItems | JSON Schema Validation, draft 2020-12 | §6.4.2 — "minItems" |
pattern | JSON Schema Validation, draft 2020-12 | §6.3.3 — "pattern" |
properties | JSON Schema Core, draft 2020-12 | §10.3.2.1 — "properties" |
propertyNames | JSON Schema Core, draft 2020-12 | §10.3.2.4 — "propertyNames" |
required | JSON Schema Validation, draft 2020-12 | §6.5.3 — "required" |
type | JSON Schema Validation, draft 2020-12 | §6.1.1 — "type" |
Documents
- JSON Schema Core, draft 2020-12 — JSON Schema: A Media Type for Describing JSON Documents, A. Wright, H. Andrews, B. Hutton, G. Dennis, Eds., 2022. draft-bhutton-json-schema-01. An expired Internet-Draft with no formal standing in the IETF standards process; it is nonetheless the specification of record for JSON Schema 2020-12, published by json-schema.org.
- JSON Schema Validation, draft 2020-12 — JSON Schema Validation: A Vocabulary for Structural Validation of JSON, A. Wright, H. Andrews, B. Hutton, Eds., 2022.
- RFC 8259 (STD 90) — The JavaScript Object Notation (JSON) Data Interchange Format, T. Bray, Ed., 2017. The format a schema describes.
- RFC 6901 — JavaScript Object Notation (JSON) Pointer. Defines the pointer syntax used by $ref fragments and the ~0 / ~1 escapes.
Source
Attribution
This schema comes from SchemaStore, distributed under the Apache License 2.0. Copyright 2015–present Mads Kristensen and contributors. View the original file. The field table and audit on this page are generated by JSONTools.tools; the schema itself is unmodified.