CI-friendly release-readiness checks for Godot export_presets.cfg files.
Project description
Godot Export Preset Doctor
Release-readiness checks for Godot export_presets.cfg, focused on Android, CI export hygiene, debug flags, signing safety, package identity, ABIs, icons, and missing export paths.
The tool is a companion to export workflows. It does not build the game; it catches risky preset drift before a release job runs godot --headless --export-release.
Use it when a release preset changes, when setting up a new export target, or before cutting a public build from CI.
Install
python -m pip install -e .
From PyPI:
python -m pip install godot-export-preset-doctor
Quick Start
godot-export-doctor C:\Projects\MyGame
godot-export-doctor . --platform Android
godot-export-doctor . --format sarif --output export-doctor.sarif
Use --fail-on none while exploring a report:
godot-export-doctor examples\bad-export-project --fail-on none
Real Workflow: Gate Release Presets In CI
Run the checker before a Godot export step so preset drift fails early:
godot-export-doctor . --platform Android --fail-on warning --format sarif --output reports\export-doctor.sarif
This is especially useful for:
- catching debug flags that were left enabled in release-like presets;
- checking Android package id, version, icon, and ABI readiness;
- spotting local keystore paths or literal credential values before reports are shared;
- confirming export paths exist and match the expected target.
For a first pass on an existing project, avoid failing the build while you review findings:
godot-export-doctor . --platform Android --fail-on none --format json --output reports\export-doctor.json
What It Checks
- Missing
export_presets.cfg. - Missing preset name, platform, or export path.
- Android package id, version code/name, enabled ABI, and launcher icon readiness.
- Release-like presets with debug options enabled.
- Hard-coded password, token, secret, or keystore-like values.
- JSON and SARIF output for scripts and CI.
Configuration
Create .godot-export-doctor.toml:
format = "text"
fail_on = "warning"
platform = "Android"
required_android_abis = ["arm64-v8a"]
CLI flags override config values.
Output
Text:
godot-export-doctor .
JSON:
godot-export-doctor . --format json --output export-report.json
SARIF:
godot-export-doctor . --format sarif --output export-doctor.sarif
CI Example
- run: python -m pip install godot-export-preset-doctor
- run: godot-export-doctor . --platform Android --fail-on warning --format sarif --output reports/export-doctor.sarif
Documentation
- Android release checklist
- Rule reference
- Security guide
- Configuration
- CI integration
- Troubleshooting
Development
python -m pip install -e .
python -m unittest discover -s tests -v
godot-export-doctor examples\bad-export-project --fail-on none
Design Notes
The checker is intentionally static. It reads Godot config files and reports conservative findings that are useful in local development and CI. It does not need the Godot editor, Android SDK, or network access.
Examples and fixtures are generic by design. They should be safe to publish without exposing private project details.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file godot_export_preset_doctor-0.1.2.tar.gz.
File metadata
- Download URL: godot_export_preset_doctor-0.1.2.tar.gz
- Upload date:
- Size: 12.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
47d841c85de7c4b0324f4b752d7170f30de600ddd8c010aa410a02e7032e7741
|
|
| MD5 |
d43fc574e2efb74b64213e918f0af6a5
|
|
| BLAKE2b-256 |
7907002dbfedd5b371723a27840dba2f88abb6b6fd76dd4e6e99d35beaa8a8af
|
Provenance
The following attestation bundles were made for godot_export_preset_doctor-0.1.2.tar.gz:
Publisher:
publish-export-preset-doctor.yml on NonniGB/godot-production-toolkit
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
godot_export_preset_doctor-0.1.2.tar.gz -
Subject digest:
47d841c85de7c4b0324f4b752d7170f30de600ddd8c010aa410a02e7032e7741 - Sigstore transparency entry: 1756264755
- Sigstore integration time:
-
Permalink:
NonniGB/godot-production-toolkit@28f4114c2629affca66fc01d915379b100ca7756 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/NonniGB
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-export-preset-doctor.yml@28f4114c2629affca66fc01d915379b100ca7756 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file godot_export_preset_doctor-0.1.2-py3-none-any.whl.
File metadata
- Download URL: godot_export_preset_doctor-0.1.2-py3-none-any.whl
- Upload date:
- Size: 11.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
51e727ad90c730323262f365f75e9141d492eb14fe3b8870eaaeadd5b9b86833
|
|
| MD5 |
cbcb3280aa5f34c9fa236cadeae450b9
|
|
| BLAKE2b-256 |
ea06f0236b1d9743bb62176b3297c51729b185935532b684109acf4e24754897
|
Provenance
The following attestation bundles were made for godot_export_preset_doctor-0.1.2-py3-none-any.whl:
Publisher:
publish-export-preset-doctor.yml on NonniGB/godot-production-toolkit
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
godot_export_preset_doctor-0.1.2-py3-none-any.whl -
Subject digest:
51e727ad90c730323262f365f75e9141d492eb14fe3b8870eaaeadd5b9b86833 - Sigstore transparency entry: 1756264772
- Sigstore integration time:
-
Permalink:
NonniGB/godot-production-toolkit@28f4114c2629affca66fc01d915379b100ca7756 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/NonniGB
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-export-preset-doctor.yml@28f4114c2629affca66fc01d915379b100ca7756 -
Trigger Event:
workflow_dispatch
-
Statement type: