Skip to content

Conversation

@Yarwin
Copy link
Contributor

@Yarwin Yarwin commented Dec 8, 2025

  • Update demo projects after recent changes in API (Basis::looking_at)
  • Remove runners for macOS x86 (Intel) architecture which are being phased out by GitHub.

@Yarwin Yarwin added tooling CI, build system and other infrastructure outdated-api Update to newer godot-rust versions labels Dec 8, 2025
Copy link
Member

@Bromeon Bromeon left a comment

Choose a reason for hiding this comment

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

Thanks! Nice change to f32 🙂

Copy link
Member

Choose a reason for hiding this comment

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

Our nightly CI doesn't run this example, otherwise this would have caused failed runs. We need to fix this...

In another place I made the same change because CI broke: 44ee5f3

Copy link
Contributor Author

@Yarwin Yarwin Dec 9, 2025

Choose a reason for hiding this comment

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

hmm, that's very weird – from what I see it is being compiled and run 🤔

   Compiling godot v0.4.4 (https://github.com/godot-rust/gdext.git?branch=master#5d4e1a62)
   Compiling rand v0.8.5
   Compiling rand v0.9.2
   Compiling dodge-the-creeps v0.1.0 (/home/runner/work/demo-projects/demo-projects/dodge-the-creeps/rust)
   Compiling net-pong v1.0.0 (/home/runner/work/demo-projects/demo-projects/net-pong/rust)
   Compiling hot-reload v0.1.0 (/home/runner/work/demo-projects/demo-projects/hot-reload/rust)
   Compiling squash-the-creeps v0.1.0 (/home/runner/work/demo-projects/demo-projects/squash-the-creeps/rust)
    Finished `release` profile [optimized] target(s) in 2m 52s

Also net-pong was failing since godot dependency was being built with register-docs 🙃

[1] /lib/x86_64-linux-gnu/libc.so.6(+0x42520) [0x7f5e42842520] (??:0)
[2] HashMap<String, DocData::ClassDoc, HashMapHasherDefault, HashMapComparatorDefault<String, void>, DefaultTypedAllocator<HashMapElement<String, DocData::ClassDoc> > >::operator[](String const&) (/home/runner/work/godot4-nightly/godot4-nightly/core/templates/hash_map.h:561)
[3] DocTools::generate(BitField<DocTools::GenerateFlags>) (/home/runner/work/godot4-nightly/godot4-nightly/editor/doc/doc_tools.cpp:443)
[4] EditorHelp::_gen_extensions_docs() (/home/runner/work/godot4-nightly/godot4-nightly/editor/doc/editor_help.cpp:3098)
[5] void call_with_variant_args_static<>(void (*)(), Variant const**, Callable::CallError&, IndexSequence<>) (/home/runner/work/godot4-nightly/godot4-nightly/core/variant/binder_common.h:699)
[6] void call_with_variant_args_static<>(void (*)(), Variant const**, int, Callable::CallError&) (/home/runner/work/godot4-nightly/godot4-nightly/core/variant/binder_common.h:765)
[7] CallableCustomStaticMethodPointer<void>::call(Variant const**, int, Variant&, Callable::CallError&) const (/home/runner/work/godot4-nightly/godot4-nightly/core/object/callable_method_pointer.h:249)
[8] Callable::callp(Variant const**, int, Variant&, Callable::CallError&) const (/home/runner/work/godot4-nightly/godot4-nightly/core/variant/callable.cpp:57)
[9] CallQueue::_call_function(Callable const&, Variant const*, int, bool) (/home/runner/work/godot4-nightly/godot4-nightly/core/object/message_queue.cpp:221)
[10] CallQueue::flush() (/home/runner/work/godot4-nightly/godot4-nightly/core/object/message_queue.cpp:270)
[11] Main::cleanup(bool) (/home/runner/work/godot4-nightly/godot4-nightly/main/main.cpp:5085)
[12] /home/runner/work/_temp/godot_bin/godot.linuxbsd.editor.dev.x86_64(main+0x264) [0x55ebcf1316bc] (/home/runner/work/godot4-nightly/godot4-nightly/platform/linuxbsd/godot_linuxbsd.cpp:127)
[13] /lib/x86_64-linux-gnu/libc.so.6(+0x29d90) [0x7f5e42829d90] (??:0)
[14] /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0x80) [0x7f5e42829e40] (??:0)
[15] /home/runner/work/_temp/godot_bin/godot.linuxbsd.editor.dev.x86_64(_start+0x25) [0x55ebcf111e55] (??:?)

Copy link
Member

Choose a reason for hiding this comment

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

