Skip to main content

Configuration

chauffeur reads two YAML files. build.yml registers builds and their release notes, and can upload symbols and store images. addfiles.yml uploads the files of one platform build. chauffeur genbuild and chauffeur setfiles write starter versions.

Both files start with:

KeyValue
versionv1 (the only version)
specbuild or addfiles
assetThe fields below

Everything is validated locally before chauffeur sends anything; a bad value exits with code 1.

Platform values​

FieldAllowed values
oswindows, macos, linux, android, ios, web. darwin, mac and osx mean macos; win, win32 and win64 mean windows
archx86_64, x86, arm64, arm32, arm, universal, wasm32, wasm. amd64 and x64 mean x86_64; aarch64 means arm64
channel1 to 32 lowercase letters, digits, - or _, starting with a letter or digit. Default stable

build.yml (spec: build)​

KeyTypeRequiredLimit and notes
titlestringyesUp to 255 characters. Shown as the release title
typestringyesBuild type, usually game. asset_type is an old name for it and prints a warning
descriptionstringyesUp to 10,000 characters
versionstringyesUp to 32 characters, for example 1.2.0
engine_versionstringnoBlazium or Godot version the build was made with: 4.3, 4.3.1 or 4.3.0-beta.2. Used by mod compatibility
platformslistnoEach item has os (required), arch (default x86_64) and channel. Each platform becomes its own build with its own build_id
os, arch, channelstringnoA single platform, instead of platforms
videostringnoTrailer or demo URL: http or https, up to 255 characters
changeloglistnoUp to 100 items, each with title and description
symbolsstringnoA .sym file, a folder of .sym files, or a .zip. Needs exactly one platform. See Symbols
media.coverstringnoImage path. Replaces the cover
media.thumbnailstringnoImage path. Replaces the thumbnail
media.gallerylistnoImage paths added to the gallery. With images, at most 20
imageslistnoOlder name for media.gallery

The --os, --arch and --channel flags of chauffeur build replace the file's platforms with one, which suits a CI matrix. --engine-version and --symbols override the file.

Registering the same version, type, OS, arch and channel again updates that build: its title, description and changelog are replaced by the file's.

version: v1
spec: build
asset:
title: "1.2.0: Winter update"
type: game
description: "Snow levels, controller rebinding, and save fixes."
version: 1.2.0
engine_version: "4.3"
platforms:
- os: windows
arch: x86_64
channel: stable
- os: linux
arch: x86_64
channel: stable
video: https://www.youtube.com/watch?v=example
changelog:
- title: "Snow levels"
description: "Three new levels in the north."
- title: "Fixed saves"
description: "Saves no longer corrupt on exit."
media:
cover: art/cover.png
thumbnail: art/thumbnail.png
gallery:
- art/shot1.png
- art/shot2.png

addfiles.yml (spec: addfiles)​

KeyTypeRequiredLimit and notes
typestringyesBuild type, usually game
versionstringyesUp to 32 characters
osstringyesSee platform values
archstringyesSee platform values
channelstringyesSee platform values
engine_versionstringnoAs in build.yml. Used only when addfiles creates the build
symbolsstringnoSymbols to upload for this build after the files
fileslistyesEach item is file: <path>. The files are zipped (up to 5 GB zipped) with their folders kept

If a build with the same version, type, OS, arch and channel exists, for example from chauffeur build, the files are added to it and its notes are kept. Otherwise addfiles creates the build, titled <version> <os>/<arch>.

version: v1
spec: addfiles
asset:
type: game
version: 1.2.0
os: windows
arch: x86_64
channel: stable
symbols: build/symbols
files:
- file: export/windows/MyGame.exe
- file: export/windows/MyGame.pck

chauffeur setfiles --files export/windows --os windows --arch x86_64 --version 1.2.0 writes this file with every file in the folder.