Skip to content
Docs Validation

Manifest reference

Complete schema for .gridtrue/validate.yaml.

Every field, every default, every constraint. If the manifest contradicts this page, the manifest wins — file a docs bug.

Top-level

version
Integer. Currently 1. Required.
runtimes
Array of runtime definitions. At least one required.
pipelines
Map of profile name to array of steps. Must include at least one profile.
defaults
Optional map of per-step defaults merged into every step.

Runtime definition

yaml
runtimes:
  - id: go                      # referenced from steps
    kind: container             # container | native | vm
    image: ghcr.io/gridtrue/runner-go:1.23@sha256:…   # container only
    sdk: node@22.11.0           # native only
    box: hashicorp/bionic64     # vm only, Vagrant box
    workdir: /workspace         # optional, defaults to /workspace
    mounts:                     # optional extra mounts (container / vm)
      - ~/.cache/go-build: /root/.cache/go-build

Step definition

yaml
pipelines:
  pre-push:
    - runtime: go               # required, references runtimes[].id
      run: go test ./...        # required, shell command
      attest: test:go           # required, predicate name
      paths:                    # optional
        - "services/**/*.go"
      timeout: 5m               # optional, Go duration
      env:                      # optional
        GOFLAGS: "-count=1"
      needs:                    # optional, run after these attest predicates
        - build:go

Profile conventions

ProfileWhen it runsWhat belongs there
pre-commitOn every commit via the pre-commit hook.Fast checks only — formatters, linters, type-checks.
pre-pushOn every push via the pre-push hook.Tests, integration checks, local-deploy validation.
releaseManually, or when a tag is pushed.Final artifact builds, reproducibility checks, provenance generation.