Skip to content

feat: add option to extract downloaded binaries directly in versions folder - #190

Open
pablopenna wants to merge 3 commits into
MakovWait:mainfrom
pablopenna:main
Open

feat: add option to extract downloaded binaries directly in versions folder#190
pablopenna wants to merge 3 commits into
MakovWait:mainfrom
pablopenna:main

Conversation

@pablopenna

Copy link
Copy Markdown

Add option to extract downloaded binaries directly in versions folder. Off by default to keep existing behaviour.

For example, if this option is checked and we download Godot_v4.3.1 it will be downloaded and extracted to /apps/godot/godot_4.3.1.bin instead of /apps/godot/Godot_v4.3.1/godot_4.3.1.bin (as of today).

Also adapted the local editor deletion flow to allow only deleting the editor binary instead of the parent folder (current behaviour).

Screenshot from 2026-07-16 19-08-00 Screenshot from 2026-07-16 19-08-53

pablopenna and others added 3 commits July 16, 2026 19:06
…folder.

Also adapted the local editor deletion flow to allow only deleting the
editor binary instead of the parent folder (current behaviour).
The workflow delegated the build to firebelley/godot-export and was
broken: it installed `wine64`, a package name Ubuntu 24.04 dropped, so
`which wine64` resolved to nothing on ubuntu-latest.

Wine is only needed so Godot can run rcedit to stamp the icon into the
Windows .exe (the preset sets application/modify_resources=true). Godot
logs a missing rcedit as an *info* message rather than an error, so the
broken setup exported "successfully" and shipped an iconless binary on a
green build.

Replace the action with plain shell steps that download Godot and its
export templates, import, export both presets, and create-or-update a
draft release via the preinstalled gh CLI. Notable details:

- Editor settings must be written to editor_settings-4.5.tres; Godot 4.x
  keys them by major.minor and silently ignores editor_settings-4.tres,
  which is what most CI examples write.
- The export template directory is derived from templates/version.txt
  rather than hardcoded, keeping editor and templates in lockstep (4.5.2
  looks for "4.5.2.stable", not "4.5.stable").
- Fail loudly when no wine binary is found, and verify export outputs are
  non-empty, so neither failure mode can ship silently.
- Pin ubuntu-24.04, narrow permissions to contents:write, and add
  workflow_dispatch for building without cutting a tag.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
The export step asserted Godots.console.exe exists, and the packaging
step zipped it. The Windows preset sets debug/export_console_wrapper=1,
which is the "Debug Only" enum value, so --export-release produces the
GUI exe alone and the assertion failed on an otherwise clean build.

Drop the file from both steps and record why it is absent, so shipping
it stays a deliberate preset change (value 2) rather than something
re-added to CI on the assumption Godot emits it.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant