Goost Release Notes - goostengine/godot-build-scripts GitHub Wiki

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.

Before build.sh

  1. Clone Goost under custom_modules directory, or update with git pull etc.
    • Update submodules if using git pull!
    • May need to run git clean -fdx, in case you have already built the extension before.
  2. Make temporary local commit, such as: "Bump version to 1.0-stable".
    • Update version goost.py.
    • Update CHANGELOG.md when necessary
  3. 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).
  4. Configure config.sh. Use BUILD_NAME=goost.custom_build if making unofficial Goost build, or BUILD_NAME=goost.official.
  5. Open godot-build-scripts in dedicated terminal and proceed to build.sh instructions below.

build.sh

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.

build_release.sh

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.

After build_release.sh

  1. Push local commit to remote ("Bump version to 1.0-stable" etc).
  2. 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
  3. Make a new <major>.<minor>-gd3 branch if it's a minor update according to SemVer.
  4. Update links on the Goost official website.
  5. Checkout back to the latest development branch (gd3/gd4 etc).
  6. 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.

⚠️ **GitHub.com Fallback** ⚠️