Skip to main content

Build tool for Godot projects.

Project description

godot-build

Build tool for Godot projects, this makes it easy to do CI/CD.

Features:

  • Export projects: release, debug, pack
  • Use global templates and system installed godot
  • Use local templates and game engine
  • Download the required version of templates and game engine
  • Auto patch export_presets.cfg to use required templates
  • Run tests (GUT support)

Return code is 0 if build/test normally. Else return code is 1.

Warning: support for operating systems other than Linux is not guaranteed and has not been tested!

Install

Required python: >= 3.6

pip install godot-build
# or
yay -S godot-build

Or download source code and run python godot-build/gdbuild.py.

Use

gdbuild -p $PATH_TO_PROJECT -i
# after edit gdbuild.json
gdbuild -p $PATH_TO_PROJECT --test all
gdbuild -p $PATH_TO_PROJECT -o $PATH_TO_BIN_OUTPUT --preset HTML5

More help:

[user@pc gdbuild]$ gdbuild --help
usage: gdbuild --preset HTML5

options:
  -h, --help            show this help message and exit
  -p PATH, --path PATH  path to godot project directory
  -o OUTPUT, --output OUTPUT
                        path to output directory
  --preset PRESET       name of preset
  --pack PACK           export pack (*.pck or *.zip)
  --debug DEBUG         export debug build
  --test {internal,all,command}
                        run test
  -i, --init            initialize gdbuild project
  -d, --download        download engine and templates

Config

gdbuild -p $PATH_TO_PROJECT -i or gdbuild -p $PATH_TO_PROJECT --init will create file gdbuild.json in given path.

Options:

  • engine_url: url for download engine (zip file)
  • templates_url: url for download templatez (tpz or zip file)
  • sha512: hashes for validate downloaded archives (by file name)
  • templates: contains template files by preset name (will use in patch export_presets.cfg)
  • custom: toggle use global (false) or local (true) templates and engine
  • global: global paths to templates and game engine bin
  • version: require version of templates and game engine
  • test_cmd: command for run tests (default setup for GUT)
  • timeout: limit for run build or test in seconds
  • fail_regex: regex for parse failed tests (return code is also will check)
  • cache_dir: path to dir for templates and engines cache store
  • engine_file: name of local (cached) game engine file

Details:

  • engine_url, templates_url, global.templates, engine_file require contains {version} part
  • templates archive is zip archive (*.tpz or *.zip), require contains templates dir
  • game engine archive is zip archive, contains bin file (not in subdirs)
  • test_cmd require {godot} and {path} parts
  • check version: global may differ from local (example: 3.5 is local and 3.5.stable is global, see global.templates path)
  • check repository for more details (version names and sha512 hashes)

License

GNU GPL v3

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

godot-build-0.1.2.tar.gz (7.2 kB view details)

Uploaded Source

Built Distribution

godot_build-0.1.2-py3-none-any.whl (7.7 kB view details)

Uploaded Python 3

File details

Details for the file godot-build-0.1.2.tar.gz.

File metadata

  • Download URL: godot-build-0.1.2.tar.gz
  • Upload date:
  • Size: 7.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.8

File hashes

Hashes for godot-build-0.1.2.tar.gz
Algorithm Hash digest
SHA256 bcb1734ea4c1b5483aa7d04d767b74b5c4a88794bae9bbbeb7e6acf929d85f16
MD5 df3ff5c55fd8f652dfd21f874620b96f
BLAKE2b-256 2a118577cd43b25ec00504368bfbd86d66b47fa76d3fc312c754c88c65cb1747

See more details on using hashes here.

File details

Details for the file godot_build-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: godot_build-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 7.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.8

File hashes

Hashes for godot_build-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 13ae107d7b1e72a6797c4c1a3a5e2a3f988c6454b0697d8f6189117e26f1a4cc
MD5 3abb57426b3cc4bbf92b0c4ea1bd1c0c
BLAKE2b-256 4903777046008337cddd721a5359c70f56c703680a4457bdf46ad2b9c01bcdd3

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page