Refactor repo branches to enable good publish process
Closed this issue · 9 comments
We should do some changes:
-
Add/change branches (all of them should be protected and status-checks should be enabled):
-
3.4
(currentlymaster
) -
4.1
(currentlygd4
) -
master
(should be updated to use 4.1 as a start)
-
-
Add a new
workflow
forgh-actions
triggered by a release to publish artifacts based on the Godot version and the version of this module. -
Document the release process
Master should use 4.1 now.
I am testing builds on 4.1 Godot Engine https://github.com/V-Sekai/godot/tree/vsk-javascript-4.1
It fails to build on Linux etc.
modules/javascript/thirdparty/quickjs/quickjs_callable.cpp:30:9: error: member reference base type 'JSValue' (aka 'unsigned long long') is not a structure or union
js_func.u.ptr = p_function.javascript_object;
~~~~~~~^~
modules/javascript/thirdparty/quickjs/quickjs_callable.cpp:31:9: error: member reference base type 'JSValue' (aka 'unsigned long long') is not a structure or union
js_func.tag = JS_TAG_OBJECT;
~~~~~~~^~~~
modules/javascript/thirdparty/quickjs/quickjs_callable.cpp:41:7: error: member reference base type 'JSValue' (aka 'unsigned long long') is not a structure or union
temp.u.ptr = js_function.javascript_object;
~~~~^~
modules/javascript/thirdparty/quickjs/quickjs_callable.cpp:42:7: error: member reference base type 'JSValue' (aka 'unsigned long long') is not a structure or union
temp.tag = JS_TAG_OBJECT;
~~~~^~~~
modules/javascript/thirdparty/quickjs/quickjs_callable.cpp:50:9: error: member reference base type 'JSValue' (aka 'unsigned long long') is not a structure or union
js_func.u.ptr = js_function.javascript_object;
~~~~~~~^~
modules/javascript/thirdparty/quickjs/quickjs_callable.cpp:51:9: error: member reference base type 'JSValue' (aka 'unsigned long long') is not a structure or union
js_func.tag = JS_TAG_OBJECT;
~~~~~~~^~~~
modules/javascript/thirdparty/quickjs/quickjs_callable.cpp:58:9: error: member reference base type 'JSValue' (aka 'unsigned long long') is not a structure or union
js_func.u.ptr = js_function.javascript_object;
~~~~~~~^~
modules/javascript/thirdparty/quickjs/quickjs_callable.cpp:59:9: error: member reference base type 'JSValue' (aka 'unsigned long long') is not a structure or union
js_func.tag = JS_TAG_OBJECT;
~~~~~~~^~~~
modules/javascript/thirdparty/quickjs/quickjs_callable.cpp:72:9: error: member reference base type 'JSValue' (aka 'unsigned long long') is not a structure or union
js_func.tag = JS_TAG_OBJECT;
~~~~~~~^~~~
modules/javascript/thirdparty/quickjs/quickjs_callable.cpp:73:9: error: member reference base type 'JSValue' (aka 'unsigned long long') is not a structure or union
js_func.u.ptr = js_function.javascript_object;
~~~~~~~^~
10 errors generated.
scons: *** [modules/javascript/thirdparty/quickjs/quickjs_callable.android.template_release.arm32.o] Error 1
modules/javascript/thirdparty/quickjs/quickjs_debugger.cpp:82:24: error: out-of-line definition of 'connect' does not match any declaration in 'QuickJSDebugger'
Error QuickJSDebugger::connect(JSContext *ctx, const String &address) {
^~~~~~~```
Okay, I have several questions:
-
Why did you merge a branch with a failed pipeline into
master
? The master branch should be protected by status checks which can't be bypassed to make sure that there is at least one valid branch. The PR should be reverted until the 4.1 is fixed. -
Before merging
4.1
to master, we should open a new branch3.4
. I don't know if someone is using this version for a "real" project, but we should make sure that we are still aligned with the major versions of godot. -
For https://github.com/V-Sekai/godot, we should make sure that we enable other builds for linux, which require some changes, but this should be another issue.
-
You changed/reverted a lot of the branch inside my fork. It's pretty hard to resolve what's going on now. Maybe we can rollback everything to make sure everything is tested?
- The failed pipeline isn't enabled until the ci can be merged. so we cannot see the effects until it is merged
- I'll do that immediately. ✅
- https://github.com/V-Sekai/godot - I had no way of testing this here because of (1), so I did it on the v-sekai orgination branch
- I'll do this in about an hour
a. copy the last 3.4 build to the branch 3.4 ✅
b. the last commit should be 1 commit on top of gd4 next
c. I'll rollback in one hour to this layout:
- previous master -> 3.4
- current master -> 4.1 (I will pretend 4.2 doesn't exist) ✅
- you can look at the gd4 for the commits. let me know if that is ok
To be clear. I'll rollback master to the last 3.4 in an hour.
@nmerget Visual Studio compiler diverged from the godot 3 version and the cicd breaks.
I reverted my initial branch to compare the differences between it and the current master
. And I have some questions:
Why did you change the .github
folder again? Basically dropped all my changes and keep the copy/paste from godotengine. Was this your purpose? Furthermore, the pipeline fails in master because of the wrong indent in this file.
In addition, I'm confused why you kept quickjs/quickjs_callable.cpp in this directory. It would make sense to me to:
- move it to
thirdparty/quickjs
to have everything in one place - create a new directory
bindings
to with another directoryquickjs
so we separatethirdparty
andbindings
--> I think the main task is to fix the pipeline(s) again and align all the branches, and we shouldn't copy/paste things from godotengine unless it makes sense