-
-
Notifications
You must be signed in to change notification settings - Fork 26
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add CI to build Linux binaries #5
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Point people upstream
This comment was marked as resolved.
This comment was marked as resolved.
This adds CI to publish Linux builds. How it works: - Export ROTA from source using Godot Engine - Upload that export as a build artifact - On GitHub releases, attach that build artifact to the release Eventually this could be expanded to build a Flatpak, a prerequisite to getting it onto Flathub. I intended to use the [godot-ci GitHub Action](https://github.com/marketplace/actions/godot-ci) for CI, but it doesn't currently support Godot 3.6 (see: abarichello/godot-ci#155). So for now, I'm using [docker.io/smks/godot-ci](https://hub.docker.com/r/smks/godot-ci) which is a container image forked from the former and just updated for 3.6.
Borderless is unexpected on Linux, and explicitly discouraged by the [Flathub Quality Guidelines][1]. This can still be toggled off from the in-game options if players prefer. [1]: https://docs.flathub.org/docs/for-app-authors/metainfo-guidelines/quality-guidelines/#include-window-shadow-and-rounded-corners
cassidyjames
force-pushed
the
linux-ci
branch
from
December 4, 2024 02:57
5576da0
to
3b4e860
Compare
Okay, this is ready for review, now. :) I can work on a Flatpak manifest in a different branch, but this would already make it much easier to get a Flatpak built as-is. |
dbnicholson
reviewed
Dec 4, 2024
Merged
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This adds CI to publish Linux builds. How it works:
Building a Flatpak requires the exported
.pck
file be accessible to flatpak-builder, e.g. at a well-known URL, hence why we use releases instead of the build artifact directly—we want that URL to remain accessible to support reproducible builds. My personal goal is to get ROTA onto Flathub. :)A few notes:
I intended to use the godot-ci GitHub Action for CI, but it doesn't currently support Godot 3.6 (see: Godot 3.6 Support? abarichello/godot-ci#155). So for now, I'm using docker.io/smks/godot-ci which is a container image forked from the former and just updated for 3.6.
I changed the default project setting of
borderless
back tofalse
to default to having window controls on Linux; this is the more expected behavior and recommended by Flathub's Quality Guidelines, though I could revert that and just patch it for the Flatpak itself if preferred.I think this CI could be expanded to also build artifacts of the Windows and HTML5 versions of the game, if that's of interest. I know it's not really necessary since the game is deployed to Itch.io which handles that, too, but I figured I'd mention it.