This line is already fixed in master:

pivot.set_basis(Basis::looking_at(-direction));

I think this PR just targets an older commit, that's why it's not really "fixing" this part.

// so each player sees the motion as smooth and not jerky.
let direction = self.direction;
let translation = direction * (self.speed * delta) as f32;
let translation = direction * (self.speed * delta);
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
let translation = direction * (self.speed * delta);
let translation = direction * self.speed * delta;

- Update demo projects after recent changes in API (`Basis::looking_at`)
- Make sure that all demos use same feature set, so they will behave consistently while sharing dependencies after being built in bulk (for example in the CI).
- Remove runners for macOS x86 (Intel) architecture which are being phased out by GitHub.
@Yarwin Yarwin force-pushed the qol/remove-macos-x86-ci branch from 00847b7 to 72648de Compare December 9, 2025 08:59
Copy link
Member

@Bromeon Bromeon left a comment

Choose a reason for hiding this comment

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

Thanks a lot!

Regarding the dependencies, I just downloaded current master (44ee5f3) and ran cargo build. It compiles some crates twice due to subtly different way of depending...

Compile...
❯ cargo build
   Compiling gdextension-api v0.3.0 (https://github.com/godot-rust/godot4-prebuilt?branch=release-v0.3#f70baca7)
   Compiling proc-macro2 v1.0.103
   Compiling unicode-ident v1.0.22
   Compiling quote v1.0.42
   Compiling regex-syntax v0.8.8
   Compiling nanoserde-derive v0.2.1
   Compiling libc v0.2.178
   Compiling heck v0.5.0
   Compiling godot-bindings v0.4.4 (https://github.com/godot-rust/gdext.git#5d4e1a62)
   Compiling godot-bindings v0.4.4 (https://github.com/godot-rust/gdext.git?branch=master#5d4e1a62)
   Compiling cfg-if v1.0.4
   Compiling unicode-id v0.3.6
   Compiling zerocopy v0.8.31
   Compiling glam v0.30.9
   Compiling markdown v1.0.0-alpha.23
   Compiling getrandom v0.3.4
   Compiling godot-cell v0.4.4 (https://github.com/godot-rust/gdext.git#5d4e1a62)
   Compiling godot-cell v0.4.4 (https://github.com/godot-rust/gdext.git?branch=master#5d4e1a62)
   Compiling nanoserde v0.2.1
   Compiling litrs v1.0.0
   Compiling venial v0.6.1
   Compiling godot-codegen v0.4.4 (https://github.com/godot-rust/gdext.git#5d4e1a62)
   Compiling godot-codegen v0.4.4 (https://github.com/godot-rust/gdext.git?branch=master#5d4e1a62)
   Compiling godot-macros v0.4.4 (https://github.com/godot-rust/gdext.git#5d4e1a62)
   Compiling godot-macros v0.4.4 (https://github.com/godot-rust/gdext.git?branch=master#5d4e1a62)
   Compiling getrandom v0.2.16
   Compiling rand_core v0.9.3
   Compiling rand_core v0.6.4
   Compiling ppv-lite86 v0.2.21
   Compiling regex-automata v0.4.13
   Compiling rand_chacha v0.9.0
   Compiling rand_chacha v0.3.1
   Compiling rand v0.8.5
   Compiling rand v0.9.2
   Compiling regex v1.12.2
   Compiling godot-ffi v0.4.4 (https://github.com/godot-rust/gdext.git?branch=master#5d4e1a62)
   Compiling godot-core v0.4.4 (https://github.com/godot-rust/gdext.git?branch=master#5d4e1a62)
   Compiling godot-ffi v0.4.4 (https://github.com/godot-rust/gdext.git#5d4e1a62)
   Compiling godot-core v0.4.4 (https://github.com/godot-rust/gdext.git#5d4e1a62)
   Compiling godot v0.4.4 (https://github.com/godot-rust/gdext.git#5d4e1a62)
   Compiling godot v0.4.4 (https://github.com/godot-rust/gdext.git?branch=master#5d4e1a62)
   Compiling dodge-the-creeps v0.1.0 (/home/jan/other/rust/demo-projects-anew/dodge-the-creeps/rust)
   Compiling net-pong v1.0.0 (/home/jan/other/rust/demo-projects-anew/net-pong/rust)
   Compiling hot-reload v0.1.0 (/home/jan/other/rust/demo-projects-anew/hot-reload/rust)
   Compiling squash-the-creeps v0.1.0 (/home/jan/other/rust/demo-projects-anew/squash-the-creeps/rust)
    Finished `dev` profile [unoptimized + debuginfo] target(s) in 38.36s

One way would be to use workspace dependencies, but that somewhat defeats the self-containedness of examples. Maybe we better manually align them. We could even do a CI smoke test like printing cargo build output, and see if godot v appears more than once...

Is there a chance that something can remain cached? I don't think a cargo update should change anything?

@Bromeon Bromeon added this pull request to the merge queue Dec 9, 2025
github-merge-queue bot pushed a commit that referenced this pull request Dec 9, 2025
Update demo projects and remove macOS x86 (Intel) from CI
@Bromeon Bromeon removed this pull request from the merge queue due to a manual request Dec 9, 2025
@Bromeon
Copy link
Member

Bromeon commented Dec 9, 2025

Actually, let me try a few more things this evening while master is still "broken" 🤔

@Bromeon Bromeon added this pull request to the merge queue Dec 12, 2025
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks Dec 12, 2025
@Bromeon Bromeon added this pull request to the merge queue Dec 12, 2025
@Bromeon
Copy link
Member

Bromeon commented Dec 12, 2025

net-pong crashes on Linux. CI still succeeds due to retry.

Log:

================================================================
handle_crash: Program crashed with signal 11
Engine version: Godot Engine v4.6.beta.custom_build (1cf31805370716ce8160ddc1394b9820249a21f7)
Dumping the backtrace. Please include this when reporting the bug on: https://github.com/godotengine/godot/issues
[1] /lib/x86_64-linux-gnu/libc.so.6(+0x42520) [0x7f0008642520] (??:0)
[2] HashMap<String, DocData::ClassDoc, HashMapHasherDefault, HashMapComparatorDefault<String, void>, DefaultTypedAllocator<HashMapElement<String, DocData::ClassDoc> > >::operator[](String const&) (/home/runner/work/godot4-nightly/godot4-nightly/core/templates/hash_map.h:561)
[3] DocTools::generate(BitField<DocTools::GenerateFlags>) (/home/runner/work/godot4-nightly/godot4-nightly/editor/doc/doc_tools.cpp:443)
[4] EditorHelp::_gen_extensions_docs() (/home/runner/work/godot4-nightly/godot4-nightly/editor/doc/editor_help.cpp:3098)
[5] void call_with_variant_args_static<>(void (*)(), Variant const**, Callable::CallError&, IndexSequence<>) (/home/runner/work/godot4-nightly/godot4-nightly/core/variant/binder_common.h:699)
[6] void call_with_variant_args_static<>(void (*)(), Variant const**, int, Callable::CallError&) (/home/runner/work/godot4-nightly/godot4-nightly/core/variant/binder_common.h:765)
[7] CallableCustomStaticMethodPointer<void>::call(Variant const**, int, Variant&, Callable::CallError&) const (/home/runner/work/godot4-nightly/godot4-nightly/core/object/callable_method_pointer.h:249)
[8] Callable::callp(Variant const**, int, Variant&, Callable::CallError&) const (/home/runner/work/godot4-nightly/godot4-nightly/core/variant/callable.cpp:57)
[9] CallQueue::_call_function(Callable const&, Variant const*, int, bool) (/home/runner/work/godot4-nightly/godot4-nightly/core/object/message_queue.cpp:221)
[10] CallQueue::flush() (/home/runner/work/godot4-nightly/godot4-nightly/core/object/message_queue.cpp:270)
[11] Main::cleanup(bool) (/home/runner/work/godot4-nightly/godot4-nightly/main/main.cpp:5088)
[12] /home/runner/work/_temp/godot_bin/godot.linuxbsd.editor.dev.x86_64(main+0x264) [0x561985daa73e] (/home/runner/work/godot4-nightly/godot4-nightly/platform/linuxbsd/godot_linuxbsd.cpp:127)
[13] /lib/x86_64-linux-gnu/libc.so.6(+0x29d90) [0x7f0008629d90] (??:0)
[14] /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0x80) [0x7f0008629e40] (??:0)
[15] /home/runner/work/_temp/godot_bin/godot.linuxbsd.editor.dev.x86_64(_start+0x25) [0x561985d8ae55] (??:?)
-- END OF C++ BACKTRACE --
================================================================
timeout: the monitored command dumped core
./.github/other/check-example.sh: line 38:  3311 Aborted                 timeout "$EDITOR_TIMEOUT"s "$GODOT4_BIN" -e --headless --path "$dir" --quit
``

Merged via the queue into godot-rust:master with commit 4af9328 Dec 13, 2025
11 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

outdated-api Update to newer godot-rust versions tooling CI, build system and other infrastructure

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants