-
Notifications
You must be signed in to change notification settings - Fork 0
Goost Release Notes
The following are some important (internal) release notes used to build customized Godot builds with Goost extension.
The below applies to Fedora 34. Also tested under WSL2 Ubuntu.
- Clone Goost under
custom_modules
directory, or update withgit pull
etc.- Update submodules if using
git pull
! - May need to run
git clean -fdx
, in case you have already built the extension before.
- Update submodules if using
-
Make temporary local commit, such as: "Bump version to 1.0-stable".
- Update version
goost.py
. - Update
CHANGELOG.md
when necessary
- Update version
- Checkout Godot version
cd git
,git checkout <version-stable>
.- Note: The script in Goost does not validate which Godot version is built (was broken/not intuitive, so removed).
- Configure
config.sh
. UseBUILD_NAME=goost.custom_build
if making unofficial Goost build, orBUILD_NAME=goost.official
. - Open
godot-build-scripts
in dedicated terminal and proceed tobuild.sh
instructions below.
Fedora/SELinux: Disable security-enhanced Linux features, otherwise may crash podman:
sudo setenforce 0
Running getenforce
should print Permissive
.
If building on laptop, make sure to disable sleep/suspend/hibernation for long-running builds, change those back once the builds are done:
sudo systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target
sudo systemctl unmask sleep.target suspend.target hibernate.target hybrid-sleep.target
Do make sure that wine is properly configured, both while building containers and using build scripts, otherwise Windows mono builds may silently fail (TODO: not sure if needed since Godot 3.x):
sudo systemctl stop systemd-binfmt
sudo bash -c 'echo ":windows:M::MZ::/usr/bin/wine:" > /proc/sys/fs/binfmt_misc/register'
sudo bash -c 'echo ":windowsPE:M::PE::/usr/bin/wine:" > /proc/sys/fs/binfmt_misc/register'
sudo systemctl start systemd-binfmt
Finally, run:
./build.sh -v <godot_version>
For instance:
./build.sh -v 3.4-stable -b classical
May consider a new builder https://github.com/godotengine/godot-build-scripts/pull/31, but not recommended due to Python issues with long-running scripts.
The version should look like this:
./build-release.sh -v 3.4-stable.goost_v1.0-stable -t 3.4.stable -b classical
Make sure the export template version uses dots, otherwise they will fail to install.
- Push local commit to remote ("Bump version to 1.0-stable" etc).
- Make a release and upload binaries:
- The tag name abides to SemVer in Godot, with the exception that the release must encode Godot version as metadata, like
1.0-stable+3.3.2
- The tag name abides to SemVer in Godot, with the exception that the release must encode Godot version as metadata, like
-
Make a new
<major>.<minor>-gd3
branch if it's a minor update according to SemVer.- Do the same for documentation repository
- Update links on the Goost official website.
- Checkout back to the latest development branch (
gd3
/gd4
etc). - Push a new commit such as "Bump version to 1.1-beta" to initiate new development iteration.
For troubleshooting, see also: https://github.com/godotengine/build-containers/issues/74.