GitHub Actions: Test project exporting on CI

This allows finding issues in headless project export early on,
including when exporting for a dedicated server.

We also use this opportunity to check whether the audiovisual output
between the project being run from its files and the exported PCK
matches (it should always be a perfect match, assuming the same GPU
is used for both runs). This can be used to catch audiovisual
discrepancies, which could indicate a bug in the export process.
This commit is contained in:
Hugo Locurcio 2025-07-29 19:46:24 +02:00
parent 377b5a3175
commit 217d93a962
No known key found for this signature in database
GPG key ID: 46ACE49F61685096
3 changed files with 71 additions and 1 deletions

View file

@ -1,5 +1,6 @@
#!/usr/bin/env python3
import os
import sys
if len(sys.argv) < 2:
@ -57,6 +58,12 @@ if file_contents.find("Assertion failed") != -1:
print("ERROR: Assertion failed in project, check execution log for more info")
sys.exit(55)
if os.environ.get("GODOT_CHECK_CI_LOG_ALL_ERRORS"):
# If any occurrence of "ERROR:" is found in the log, we consider it a failure.
if file_contents.find("ERROR:") != -1:
print("ERROR: 'ERROR:' found in log and GODOT_CHECK_CI_LOG_ALL_ERRORS is set.")
sys.exit(56)
# For now Godot leaks a lot of rendering stuff so for now we just show info
# about it and this needs to be re-enabled after fixing this memory leaks.