Skip to content

Conversation

@Bromeon
Copy link
Member

@Bromeon Bromeon commented Jan 4, 2026

I noticed during #1466 that a CI error couldn't be reproduced locally. It was visible in logs, but not obvious to find, as tests kept running after the error. Basically, when GDScript causes a SCRIPT ERROR, this is externally detected (using tee + grep).

So this PR copy-pastes the CI logic to check.sh, with minor changes to fit the local environment. Maybe in the future we can use Logger to detect this from within godot-rust.

@Bromeon Bromeon added this to the 0.5 milestone Jan 4, 2026
@Bromeon Bromeon added quality-of-life No new functionality, but improves ergonomics/internals c: tooling CI, automation, tools labels Jan 4, 2026
@GodotRust
Copy link

API docs are being generated and will be shortly available at: https://godot-rust.github.io/docs/gdext/pr-1468

check.sh Outdated
run "$godotBin" $GODOT_ARGS --path itest/godot --headless -- "[${extraArgs[@]}]"
run cargo build -p itest "${extraCargoArgs[@]}" || return 1

# Below logic to abort immediately if Godot outputs certain keywords (would otherwise fail only in CI).
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
# Below logic to abort immediately if Godot outputs certain keywords (would otherwise fail only in CI).
# Logic to abort immediately if Godot outputs certain keywords (would otherwise fail only in CI).

check.sh Outdated
run cargo build -p itest "${extraCargoArgs[@]}" || return 1

# Below logic to abort immediately if Godot outputs certain keywords (would otherwise fail only in CI).
# Keep in sync with: .github/composite/godot-itest/action.yml (steps "Run Godot integration tests" and "Check for memory leaks")
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
# Keep in sync with: .github/composite/godot-itest/action.yml (steps "Run Godot integration tests" and "Check for memory leaks")
# Keep in sync with: .github/composite/godot-itest/action.yml (steps "Run Godot integration tests" and "Check for memory leaks").

check.sh Outdated
Comment on lines 195 to 199
# * tee: still output logs while scanning for errors
# * grep -q: no output, use exit code 0 if found -> thus also &&
# * pkill: stop Godot execution (since it hangs in headless mode); simple 'head -1' did not work as expected
# since it's not available on Windows, use taskkill in that case.
# * exit: the terminated process would return 143, but this is more explicit and future-proof
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
# * tee: still output logs while scanning for errors
# * grep -q: no output, use exit code 0 if found -> thus also &&
# * pkill: stop Godot execution (since it hangs in headless mode); simple 'head -1' did not work as expected
# since it's not available on Windows, use taskkill in that case.
# * exit: the terminated process would return 143, but this is more explicit and future-proof
# * tee: still output logs while scanning for errors.
# * grep -q: no output, use exit code 0 if found -> thus also &&.
# * pkill: stop Godot execution (since it hangs in headless mode); simple 'head -1' did not work as expected
# since it's not available on Windows, use taskkill in that case.
# * exit: the terminated process would return 143, but this is more explicit and future-proof.

@Bromeon Bromeon force-pushed the qol/check-grep-logs branch from 62ab970 to f7e6173 Compare January 6, 2026 23:27
@Bromeon Bromeon enabled auto-merge January 6, 2026 23:28
@Bromeon Bromeon added this pull request to the merge queue Jan 6, 2026
Merged via the queue into master with commit 3ff933d Jan 6, 2026
20 checks passed
@Bromeon Bromeon deleted the qol/check-grep-logs branch January 6, 2026 23:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

c: tooling CI, automation, tools quality-of-life No new functionality, but improves ergonomics/internals

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants